From 3abf1b690590639e922359c177be6d8889bde181 Mon Sep 17 00:00:00 2001 From: Bagatur <22008038+baskaryan@users.noreply.github.com> Date: Tue, 6 Aug 2024 09:23:43 -0700 Subject: [PATCH] docs: versions sidebar (#25061) --- docs/docs/versions/overview.mdx | 4 +- docs/docs/versions/packages.mdx | 59 --------------------------- docs/docs/versions/release_policy.mdx | 45 ++++++++++++++------ docs/docs/versions/v0_2/index.mdx | 2 +- docs/sidebars.js | 5 +-- docs/vercel.json | 4 ++ 6 files changed, 41 insertions(+), 78 deletions(-) delete mode 100644 docs/docs/versions/packages.mdx diff --git a/docs/docs/versions/overview.mdx b/docs/docs/versions/overview.mdx index 6bc5a32391e..ba8ff22daf8 100644 --- a/docs/docs/versions/overview.mdx +++ b/docs/docs/versions/overview.mdx @@ -1,9 +1,9 @@ --- sidebar_position: 0 -sidebar_label: Overview +sidebar_label: Overview of v0.2 --- -# LangChain over time +# Overview of LangChain v0.2 ## What’s new in LangChain? diff --git a/docs/docs/versions/packages.mdx b/docs/docs/versions/packages.mdx deleted file mode 100644 index 1c48e153786..00000000000 --- a/docs/docs/versions/packages.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -sidebar_position: 3 -sidebar_label: Packages ---- - -# 📕 Package versioning - -As of now, LangChain has an ad hoc release process: releases are cut with high frequency by -a maintainer and published to [PyPI](https://pypi.org/). -The different packages are versioned slightly differently. - -## `langchain-core` - -`langchain-core` is currently on version `0.2.x`. - -As `langchain-core` contains the base abstractions and runtime for the whole LangChain ecosystem, we will communicate any breaking changes with advance notice and version bumps. The exception for this is anything marked with the `beta` decorator (you can see this in the API reference and will see warnings when using such functionality). The reason for beta features is that given the rate of change of the field, being able to move quickly is still a priority. - -Minor version increases will occur for: - -- Breaking changes for any public interfaces marked as `beta`. - -Patch version increases will occur for: - -- Bug fixes -- New features -- Any changes to private interfaces -- Any changes to `beta` features - -## `langchain` - -`langchain` is currently on version `0.2.x` - -Minor version increases will occur for: - -- Breaking changes for any public interfaces NOT marked as `beta`. - -Patch version increases will occur for: - -- Bug fixes -- New features -- Any changes to private interfaces -- Any changes to `beta` features. - -## `langchain-community` - -`langchain-community` is currently on version `0.2.x` - -The versions will increase following the same guidelines as `langchain`. - -## `langchain-experimental` - -`langchain-experimental` is currently on version `0.0.x` - -All changes will be accompanied by a patch version increase. - -## Partner Packages - -Partner packages are versioned independently. - diff --git a/docs/docs/versions/release_policy.mdx b/docs/docs/versions/release_policy.mdx index b0e27d47def..aa6278382af 100644 --- a/docs/docs/versions/release_policy.mdx +++ b/docs/docs/versions/release_policy.mdx @@ -1,42 +1,61 @@ --- sidebar_position: 2 -sidebar_label: Release Policy +sidebar_label: Release policy --- -# LangChain releases +# LangChain release policy The LangChain ecosystem is composed of different component packages (e.g., `langchain-core`, `langchain`, `langchain-community`, `langgraph`, `langserve`, partner packages etc.) ## Versioning -### `langchain` and `langchain-core` +### `langchain`, `langchain-core`, and integration packages -`langchain` and `langchain-core` follow [semantic versioning](https://semver.org/) in the format of 0.**Y**.**Z**. The packages are under rapid development, and so are currently versioning the packages with a major version of 0. +`langchain`, `langchain-core`, `langchain-text-splitters`, and integration packages (`langchain-openai`, `langchain-anthropic`, etc.) follow [semantic versioning](https://semver.org/) in the format of 0.**Y**.**Z**. The packages are under rapid development, and so are currently versioning the packages with a major version of 0. Minor version increases will occur for: -- Breaking changes for any public interfaces marked as `beta`. +- Breaking changes for any public interfaces *not* marked as `beta`. Patch version increases will occur for: -- Bug fixes -- New features -- Any changes to private interfaces -- Any changes to `beta` features +- Bug fixes, +- New features, +- Any changes to private interfaces, +- Any changes to `beta` features. When upgrading between minor versions, users should review the list of breaking changes and deprecations. From time to time, we will version packages as **release candidates**. These are versions that are intended to be released as stable versions, but we want to get feedback from the community before doing so. Release candidates will be versioned as 0.**Y**.**Z**rc**N**. For example, 0.2.0rc1. If no issues are found, the release candidate will be released as a stable version with the same version number. If issues are found, we will release a new release candidate with an incremented `N` value (e.g., 0.2.0rc2). -### Other packages in the langchain ecosystem +### `langchain-community` -Other packages in the ecosystem (including user packages) can follow a different versioning scheme, but are generally expected to pin to specific minor versions of `langchain` and `langchain-core`. +`langchain-community` is currently on version `0.2.x`. + +Minor version increases will occur for: + +- Updates to the major/minor versions of required `langchain-x` dependencies. E.g., when updating the required version of `langchain-core` from `^0.2.x` to `0.3.0`. + +Patch version increases will occur for: + +- Bug fixes, +- New features, +- Any changes to private interfaces, +- Any changes to `beta` features, +- Breaking changes to integrations to reflect breaking changes in the third-party service. + +Whenever possible we will avoid making breaking changes in patch versions. +However, if an external API makes a breaking change then breaking changes to the corresponding `langchain-community` integration can occur in a patch version. + +### `langchain-experimental` + +`langchain-experimental` is currently on version `0.0.x`. All changes will be accompanied with patch version increases. ## Release cadence -We expect to space out **minor** releases (e.g., from 0.2.0 to 0.3.0) of `langchain` and `langchain-core` by at least 2-3 months, as such releases may contain breaking changes. +We expect to space out **minor** releases (e.g., from 0.2.x to 0.3.0) of `langchain` and `langchain-core` by at least 2-3 months, as such releases may contain breaking changes. -Patch versions are released frequently as they contain bug fixes and new features. +Patch versions are released frequently, up to a few times per week, as they contain bug fixes and new features. ## API stability diff --git a/docs/docs/versions/v0_2/index.mdx b/docs/docs/versions/v0_2/index.mdx index 8ac34b3fb9e..5a74a3493e4 100644 --- a/docs/docs/versions/v0_2/index.mdx +++ b/docs/docs/versions/v0_2/index.mdx @@ -2,7 +2,7 @@ sidebar_position: 1 --- -# LangChain v0.2 +# Migrating to LangChain v0.2 diff --git a/docs/sidebars.js b/docs/sidebars.js index 78bf2964bb0..b0eafb2b520 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -74,15 +74,14 @@ module.exports = { items: [ "versions/overview", "versions/release_policy", - "versions/packages", { type: 'doc', id: "how_to/pydantic_compatibility", - label: "Pydantic", + label: "Pydantic compatibility", }, { type: "category", - label: "v0.2", + label: "Migrating to v0.2", link: {type: 'doc', id: 'versions/v0_2/index'}, collapsible: false, collapsed: false, diff --git a/docs/vercel.json b/docs/vercel.json index bea5b1fd5df..9ee541e100d 100644 --- a/docs/vercel.json +++ b/docs/vercel.json @@ -22,6 +22,10 @@ } ], "redirects": [ + { + "source": "/v0.2/docs/versions/packages(/?)", + "destination": "/v0.2/docs/versions/release_policy/" + }, { "source": "/v0.2/docs/integrations/llms/llm_caching(/?)", "destination": "/v0.2/docs/integrations/llm_caching/"