Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 4 additions & 18 deletions src/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -145,14 +145,7 @@
"tab": "LangChain",
"pages": [
"oss/python/langchain/overview",
{
"group": "Releases",
"pages": [
"oss/python/releases/langchain-v1",
"oss/python/releases/changelog",
"oss/python/migrate/langchain-v1"
]
},
"oss/python/releases/changelog",
{
"group": "Get started",
"pages": [
Expand Down Expand Up @@ -415,10 +408,10 @@
"group": "Releases",
"pages": [
"oss/python/versioning",
"oss/python/releases/changelog",
{
"group": "Releases",
"pages": [
"oss/python/releases/changelog",
"oss/python/releases/langchain-v1"
]
},
Expand Down Expand Up @@ -488,14 +481,7 @@
"tab": "LangChain",
"pages": [
"oss/javascript/langchain/overview",
{
"group": "Releases",
"pages": [
"oss/javascript/releases/langchain-v1",
"oss/javascript/releases/changelog",
"oss/javascript/migrate/langchain-v1"
]
},
"oss/javascript/releases/changelog",
{
"group": "Get started",
"pages": [
Expand Down Expand Up @@ -792,10 +778,10 @@
"group": "Releases",
"pages": [
"oss/javascript/versioning",
"oss/javascript/releases/changelog",
{
"group": "Releases",
"pages": [
"oss/javascript/releases/changelog",
"oss/javascript/releases/langchain-v1"
]
},
Expand Down
2 changes: 1 addition & 1 deletion src/oss/javascript/migrate/langchain-v1.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: LangChain v1 migration guide
sidebarTitle: Migration guide
sidebarTitle: v1 Migration guide
---

This migration guide outlines the major changes in LangChain v1. To learn more about the new features of v1, see the [introductory post](/oss/releases/langchain-v1).
Expand Down
37 changes: 24 additions & 13 deletions src/oss/javascript/releases/changelog.mdx
Original file line number Diff line number Diff line change
@@ -1,29 +1,40 @@
---
title: Changelog
sidebarTitle: Changelog
description: Log of updates and improvements to LangChain JavaScript/TypeScript
rss: true
---

A chronological log of updates and improvements to LangChain JavaScript.
<Update label="Nov 25, 2025">
## v1.1.0

<Update label="v1.1" description="November 25, 2025">

* [Model profiles](/oss/langchain/models#model-profiles): Chat models now expose supported features and capabilities through a `.profile` getter. These data are derived from [models.dev](https://github.com/sst/models.dev), an open source project providing model capability data.
* [Model retry middleware](/oss/langchain/middleware/built-in#model-retry): New middleware for automatically retrying failed model calls with configurable exponential backoff, improving agent reliability.
* [Content moderation middleware](/oss/langchain/middleware/built-in#content-moderation): OpenAI content moderation middleware for detecting and handling unsafe content in agent interactions. Supports checking user input, model output, and tool results.
* [Summarization middleware](/oss/langchain/middleware/built-in#summarization): Updated to support flexible trigger points using model profiles for context-aware summarization.
* [Structured output](/oss/langchain/structured-output): `ProviderStrategy` support (native structured output) can now be inferred from model profiles.
* [`SystemMessage` for `createAgent`](/oss/langchain/middleware/custom#working-with-system-messages): Support for passing `SystemMessage` instances directly to `createAgent`'s `systemPrompt` parameter and a new `concat` method for extending system messages. Enables advanced features like cache control and structured content blocks.
* [Dynamic system prompt middleware](/oss/langchain/agents#dynamic-system-prompt): Return values from `dynamicSystemPromptMiddleware` are now purely additive. When returning a @[`SystemMessage`] or `string`, they are merged with existing system messages rather than replacing them, making it easier to compose multiple middleware that modify the prompt.
* **Compatibility improvements:** Fixed error handling for Zod v4 validation errors in structured output and tool schemas, ensuring detailed error messages are properly displayed.
* [Model profiles](/oss/langchain/models#model-profiles): Chat models now expose supported features and capabilities through a `.profile` getter. These data are derived from [models.dev](https://models.dev), an open source project providing model capability data.
* [Model retry middleware](/oss/langchain/middleware/built-in#model-retry): New middleware for automatically retrying failed model calls with configurable exponential backoff, improving agent reliability.
* [Content moderation middleware](/oss/langchain/middleware/built-in#content-moderation): OpenAI content moderation middleware for detecting and handling unsafe content in agent interactions. Supports checking user input, model output, and tool results.
* [Summarization middleware](/oss/langchain/middleware/built-in#summarization): Updated to support flexible trigger points using model profiles for context-aware summarization.
* [Structured output](/oss/langchain/structured-output): `ProviderStrategy` support (native structured output) can now be inferred from model profiles.
* [`SystemMessage` for `createAgent`](/oss/langchain/middleware/custom#working-with-system-messages): Support for passing `SystemMessage` instances directly to `createAgent`'s `systemPrompt` parameter and a new `concat` method for extending system messages. Enables advanced features like cache control and structured content blocks.
* [Dynamic system prompt middleware](/oss/langchain/agents#dynamic-system-prompt): Return values from `dynamicSystemPromptMiddleware` are now purely additive. When returning a @[`SystemMessage`] or `string`, they are merged with existing system messages rather than replacing them, making it easier to compose multiple middleware that modify the prompt.
* **Compatibility improvements:** Fixed error handling for Zod v4 validation errors in structured output and tool schemas, ensuring detailed error messages are properly displayed.
</Update>
<Update label="Oct 20, 2025">
## v1.0.0

* [Release notes](/oss/releases/langchain-v1) - Detailed release notes
* [Migration guide](/oss/migrate/langchain-v1) - How to migrate to LangChain v1
</Update>

## Resources

- [V1 Migration guide](/oss/migrate/langchain-v1) - How to migrate to LangChain v1
- [V1 Release notes](/oss/releases/langchain-v1) - Detailed release notes
- [Release policy](/oss/release-policy) - Detailed release policies
- [Versioning](/oss/versioning) - Understanding version numbers
- [Report issues on GitHub](https://github.com/langchain-ai/langchainjs/issues)

## Subscribe

Our changelog includes an RSS feed that can integrate with Slack, email, and other subscription tools to notify you of changes. Some options include:

* [Slack](https://slack.com/help/articles/218688467-Add-RSS-feeds-to-Slack)
* Discord bots like [Readybot](https://readybot.io/) or [RSS Feeds to Discord Bot](https://rss.app/en/bots/rssfeeds-discord-bot)
* [Email](https://zapier.com/apps/email/integrations/rss/1441/send-new-rss-feed-entries-via-email) via Zapier

4 changes: 2 additions & 2 deletions src/oss/javascript/releases/langchain-v1.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: What's new in v1
sidebarTitle: V1 Release Notes
title: What's new in LangChain v1
sidebarTitle: v1 Release Notes
---

**LangChain v1 is a focused, production-ready foundation for building agents.** We've streamlined the framework around three core improvements:
Expand Down
2 changes: 1 addition & 1 deletion src/oss/javascript/releases/langgraph-v1.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: What's new in v1
title: What's new in LangGraph v1
sidebarTitle: Release notes
---

Expand Down
139 changes: 77 additions & 62 deletions src/oss/langchain/models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1204,7 +1204,8 @@ LangChain supports all major model providers, including OpenAI, Anthropic, Googl
<Info> Model profiles require `langchain>=1.1`. </Info>

:::python
LangChain chat models expose supported features and capabilities through a `.profile` attribute:
LangChain chat models can expose a dictionary of supported features and capabilities through a `.profile` attribute:

```python
model.profile
# {
Expand All @@ -1215,67 +1216,76 @@ model.profile
# ...
# }
```
Refer to the full set of fields in the [API reference](https://reference.langchain.com/python/langchain_core/language_models/).

Refer to the full set of fields in the [API reference](https://reference.langchain.com/python/langchain_core/language_models/#langchain_core.language_models.BaseChatModel.profile).

Much of the model profile data is powered by the [models.dev](https://github.com/sst/models.dev) project, an open source initiative that provides model capability data. These data are augmented with additional fields for purposes of use with LangChain. These augmentations are kept aligned with the upstream project as it evolves.

Model profile data allow applications to work around model capabilities dynamically. For example:

1. [Summarization middleware](/oss/langchain/middleware/built-in#summarization) can trigger summarization based on a model's context window size.
2. [Structured output](/oss/langchain/structured-output) strategies in `create_agent` can be inferred automatically (e.g., by checking support for native structured output features).
3. Model inputs can be gated based on supported [modalities](#multimodal) and maximum input tokens.

#### Updating or overwriting profile data
Model profile data can be changed if it is missing, stale, or incorrect.
<Accordion title="Modify profile data">
Model profile data can be changed if it is missing, stale, or incorrect.

**Option 1 (quick fix)**
**Option 1 (quick fix)**

You can instantiate a chat model with any valid profile:
```python
custom_profile = {
"max_input_tokens": 100_000,
"tool_calling": True,
"structured_output": True,
# ...
}
model = init_chat_model("...", profile=custom_profile)
```
You can instantiate a chat model with any valid profile:

The `profile` is also a regular `dict` and can be updated in place. If the model instance is shared, consider using
```python
new_profile = model.profile | {"key": "value"}
model.model_copy(update={"profile": new_profile})
```
to avoid mutating shared state.
```python
custom_profile = {
"max_input_tokens": 100_000,
"tool_calling": True,
"structured_output": True,
# ...
}
model = init_chat_model("...", profile=custom_profile)
```

**Option 2 (fix data upstream)**
The `profile` is also a regular `dict` and can be updated in place. If the model instance is shared, consider using `model_copy` to avoid mutating shared state.

The primary source for the data is the [models.dev](https://models.dev/) project. These data are merged with additional fields and overrides in LangChain [integration packages](/oss/integrations/providers/overview) and are shipped with those packages.
```python
new_profile = model.profile | {"key": "value"}
model.model_copy(update={"profile": new_profile})
```

Model profile data can be updated through the following process:
1. (If needed) update the source data at [models.dev](https://models.dev/) through a pull request to its [repository on Github](https://github.com/sst/models.dev).
2. (If needed) update additional fields and overrides in `langchain_<package>/data/profile_augmentations.toml` through a pull request to the LangChain [integration package](/oss/integrations/providers/overview)`.
3. Use the [langchain-model-profiles](https://pypi.org/project/langchain-model-profiles/) CLI tool to pull the latest data from [models.dev](https://models.dev/), merge in the augmentations and update the profile data:
**Option 2 (fix data upstream)**

```bash
pip install langchain-model-profiles
```
```bash
langchain-profiles refresh --provider <provider> --data-dir <data_dir>
```
That command will:
- Download the latest data for `<provider>` from models.dev
- Merge in augmentations from `profile_augmentations.toml` in `<data_dir>`
- Write the merged profiles to `profiles.py` in `<data_dir>`

Example, from [libs/partners/anthropic](https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic) in the LangChain monorepo:
```bash
uv run --with langchain-model-profiles --provider anthropic --data-dir langchain_anthropic/data
```
The primary source for the data is the [models.dev](https://models.dev/) project. This data is merged with additional fields and overrides in LangChain [integration packages](/oss/integrations/providers/overview) and are shipped with those packages.

Model profile data can be updated through the following process:

1. (If needed) update the source data at [models.dev](https://models.dev/) through a pull request to its [repository on Github](https://github.com/sst/models.dev).
2. (If needed) update additional fields and overrides in `langchain_<package>/data/profile_augmentations.toml` through a pull request to the LangChain [integration package](/oss/integrations/providers/overview)`.
3. Use the [`langchain-model-profiles`](https://pypi.org/project/langchain-model-profiles/) CLI tool to pull the latest data from [models.dev](https://models.dev/), merge in the augmentations and update the profile data:

```bash
pip install langchain-model-profiles
```

```bash
langchain-profiles refresh --provider <provider> --data-dir <data_dir>
```

This command:
- Downloads the latest data for `<provider>` from models.dev
- Merges augmentations from `profile_augmentations.toml` in `<data_dir>`
- Writes merged profiles to `profiles.py` in `<data_dir>`

For example: from [`libs/partners/anthropic`](https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic) in the [LangChain monorepo](https://github.com/langchain-ai/langchain):

```bash
uv run --with langchain-model-profiles --provider anthropic --data-dir langchain_anthropic/data
```
</Accordion>

:::

:::js
LangChain chat models expose supported features and capabilities through a `.profile` property:
LangChain chat models can expose a dictionary of supported features and capabilities through a `.profile` property:

```typescript
model.profile;
// {
Expand All @@ -1286,38 +1296,43 @@ model.profile;
// ...
// }
```

Refer to the full set of fields in the [API reference](https://reference.langchain.com/javascript/interfaces/_langchain_core.language_models_profile.ModelProfile.html).

Much of the model profile data is powered by the [models.dev](https://github.com/sst/models.dev) project, an open source initiative that provides model capability data. These data are augmented with additional fields for purposes of use with LangChain. These augmentations are kept aligned with the upstream project as it evolves.
Much of the model profile data is powered by the [models.dev](https://github.com/sst/models.dev) project, an open source initiative that provides model capability data. This data is augmented with additional fields for purposes of use with LangChain. These augmentations are kept aligned with the upstream project as it evolves.

Model profile data allow applications to work around model capabilities dynamically. For example:

1. [Summarization middleware](/oss/langchain/middleware/built-in#summarization) can trigger summarization based on a model's context window size.
2. [Structured output](/oss/langchain/structured-output) strategies in `createAgent` can be inferred automatically (e.g., by checking support for native structured output features).
3. Model inputs can be gated based on supported [modalities](#multimodal) and maximum input tokens.

#### Updating or overwriting profile data
Model profile data can be changed if it is missing, stale, or incorrect.
<Accordion title="Modify profile data">
Model profile data can be changed if it is missing, stale, or incorrect.

**Option 1 (quick fix)**
**Option 1 (quick fix)**

You can instantiate a chat model with any valid profile:
```typescript
const customProfile = {
maxInputTokens: 100_000,
toolCalling: true,
structuredOutput: true,
// ...
};
const model = initChatModel("...", { profile: customProfile });
```
You can instantiate a chat model with any valid profile:

**Option 2 (fix data upstream)**
```typescript
const customProfile = {
maxInputTokens: 100_000,
toolCalling: true,
structuredOutput: true,
// ...
};
const model = initChatModel("...", { profile: customProfile });
```

**Option 2 (fix data upstream)**

The primary source for the data is the [models.dev](https://models.dev/) project. These data are merged with additional fields and overrides in LangChain [integration packages](/oss/integrations/providers/overview) and are shipped with those packages.
The primary source for the data is the [models.dev](https://models.dev/) project. These data are merged with additional fields and overrides in LangChain [integration packages](/oss/integrations/providers/overview) and are shipped with those packages.

Model profile data can be updated through the following process:
1. (If needed) update the source data at [models.dev](https://models.dev/) through a pull request to its [repository on Github](https://github.com/sst/models.dev).
2. (If needed) update additional fields and overrides in `langchain-<package>/profiles.toml` through a pull request to the LangChain [integration package](/oss/integrations/providers/overview).
Model profile data can be updated through the following process:

1. (If needed) update the source data at [models.dev](https://models.dev/) through a pull request to its [repository on Github](https://github.com/sst/models.dev).
2. (If needed) update additional fields and overrides in `langchain-<package>/profiles.toml` through a pull request to the LangChain [integration package](/oss/integrations/providers/overview).
</Accordion>

:::

Expand Down
4 changes: 2 additions & 2 deletions src/oss/langchain/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebarTitle: Overview

:::python
<Callout icon="bullhorn" color="#DFC5FE" iconType="regular">
**LangChain v1.0 is now available!**
**LangChain v1.x is now available!**

For a complete list of changes and instructions on how to upgrade your code, see the [release notes](/oss/releases/langchain-v1) and [migration guide](/oss/migrate/langchain-v1).

Expand All @@ -15,7 +15,7 @@ sidebarTitle: Overview

:::js
<Callout icon="bullhorn" color="#DFC5FE" iconType="regular">
**LangChain v1.0 is now available!**
**LangChain v1.x is now available!**

For a complete list of changes and instructions on how to upgrade your code, see the [release notes](/oss/releases/langchain-v1) and [migration guide](/oss/migrate/langchain-v1).

Expand Down
2 changes: 1 addition & 1 deletion src/oss/python/migrate/langchain-v1.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: LangChain v1 migration guide
sidebarTitle: Migration guide
sidebarTitle: v1 Migration guide
---

This guide outlines the major changes between [LangChain v1](/oss/releases/langchain-v1) and previous versions.
Expand Down
Loading