LangChain Text Splitters 1.1.3 Released: Dependency Upgrades and Multi-Language Splitting Fixes

langchain-text-splitters 1.1.3 fixes multi-language separators, adds JSON type validation, and restores lazy imports in a low-risk maintenance release.
langchain-text-splitters 1.1.3 is a maintenance release for LangChain's core text splitting component. It fixes separator definitions for Kotlin, Rust, Haskell, C#, and Elixir; adds entry-point type validation to RecursiveJsonSplitter; restores lazy imports for heavy dependencies like torch and nltk; and includes numerous security-related upgrades to tornado, urllib3, and lxml. The type checker has also been migrated from mypy to ty. There are no breaking API changes, making this a safe upgrade for production RAG applications.
The core text processing component of the LangChain ecosystem, langchain-text-splitters, has released version 1.1.3. While this may appear to be a routine patch release, it reflects the LangChain team's ongoing commitment to dependency security, code quality, and multi-language support. For developers building RAG (Retrieval-Augmented Generation) applications, the text splitter is a critical component in the data preprocessing pipeline — and any stability improvement is worth paying attention to.

The Role of Text Splitters in LangChain
langchain-text-splitters is responsible for breaking long documents into text chunks that fit within the context windows of embedding models and large language models. Whether it's recursive character splitting (RecursiveCharacterTextSplitter), splitting by programming language structure, or handling JSON-structured data, this package is an indispensable foundational tool in LangChain's RAG pipeline.
Split quality directly affects retrieval performance: chunks that are too small lose contextual meaning, while chunks that are too large dilute retrieval precision. As a result, how this library defines separators for various programming languages and document formats directly determines the recall performance of downstream applications. Version 1.1.3 addresses several of these details with targeted fixes.
RAG (Retrieval-Augmented Generation) is the dominant paradigm for deploying large language models in production: external knowledge bases are split into text chunks, encoded as vectors, and stored in a vector database. When a user submits a query, relevant chunks are retrieved and inserted into the prompt, and the model then generates a response. Text splitting is the very first step in this pipeline, and its quality has a decisive impact on the ceiling of the entire system. The
RecursiveCharacterTextSplitterprovided bylangchain-text-splittersis the most widely used general-purpose splitter — it recursively attempts to split text by paragraphs, sentences, and words, preserving semantic integrity while staying within the target chunk size. For code files, separators must be defined according to language syntax (function definitions, class declarations, block boundaries) to avoid splitting a single function across two chunks — which is exactly the problem this release addresses.
Core Fixes in This Release
Based on the commit history, 1.1.3 contains several substantive functional fixes relative to 1.1.2 — not just dependency updates:
Multi-Language Separator Corrections
This version fixes incorrect separator definitions for several programming languages:
- Removed invalid and duplicate separators in Kotlin, Rust, and Haskell (#37039)
- Removed incorrect separator keywords in C# and Elixir (#37037)
These corrections directly impact the quality of language-structure-based code splitting. Incorrect or duplicate separators can cause code blocks to be split at arbitrary points, breaking the integrity of syntactic units like functions and classes. For use cases involving code repository search or code Q&A with LangChain, these fixes will produce more coherent chunking results.
Type Validation for the JSON Splitter
Another notable fix targets RecursiveJsonSplitter: when the input is a non-dict type that cannot be converted, the splitter will now explicitly raise a TypeError (#39238). This is a defensive programming improvement — rather than letting errors surface in hard-to-debug ways further down the processing chain, the library now fails fast at the entry point, helping developers identify data format issues more quickly.
Lazy Imports for Optional Heavy Dependencies
This version also restores the lazy import mechanism for heavy optional dependencies (#35469). Text splitters may depend on large libraries such as torch, nltk, and lxml. Lazy imports mean these dependencies are only loaded when the related functionality is actually invoked, reducing the package's startup overhead and memory footprint — particularly beneficial for lightweight deployment scenarios.
Lazy importing is a pattern in Python where module loading is deferred: instead of executing
import torchat the top of a module, the import is triggered only when the relevant code path is actually called. The benefit is that users who have installed the baselangchain-text-splitterspackage withouttorchwon't encounter import errors when using splitters that don't depend on torch, and won't incur torch's several-hundred-millisecond initialization cost at process startup. This is especially important for latency-sensitive deployment scenarios like serverless functions and container cold starts. The lazy import mechanism was accidentally reverted in 1.1.2; version 1.1.3 restores it, making this a critical engineering experience fix.
Extensive Dependency Upgrades and Security Maintenance
The largest category of changes in this release is dependency version upgrades (chore(deps)), spanning dozens of PRs. These upgrades cover both direct dependencies and the development toolchain:
- Security-related components: Multiple upgrades to tornado, urllib3, anyio, mistune, lxml, and others — updates to networking and parsing libraries like these frequently include security patches
- Core computation libraries: torch upgraded through 2.9.1, nltk upgraded to 3.10.0
- Toolchain changes: Replaced
mypywithtyfor type checking (#38658), and unified type-checking configuration across the monorepo
Continuous dependency maintenance is an important indicator of an open-source project's health. LangChain uses Dependabot to automatically track upstream security updates, and has hardened version boundaries (#37510), reducing the risk that downstream users are exposed to vulnerabilities in the dependency chain.
Practical Implications for Developers
If your project involves any of the following scenarios, upgrading to 1.1.3 is recommended:
- Using code splitting for Kotlin, Rust, Haskell, C#, or Elixir — the fixes in this release will improve chunking accuracy
- Using
RecursiveJsonSplitterto process structured data — the new type validation helps catch input issues earlier - Caring about dependency security and wanting to stay current with upstream security patches
Overall, 1.1.3 is a maintenance release focused on stability and security, with no breaking API changes and low upgrade risk. For production RAG applications, this type of release can generally be adopted with confidence.
Summary
langchain-text-splitters==1.1.3 is not a major feature release, but it embodies the day-to-day operational logic of a mature open-source project: staying vigilant about dependency security, continuously refining edge-case functionality (such as lesser-used language separators and JSON type validation), and improving the engineering experience through mechanisms like lazy imports. For teams that rely heavily on LangChain, keeping an eye on these seemingly minor version updates is a fundamental practice for ensuring long-term application stability.
Related articles

Felix Rieseberg Personal Homepage
Felix Rieseberg's personal homepage sparks attention on Hacker News. This article covers the Slack engineer's technical background, the rise and fall of nativefier, and the value of a developer homepage as a tech calling card.

@ai-sdk/vue 3.0.306 Patch Release Syncs with [email protected] Update
@ai-sdk/vue 3.0.306 released, synced with [email protected]. A routine patch release for the Vercel AI SDK ecosystem with no public API changes; the Vue adapter layer stays version-aligned with the core package.

Gemini 4 Argon API Launches: The Era of Million-Token Output Begins
Google launches Gemini 4 Argon with sparse MoE architecture, up to 1M output tokens, and a 68.90% Vals Index score, available across API, AI Studio, and the Gemini app.