Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
64dff05
Add AsyncElasticsearchChatMessageHistory to docs
ssh-esh Dec 10, 2025
bbdd758
docs: [LangGraph Server Changelog Bot] Changelog updates for new vers…
samecrowder Dec 10, 2025
32ea9e1
General style and maintainability updates (#1842)
katmayb Dec 10, 2025
956c79e
Control Plane API autogenerate with URL (#1803)
katmayb Dec 10, 2025
2b1f59e
chore(infra): use new labeling workflow to avoid override issues (#1848)
mdrxy Dec 11, 2025
4a6b0fd
docs: [LangGraph Server Changelog Bot] Changelog updates for new vers…
samecrowder Dec 11, 2025
daca69a
oss: improve contributing code guidelines, add escaping for xref (#1850)
mdrxy Dec 11, 2025
2ac57b0
feat: elicitation docs for MCP (#1858)
sydney-runkle Dec 11, 2025
4b0486e
fix: elicitation link (#1859)
sydney-runkle Dec 11, 2025
05e580b
oss(py): fix content arrangement for `ChatAnthropicVertex` (#1861)
mdrxy Dec 11, 2025
05b5cd5
Add OpenSearch to vector stores page (#1863)
lnhsingh Dec 11, 2025
d10284d
oss(py): refine tools page & add callout to tool calling (#1864)
mdrxy Dec 11, 2025
2d24805
add langgraph integrations page (#1867)
lnhsingh Dec 11, 2025
24eae76
Fix CopilotKit link in integrations.mdx (#1871)
lnhsingh Dec 11, 2025
b587878
Update links and icons in all_providers.mdx (#1872)
lnhsingh Dec 11, 2025
df46f71
chore: update LG integrations page (#1873)
hntrl Dec 12, 2025
436856d
docs: [LangGraph Server Changelog Bot] Changelog updates for new vers…
samecrowder Dec 12, 2025
3235823
Add section what agnostic means for deployment (#1857)
katmayb Dec 12, 2025
db3e997
Add callout for auto-upgrade retention on studio experiments (#1854)
katmayb Dec 12, 2025
89641d1
chore: Update Agent ServerOpenAPI spec for API version 0.5.41 (#1879)
hinthornw Dec 12, 2025
60daf3e
Correct plural Deployments in LangSmith Deployment product name (#1882)
katmayb Dec 12, 2025
76a76f3
oss(py): anthropic tool types (#1832)
mdrxy Dec 12, 2025
df312fc
(langchain 1.2) document programmatic tool calling and container reus…
ccurme Dec 12, 2025
336371e
docs: [LangGraph Server Changelog Bot] Changelog updates for new vers…
samecrowder Dec 12, 2025
7b175be
oss(py): fix typo (#1891)
mdrxy Dec 12, 2025
d44b35d
Move changelog to Reference and update the format (#1888)
lnhsingh Dec 12, 2025
fb08a91
Correct tag on changelog (#1893)
katmayb Dec 12, 2025
94aeee4
agents: nitpick (#1894)
ccurme Dec 12, 2025
63c0e66
feat(langchain): add docs on Anthropic native tools (#1731)
christian-bromann Dec 13, 2025
a84c753
fix(langchain): fix toolruntime example (#1896)
christian-bromann Dec 13, 2025
fb5cb0e
fix(langchain): fix JS examples on short term memory page (#1898)
christian-bromann Dec 13, 2025
4039b19
chore: update package download counts (#1904)
github-actions[bot] Dec 15, 2025
627a82c
Align LocalAI docs. (#1897)
mkhludnev Dec 15, 2025
99f0255
fix(docs): remove duplicate text (#1906)
ryancabanas Dec 15, 2025
10dee2e
fix(docs): update import path to use langchain_classic (#1901)
bansalkanav Dec 15, 2025
3754c09
Update useStream docs (#1794)
lnhsingh Dec 15, 2025
630ca8f
(langchain 1.2) document `strict` param for `ProviderStrategy` (#1847)
ccurme Dec 15, 2025
96e4df4
oss(py): show `extras` as `attr` on `BaseTool` (#1908)
mdrxy Dec 15, 2025
9fd642e
add changelog entry for langchain 1.2 (#1909)
ccurme Dec 15, 2025
89eb48b
Revise billing note for predictions in OpenAI integration (#1910)
lnhsingh Dec 15, 2025
84942b3
oss(py): fix `langchain.chains` -> `langchain_classic.chains` (#1912)
mdrxy Dec 15, 2025
698c89a
refs(py): make `langchain-unstructured` work (#1913)
mdrxy Dec 15, 2025
70adb6a
chore(langchain): update changelog (#1911)
christian-bromann Dec 15, 2025
31ce1b5
cr
mdrxy Dec 15, 2025
21b73ff
Merge branch 'main' into ssh-esh-add-chat-history-docs
mdrxy Dec 15, 2025
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
217 changes: 117 additions & 100 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,114 +1,131 @@
# Configuration for GitHub Actions Labeler
# https://github.com/actions/labeler
# Configuration for fuxingloh/multi-labeler
# https://github.com/fuxingloh/multi-labeler

# Label for LangSmith documentation changes
langsmith:
- changed-files:
- any-glob-to-any-file:
- src/langsmith/**
- src/langsmith/**/*
version: v1

# Label for LangGraph documentation changes
langgraph:
- changed-files:
- any-glob-to-any-file:
- src/oss/langgraph/**
- src/oss/langgraph/**/*
labels:
# Label for LangSmith documentation changes
- label: langsmith
sync: true
matcher:
files:
any:
- 'src/langsmith/**'

# Label for LangChain documentation changes
langchain:
- changed-files:
- any-glob-to-any-file:
- src/oss/langchain/**
- src/oss/langchain/**/*
- src/oss/python/**
- src/oss/python/**/*
- src/oss/javascript/**
- src/oss/javascript/**/*
# Label for LangGraph documentation changes
- label: langgraph
sync: true
matcher:
files:
any:
- 'src/oss/langgraph/**'

# Label for OSS documentation changes
oss:
- changed-files:
- any-glob-to-any-file:
- src/oss/**
- src/oss/**/*
# Label for LangChain documentation changes
- label: langchain
sync: true
matcher:
files:
any:
- 'src/oss/langchain/**'
- 'src/oss/python/**'
- 'src/oss/javascript/**'

# Label for Python-specific documentation
python:
- changed-files:
- any-glob-to-any-file:
- src/oss/python/**
- src/oss/python/**/*
- '**/*.py'
# Label for OSS documentation changes
- label: oss
sync: true
matcher:
files:
any:
- 'src/oss/**'

# Label for JavaScript-specific documentation
javascript:
- changed-files:
- any-glob-to-any-file:
- src/oss/javascript/**
- src/oss/javascript/**/*
- '**/*.js'
- '**/*.ts'
# Label for Python-specific documentation
- label: python
sync: true
matcher:
files:
any:
- 'src/oss/python/**'
- '**/*.py'

# Label for reference-specific documentation
reference:
- changed-files:
- any-glob-to-any-file:
- reference/**
- reference/**/*
# Label for JavaScript-specific documentation
- label: javascript
sync: true
matcher:
files:
any:
- 'src/oss/javascript/**'
- '**/*.js'
- '**/*.ts'

# Label for Python reference-specific documentation
python-reference:
- changed-files:
- any-glob-to-any-file:
- reference/python/**
- reference/python/**/*
# Label for reference-specific documentation
- label: reference
sync: true
matcher:
files:
any:
- 'reference/**'

# Label for JS reference-specific documentation
javascript-reference:
- changed-files:
- any-glob-to-any-file:
- reference/javascript/**
- reference/javascript/**/*
# Label for Python reference-specific documentation
- label: python-reference
sync: true
matcher:
files:
any:
- 'reference/python/**'

# Label for build/CI changes
ci:
- changed-files:
- any-glob-to-any-file:
- .github/workflows/**
- .github/actions/**
- Makefile
- pyproject.toml
- package.json
- uv.lock
# Label for JS reference-specific documentation
- label: javascript-reference
sync: true
matcher:
files:
any:
- 'reference/javascript/**'

# Label for documentation infrastructure changes
docs-infra:
- changed-files:
- any-glob-to-any-file:
- pipeline/**
- pipeline/**/*
- scripts/**
- scripts/**/*
# Label for build/CI changes
- label: ci
sync: true
matcher:
files:
any:
- '.github/workflows/**'
- '.github/actions/**'
- 'Makefile'
- 'pyproject.toml'
- 'package.json'
- 'uv.lock'

# Label for test changes
tests:
- changed-files:
- any-glob-to-any-file:
- tests/**
- tests/**/*
- '**/*test*.py'
- '**/*test*.js'
- '**/*test*.ts'
# Label for documentation infrastructure changes
- label: docs-infra
sync: true
matcher:
files:
any:
- 'pipeline/**'
- 'scripts/**'

# Protected labels - managed by tag-external-contributions.yml
# These rules never match, preventing sync-labels from removing them
internal:
- changed-files:
- any-glob-to-any-file:
- '.github/labeler-protected-internal-never-matches'
# Label for test changes
- label: tests
sync: true
matcher:
files:
any:
- 'tests/**'
- '**/*test*.py'
- '**/*test*.js'
- '**/*test*.ts'

external:
- changed-files:
- any-glob-to-any-file:
- '.github/labeler-protected-external-never-matches'
# Protected labels - managed by tag-external-contributions.yml
# sync: false means these labels will NEVER be removed by this action
- label: internal
sync: false
matcher:
files:
any:
- '.github/labeler-protected-internal-never-matches'

- label: external
sync: false
matcher:
files:
any:
- '.github/labeler-protected-external-never-matches'
6 changes: 3 additions & 3 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Label PR based on file paths
uses: actions/labeler@v6
uses: fuxingloh/multi-labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
sync-labels: true # Remove labels when files no longer match
github-token: ${{ secrets.GITHUB_TOKEN }}
config-path: .github/labeler.yml
20 changes: 16 additions & 4 deletions pipeline/preprocessors/handle_auto_links.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def _transform_link(
CROSS_REFERENCE_PATTERN = re.compile(
r"""
(?: # Non-capturing group for two possible formats:
@\[ # @ symbol followed by opening bracket for title
(?<!\\)@\[ # @ symbol (not preceded by backslash) followed by opening bracket
(?P<title>[^\]]+) # Custom title - one or more non-bracket characters
\] # Closing bracket for title
\[ # Opening bracket for link name
Expand All @@ -109,7 +109,7 @@ def _transform_link(
(?(backtick_with_title)`|) # Closing backtick if opening backtick present
\] # Closing bracket for link name
| # OR
@\[ # @ symbol followed by opening bracket
(?<!\\)@\[ # @ symbol (not preceded by backslash) followed by opening bracket
(?P<backtick>`)? # Optional backtick before link name
(?P<link_name>[^`\]]+) # Link name - non-backtick/bracket characters
(?(backtick)`|) # Closing backtick if opening backtick present
Expand Down Expand Up @@ -161,20 +161,29 @@ def replace_autolinks(
based on the current conditional fence scope. Conditional fences use the
syntax :::language to define scope boundaries.

Escaped autolinks (with backslash) are preserved as literal text:
\@[StateGraph] will appear as @[StateGraph] in the output without transformation.

Args:
markdown: The markdown content to process.
file_path: The file path for error reporting.
default_scope: The default scope to use if no scope is matched.

Returns:
Processed markdown content with @[references] transformed to proper
markdown links or left unchanged if not found.
markdown links or left unchanged if not found. Escaped references are
unescaped.

Example:
Input:
"@[StateGraph]\\n:::python\\n@[Command]\\n:::\\n"
Output:
"[StateGraph](url)\\n:::python\\n[Command](url)\\n:::\\n"

Input (escaped):
"\\@[StateGraph]"
Output:
"@[StateGraph]"
"""
# Track the current scope context
current_scope = default_scope
Expand All @@ -199,4 +208,7 @@ def replace_autolinks(
)
processed_lines.append(transformed_line)

return "".join(processed_lines)
result = "".join(processed_lines)

# Unescape escaped autolinks by removing the backslash
return re.sub(r"\\(@\[)", r"\1", result)
4 changes: 2 additions & 2 deletions pipeline/tools/partner_pkg_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,8 @@ def table() -> str:
def doc() -> str:
return f"""\
---
title: Integration packages
sidebarTitle: Overview
title: LangChain integrations packages
sidebarTitle: LangChain integrations
mode: "wide"
---
{{/* File generated automatically by pipeline/tools/partner_pkg_table.py */}}
Expand Down
Loading