LangChain Release Policy Overview
The LangChain ecosystem consists of various component packages such as langchain-core
, langchain
, langchain-community
, langgraph
, langserve
, and partner packages. This document outlines the versioning strategy, release cadence, API stability, and deprecation policy for these packages.
Versioning
langchain
, langchain-core
, and Integration Packages
- Semantic Versioning: These packages use semantic versioning in the format of
0.Y.Z
, indicating they are under rapid development with a major version of 0. - Minor Version Increases: Occur for breaking changes in public interfaces not marked as beta.
- Patch Version Increases: Include bug fixes, new features, changes to private interfaces, and changes to beta features.
- Release Candidates: Occasionally, release candidates are issued (e.g.,
0.2.0rc1
). If stable, they become the next stable release; otherwise, a new candidate is released.
langchain-community
- Current Version:
0.2.x
. - Minor Version Increases: For updates to major/minor versions of required dependencies.
- Patch Version Increases: For bug fixes, new features, changes to private interfaces, beta features, and breaking changes due to third-party services.
langchain-experimental
- Current Version:
0.0.x
. - Patch Version Increases: Accompany all changes.
Release Cadence
- Minor Releases: Expected every 2-3 months for
langchain
andlangchain-core
. - Patch Releases: Occur frequently, up to several times a week, for bug fixes and new features.
API Stability
- Commitment: Despite being pre-1.0,
langchain
andlangchain-core
aim to maintain API stability. - Breaking Changes: Result in a minor version bump.
- Bug Fixes/New Features: Result in a patch version bump.
- Deprecation Policy: Features are deprecated only when a better alternative is available and remain for at least two minor releases.
Stability of Other Packages
langchain-community
: More prone to breaking changes due to community contributions.- Partner Packages: May have different stability policies; users should refer to their documentation.
API Stability Definition
- Public APIs: Will not be moved or renamed without backward-compatible aliases.
- New Features: Will not break existing methods.
- Deprecation: Deprecated features remain for at least two minor releases with warnings issued.
APIs Marked as Internal
- Internal APIs: Indicated by documentation or a leading underscore (
_
). - Exception: Methods prefixed with
_
but meant to be overridden are part of the public API.
Deprecation Policy
- Feature Deprecation: Avoided until a better alternative exists. Deprecated features remain for the current and next minor version, potentially longer if non-disruptive.
This policy ensures that users can rely on a stable and predictable development environment while allowing for the rapid evolution of the LangChain ecosystem.