From df3e18d64b273ea30ef2c05f7b70fbe3000c2c48 Mon Sep 17 00:00:00 2001 From: Nick Hollon Date: Fri, 1 May 2026 10:56:41 -0400 Subject: [PATCH] release(core): 1.4.0a2 (#37134) --- .github/workflows/_refresh_model_profiles.yml | 4 +- .github/workflows/_release.yml | 6 +-- .github/workflows/auto-label-by-package.yml | 2 +- .github/workflows/close_unchecked_issues.yml | 4 +- .github/workflows/integration_tests.yml | 2 +- .github/workflows/pr_labeler.yml | 10 ++--- .github/workflows/pr_labeler_backfill.yml | 4 +- .github/workflows/reopen_on_assignment.yml | 2 +- .github/workflows/require_issue_link.yml | 8 ++-- .github/workflows/tag-external-issues.yml | 12 +++--- .github/workflows/v03_api_doc_build.yml | 2 +- libs/core/langchain_core/version.py | 2 +- libs/core/pyproject.toml | 2 +- libs/core/uv.lock | 20 +++++----- libs/langchain/uv.lock | 12 +++--- libs/model-profiles/uv.lock | 6 +-- .../langchain_fireworks/data/_profiles.py | 2 +- .../langchain_mistralai/data/_profiles.py | 38 +++++++++++++++---- .../xai/langchain_xai/data/_profiles.py | 20 ++++++++++ libs/standard-tests/uv.lock | 6 +-- libs/text-splitters/extended_testing_deps.txt | 2 +- 21 files changed, 104 insertions(+), 62 deletions(-) diff --git a/.github/workflows/_refresh_model_profiles.yml b/.github/workflows/_refresh_model_profiles.yml index 947201711d6..0d6f5e1a20f 100644 --- a/.github/workflows/_refresh_model_profiles.yml +++ b/.github/workflows/_refresh_model_profiles.yml @@ -169,14 +169,14 @@ jobs: - name: "🔑 Generate GitHub App token" id: app-token - uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3 with: app-id: ${{ secrets.MODEL_PROFILE_BOT_APP_ID }} private-key: ${{ secrets.MODEL_PROFILE_BOT_PRIVATE_KEY }} - name: "🔀 Create pull request" id: create-pr - uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8 + uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8 with: token: ${{ steps.app-token.outputs.token }} branch: ${{ inputs.pr-branch }} diff --git a/.github/workflows/_release.yml b/.github/workflows/_release.yml index 0ca392531ce..94fe0e35559 100644 --- a/.github/workflows/_release.yml +++ b/.github/workflows/_release.yml @@ -134,7 +134,7 @@ jobs: working-directory: ${{ env.EFFECTIVE_WORKING_DIR }} - name: Upload build - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: name: dist path: ${{ env.EFFECTIVE_WORKING_DIR }}/dist/ @@ -277,7 +277,7 @@ jobs: path: ${{ env.EFFECTIVE_WORKING_DIR }}/dist/ - name: Publish to test PyPI - uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1 + uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1 with: packages-dir: ${{ env.EFFECTIVE_WORKING_DIR }}/dist/ verbose: true @@ -634,7 +634,7 @@ jobs: path: ${{ env.EFFECTIVE_WORKING_DIR }}/dist/ - name: Publish package distributions to PyPI - uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1 + uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1 with: packages-dir: ${{ env.EFFECTIVE_WORKING_DIR }}/dist/ verbose: true diff --git a/.github/workflows/auto-label-by-package.yml b/.github/workflows/auto-label-by-package.yml index a1178f56e8a..a62d2828edd 100644 --- a/.github/workflows/auto-label-by-package.yml +++ b/.github/workflows/auto-label-by-package.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Sync package labels - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const body = context.payload.issue.body || ""; diff --git a/.github/workflows/close_unchecked_issues.yml b/.github/workflows/close_unchecked_issues.yml index d2501848aa9..82d4cb8bd15 100644 --- a/.github/workflows/close_unchecked_issues.yml +++ b/.github/workflows/close_unchecked_issues.yml @@ -39,14 +39,14 @@ jobs: - name: Generate GitHub App token id: app-token - uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3 with: app-id: ${{ secrets.ORG_MEMBERSHIP_APP_ID }} private-key: ${{ secrets.ORG_MEMBERSHIP_APP_PRIVATE_KEY }} - name: Validate issue checkboxes if: steps.app-token.outcome == 'success' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ steps.app-token.outputs.token }} script: | diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 8080f833005..08900c447b2 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -153,7 +153,7 @@ jobs: repository: langchain-ai/langchain-aws path: langchain-aws - name: "🔐 Configure AWS Credentials" - uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6 + uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/pr_labeler.yml b/.github/workflows/pr_labeler.yml index bcdd764ceee..36ee598b41e 100644 --- a/.github/workflows/pr_labeler.yml +++ b/.github/workflows/pr_labeler.yml @@ -56,7 +56,7 @@ jobs: - name: Generate GitHub App token if: github.event.action == 'opened' id: app-token - uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3 with: app-id: ${{ secrets.ORG_MEMBERSHIP_APP_ID }} private-key: ${{ secrets.ORG_MEMBERSHIP_APP_PRIVATE_KEY }} @@ -72,7 +72,7 @@ jobs: - name: Check org membership if: github.event.action == 'opened' id: check-membership - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ steps.app-token.outputs.token }} script: | @@ -86,7 +86,7 @@ jobs: core.setOutput('is-external', isExternal ? 'true' : 'false'); - name: Apply PR labels - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 env: IS_EXTERNAL: ${{ steps.check-membership.outputs.is-external }} with: @@ -180,7 +180,7 @@ jobs: # event fires and triggers require_issue_link.yml. - name: Apply contributor tier label if: github.event.action == 'opened' && steps.check-membership.outputs.is-external == 'true' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ steps.app-token.outputs.token }} script: | @@ -192,7 +192,7 @@ jobs: - name: Add external label if: github.event.action == 'opened' && steps.check-membership.outputs.is-external == 'true' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: # Use App token so the "labeled" event propagates to downstream # workflows (e.g. require_issue_link.yml). Events created by the diff --git a/.github/workflows/pr_labeler_backfill.yml b/.github/workflows/pr_labeler_backfill.yml index 93eb2e53f9d..ad5943b7604 100644 --- a/.github/workflows/pr_labeler_backfill.yml +++ b/.github/workflows/pr_labeler_backfill.yml @@ -30,13 +30,13 @@ jobs: - name: Generate GitHub App token id: app-token - uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3 with: app-id: ${{ secrets.ORG_MEMBERSHIP_APP_ID }} private-key: ${{ secrets.ORG_MEMBERSHIP_APP_PRIVATE_KEY }} - name: Backfill labels on open PRs - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ steps.app-token.outputs.token }} script: | diff --git a/.github/workflows/reopen_on_assignment.yml b/.github/workflows/reopen_on_assignment.yml index 615682183dd..a27bae145be 100644 --- a/.github/workflows/reopen_on_assignment.yml +++ b/.github/workflows/reopen_on_assignment.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Find and reopen matching PRs - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const { owner, repo } = context.repo; diff --git a/.github/workflows/require_issue_link.yml b/.github/workflows/require_issue_link.yml index 36e2a5bcb95..59691cb19c9 100644 --- a/.github/workflows/require_issue_link.yml +++ b/.github/workflows/require_issue_link.yml @@ -50,7 +50,7 @@ jobs: steps: - name: Check for issue link and assignee id: check-link - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const { owner, repo } = context.repo; @@ -283,7 +283,7 @@ jobs: if: >- env.ENFORCE_ISSUE_LINK == 'true' && (steps.check-link.outputs.has-link != 'true' || steps.check-link.outputs.is-assigned != 'true') - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const { owner, repo } = context.repo; @@ -312,7 +312,7 @@ jobs: if: >- env.ENFORCE_ISSUE_LINK == 'true' && steps.check-link.outputs.has-link == 'true' && steps.check-link.outputs.is-assigned == 'true' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const { owner, repo } = context.repo; @@ -366,7 +366,7 @@ jobs: if: >- env.ENFORCE_ISSUE_LINK == 'true' && (steps.check-link.outputs.has-link != 'true' || steps.check-link.outputs.is-assigned != 'true') - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const { owner, repo } = context.repo; diff --git a/.github/workflows/tag-external-issues.yml b/.github/workflows/tag-external-issues.yml index 0ff72a244bd..d67408e4b5f 100644 --- a/.github/workflows/tag-external-issues.yml +++ b/.github/workflows/tag-external-issues.yml @@ -55,7 +55,7 @@ jobs: - name: Generate GitHub App token id: app-token - uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3 with: app-id: ${{ secrets.ORG_MEMBERSHIP_APP_ID }} private-key: ${{ secrets.ORG_MEMBERSHIP_APP_PRIVATE_KEY }} @@ -63,7 +63,7 @@ jobs: - name: Check if contributor is external if: steps.app-token.outcome == 'success' id: check-membership - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ steps.app-token.outputs.token }} script: | @@ -78,7 +78,7 @@ jobs: - name: Apply contributor tier label if: steps.check-membership.outputs.is-external == 'true' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: # GITHUB_TOKEN is fine here — no downstream workflow chains # off tier labels on issues (unlike PRs where App token is @@ -94,7 +94,7 @@ jobs: - name: Add external/internal label if: steps.check-membership.outputs.is-external != '' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -123,13 +123,13 @@ jobs: - name: Generate GitHub App token id: app-token - uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3 with: app-id: ${{ secrets.ORG_MEMBERSHIP_APP_ID }} private-key: ${{ secrets.ORG_MEMBERSHIP_APP_PRIVATE_KEY }} - name: Backfill labels on open issues - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ steps.app-token.outputs.token }} script: | diff --git a/.github/workflows/v03_api_doc_build.yml b/.github/workflows/v03_api_doc_build.yml index 46bd5f3d04d..3650bdcaba6 100644 --- a/.github/workflows/v03_api_doc_build.yml +++ b/.github/workflows/v03_api_doc_build.yml @@ -39,7 +39,7 @@ jobs: - name: "📋 Extract Repository List with yq" id: get-unsorted-repos - uses: mikefarah/yq@17f66dc6c6a177fafd8b71a6abea6d6340aa1e16 # master + uses: mikefarah/yq@cb9793555487aafb501e1a9d85c28b812aeadfab # master with: cmd: | # Extract repos from packages.yml that are in the langchain-ai org diff --git a/libs/core/langchain_core/version.py b/libs/core/langchain_core/version.py index 897ed8bad09..c6a3a4b7d1f 100644 --- a/libs/core/langchain_core/version.py +++ b/libs/core/langchain_core/version.py @@ -1,3 +1,3 @@ """langchain-core version information and utilities.""" -VERSION = "1.4.0a1" +VERSION = "1.4.0a2" diff --git a/libs/core/pyproject.toml b/libs/core/pyproject.toml index 58d94241ee4..3bedd25f9a6 100644 --- a/libs/core/pyproject.toml +++ b/libs/core/pyproject.toml @@ -21,7 +21,7 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", ] -version = "1.4.0a1" +version = "1.4.0a2" requires-python = ">=3.10.0,<4.0.0" dependencies = [ "langsmith>=0.3.45,<1.0.0", diff --git a/libs/core/uv.lock b/libs/core/uv.lock index f7347e1b222..3ce47fabd23 100644 --- a/libs/core/uv.lock +++ b/libs/core/uv.lock @@ -934,7 +934,7 @@ wheels = [ [[package]] name = "jupyterlab" -version = "4.5.0" +version = "4.5.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "async-lru" }, @@ -952,9 +952,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/e5/4fa382a796a6d8e2cd867816b64f1ff27f906e43a7a83ad9eb389e448cd8/jupyterlab-4.5.0.tar.gz", hash = "sha256:aec33d6d8f1225b495ee2cf20f0514f45e6df8e360bdd7ac9bace0b7ac5177ea", size = 23989880, upload-time = "2025-11-18T13:19:00.365Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/22/8440ec827762146e7cdecf04335bd348795899d29dc6ae82238707353a2c/jupyterlab-4.5.7.tar.gz", hash = "sha256:55a9822c4754da305f41e113452c68383e214dcf96de760146af89ce5d5117b0", size = 23992763, upload-time = "2026-04-29T16:43:51.328Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/1e/5a4d5498eba382fee667ed797cf64ae5d1b13b04356df62f067f48bb0f61/jupyterlab-4.5.0-py3-none-any.whl", hash = "sha256:88e157c75c1afff64c7dc4b801ec471450b922a4eae4305211ddd40da8201c8a", size = 12380641, upload-time = "2025-11-18T13:18:56.252Z" }, + { url = "https://files.pythonhosted.org/packages/3d/aa/537b8f7d80e799af19af35fb3ddfc970b951088a13c57dd9387dcfbb7f61/jupyterlab-4.5.7-py3-none-any.whl", hash = "sha256:fba4cb0e2c44a52859669d8c98b45de029d5e515f8407bf8534d2a8fc5f0964d", size = 12450123, upload-time = "2026-04-29T16:43:46.639Z" }, ] [[package]] @@ -995,7 +995,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.4.0a1" +version = "1.4.0a2" source = { editable = "." } dependencies = [ { name = "jsonpatch" }, @@ -1545,7 +1545,7 @@ wheels = [ [[package]] name = "notebook" -version = "7.5.0" +version = "7.5.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-server" }, @@ -1554,9 +1554,9 @@ dependencies = [ { name = "notebook-shim" }, { name = "tornado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/ac/a97041621250a4fc5af379fb377942841eea2ca146aab166b8fcdfba96c2/notebook-7.5.0.tar.gz", hash = "sha256:3b27eaf9913033c28dde92d02139414c608992e1df4b969c843219acf2ff95e4", size = 14052074, upload-time = "2025-11-19T08:36:20.093Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/c2/cf59bd2e6f2c8b976b52477e3e53bf6f97bc714ed046a51821afb428eaee/notebook-7.5.6.tar.gz", hash = "sha256:621174aade80108f0020b0f00738000b215f75fa3cd90771ad7aa0f24536a4e1", size = 14170814, upload-time = "2026-04-30T11:46:26.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/96/00df2a4760f10f5af0f45c4955573cae6189931f9a30265a35865f8c1031/notebook-7.5.0-py3-none-any.whl", hash = "sha256:3300262d52905ca271bd50b22617681d95f08a8360d099e097726e6d2efb5811", size = 14460968, upload-time = "2025-11-19T08:36:15.869Z" }, + { url = "https://files.pythonhosted.org/packages/e9/d6/1fd0646b9bbd9efbb0b8ae21b2325fbef515769a5621c03e31d8eb8da587/notebook-7.5.6-py3-none-any.whl", hash = "sha256:4dde3f8fb55fa8fb7946d58c6e869ce9baf46d00fc070664f62604569d0faca0", size = 14581730, upload-time = "2026-04-30T11:46:22.342Z" }, ] [[package]] @@ -2845,11 +2845,11 @@ wheels = [ [[package]] name = "types-pyyaml" -version = "6.0.12.20250915" +version = "6.0.12.20260408" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522, upload-time = "2025-09-15T03:01:00.728Z" } +sdist = { url = "https://files.pythonhosted.org/packages/74/73/b759b1e413c31034cc01ecdfb96b38115d0ab4db55a752a3929f0cd449fd/types_pyyaml-6.0.12.20260408.tar.gz", hash = "sha256:92a73f2b8d7f39ef392a38131f76b970f8c66e4c42b3125ae872b7c93b556307", size = 17735, upload-time = "2026-04-08T04:30:50.974Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338, upload-time = "2025-09-15T03:00:59.218Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f0/c391068b86abb708882c6d75a08cd7d25b2c7227dab527b3a3685a3c635b/types_pyyaml-6.0.12.20260408-py3-none-any.whl", hash = "sha256:fbc42037d12159d9c801ebfcc79ebd28335a7c13b08a4cfbc6916df78fee9384", size = 20339, upload-time = "2026-04-08T04:30:50.113Z" }, ] [[package]] diff --git a/libs/langchain/uv.lock b/libs/langchain/uv.lock index 13a71068743..94dba4a6c28 100644 --- a/libs/langchain/uv.lock +++ b/libs/langchain/uv.lock @@ -5765,20 +5765,20 @@ wheels = [ [[package]] name = "types-pytz" -version = "2026.1.1.20260304" +version = "2026.1.1.20260408" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fe/56/2f12a15ea8c5615c8fb896c4fbbb527ab1c0f776ed5860c6fc9ec26ea2c7/types_pytz-2026.1.1.20260304.tar.gz", hash = "sha256:0c3542d8e9b0160b424233440c52b83d6f58cae4b85333d54e4f961cf013e117", size = 11198, upload-time = "2026-03-04T03:57:24.445Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/b7/33f5a4f29b1f285b99ff79a607751a7996194cbb98705e331dab7a2daa28/types_pytz-2026.1.1.20260408.tar.gz", hash = "sha256:89b6a34b9198ea2a4b98a9d15cbca987053f52a105fd44f7ce3789cae4349408", size = 10788, upload-time = "2026-04-08T04:28:14.54Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/b8/e77c355f179dc89d44e7ca6dbf7a46e650806df1d356a5462e5829fccea5/types_pytz-2026.1.1.20260304-py3-none-any.whl", hash = "sha256:175332c1cf7bd6b1cc56b877f70bf02def1a3f75e5adcc05385ce2c3c70e6500", size = 10126, upload-time = "2026-03-04T03:57:23.481Z" }, + { url = "https://files.pythonhosted.org/packages/ae/90/12c059e6bb330a22d9cc97daf027ac7fb7f50fbf518e4d88185b4d39120e/types_pytz-2026.1.1.20260408-py3-none-any.whl", hash = "sha256:c7e4dec76221fb7d0c97b91ad8561d689bebe39b6bcb7b728387e7ffd8cde788", size = 10124, upload-time = "2026-04-08T04:28:13.353Z" }, ] [[package]] name = "types-pyyaml" -version = "6.0.12.20250915" +version = "6.0.12.20260408" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522, upload-time = "2025-09-15T03:01:00.728Z" } +sdist = { url = "https://files.pythonhosted.org/packages/74/73/b759b1e413c31034cc01ecdfb96b38115d0ab4db55a752a3929f0cd449fd/types_pyyaml-6.0.12.20260408.tar.gz", hash = "sha256:92a73f2b8d7f39ef392a38131f76b970f8c66e4c42b3125ae872b7c93b556307", size = 17735, upload-time = "2026-04-08T04:30:50.974Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338, upload-time = "2025-09-15T03:00:59.218Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f0/c391068b86abb708882c6d75a08cd7d25b2c7227dab527b3a3685a3c635b/types_pyyaml-6.0.12.20260408-py3-none-any.whl", hash = "sha256:fbc42037d12159d9c801ebfcc79ebd28335a7c13b08a4cfbc6916df78fee9384", size = 20339, upload-time = "2026-04-08T04:30:50.113Z" }, ] [[package]] diff --git a/libs/model-profiles/uv.lock b/libs/model-profiles/uv.lock index ce3cbd267a7..5088444752a 100644 --- a/libs/model-profiles/uv.lock +++ b/libs/model-profiles/uv.lock @@ -1729,11 +1729,11 @@ wheels = [ [[package]] name = "types-toml" -version = "0.10.8.20240310" +version = "0.10.8.20260408" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/86/47/3e4c75042792bff8e90d7991aa5c51812cc668828cc6cce711e97f63a607/types-toml-0.10.8.20240310.tar.gz", hash = "sha256:3d41501302972436a6b8b239c850b26689657e25281b48ff0ec06345b8830331", size = 4392, upload-time = "2024-03-10T02:18:37.518Z" } +sdist = { url = "https://files.pythonhosted.org/packages/71/9b/887564a51a84c96ba08b715570e546f0ea793df6372b736bfbc596ca5536/types_toml-0.10.8.20260408.tar.gz", hash = "sha256:6b30b031235565a12febb1388900b129f1adeabfcfa594da46d0372b2ac107ad", size = 9341, upload-time = "2026-04-08T04:27:54.394Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl", hash = "sha256:627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", size = 4777, upload-time = "2024-03-10T02:18:36.568Z" }, + { url = "https://files.pythonhosted.org/packages/56/f1/942d95ba026779bc6e3064f8b094216588dc3276cc328cf8e03a0541918d/types_toml-0.10.8.20260408-py3-none-any.whl", hash = "sha256:e958d4c660385e548705a298f17dc162baf44c8b6d6aff79aeefe75f4f77ac87", size = 9677, upload-time = "2026-04-08T04:27:53.526Z" }, ] [[package]] diff --git a/libs/partners/fireworks/langchain_fireworks/data/_profiles.py b/libs/partners/fireworks/langchain_fireworks/data/_profiles.py index e9fc2409df9..53a0473f7e0 100644 --- a/libs/partners/fireworks/langchain_fireworks/data/_profiles.py +++ b/libs/partners/fireworks/langchain_fireworks/data/_profiles.py @@ -378,7 +378,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "accounts/fireworks/routers/kimi-k2p5-turbo": { - "name": "Kimi K2.5 Turbo (firepass)", + "name": "Kimi K2.5 Turbo", "release_date": "2026-01-27", "last_updated": "2026-01-27", "open_weights": True, diff --git a/libs/partners/mistralai/langchain_mistralai/data/_profiles.py b/libs/partners/mistralai/langchain_mistralai/data/_profiles.py index 8bd1f4e2351..192aacb0f38 100644 --- a/libs/partners/mistralai/langchain_mistralai/data/_profiles.py +++ b/libs/partners/mistralai/langchain_mistralai/data/_profiles.py @@ -356,13 +356,13 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "mistral-medium-latest": { - "name": "Mistral Medium (latest)", - "release_date": "2025-05-07", - "last_updated": "2025-05-10", + "mistral-medium-2604": { + "name": "Mistral Medium 3.5", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", "open_weights": True, - "max_input_tokens": 128000, - "max_output_tokens": 16384, + "max_input_tokens": 262144, + "max_output_tokens": 262144, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -371,9 +371,31 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": False, + "reasoning_output": True, "tool_calling": True, - "attachment": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistral-medium-latest": { + "name": "Mistral Medium (latest)", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, "temperature": True, }, "mistral-nemo": { diff --git a/libs/partners/xai/langchain_xai/data/_profiles.py b/libs/partners/xai/langchain_xai/data/_profiles.py index d198c73b4b2..2b0dd34b19c 100644 --- a/libs/partners/xai/langchain_xai/data/_profiles.py +++ b/libs/partners/xai/langchain_xai/data/_profiles.py @@ -456,6 +456,26 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "grok-4.3": { + "name": "Grok 4.3", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 30000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "attachment": True, + "temperature": True, + }, "grok-beta": { "name": "Grok Beta", "release_date": "2024-11-01", diff --git a/libs/standard-tests/uv.lock b/libs/standard-tests/uv.lock index c7c3b5205bf..8473451fa14 100644 --- a/libs/standard-tests/uv.lock +++ b/libs/standard-tests/uv.lock @@ -1343,11 +1343,11 @@ wheels = [ [[package]] name = "types-pyyaml" -version = "6.0.12.20250915" +version = "6.0.12.20260408" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522, upload-time = "2025-09-15T03:01:00.728Z" } +sdist = { url = "https://files.pythonhosted.org/packages/74/73/b759b1e413c31034cc01ecdfb96b38115d0ab4db55a752a3929f0cd449fd/types_pyyaml-6.0.12.20260408.tar.gz", hash = "sha256:92a73f2b8d7f39ef392a38131f76b970f8c66e4c42b3125ae872b7c93b556307", size = 17735, upload-time = "2026-04-08T04:30:50.974Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338, upload-time = "2025-09-15T03:00:59.218Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f0/c391068b86abb708882c6d75a08cd7d25b2c7227dab527b3a3685a3c635b/types_pyyaml-6.0.12.20260408-py3-none-any.whl", hash = "sha256:fbc42037d12159d9c801ebfcc79ebd28335a7c13b08a4cfbc6916df78fee9384", size = 20339, upload-time = "2026-04-08T04:30:50.113Z" }, ] [[package]] diff --git a/libs/text-splitters/extended_testing_deps.txt b/libs/text-splitters/extended_testing_deps.txt index 86de80a23ee..6818bad0de0 100644 --- a/libs/text-splitters/extended_testing_deps.txt +++ b/libs/text-splitters/extended_testing_deps.txt @@ -1,2 +1,2 @@ -lxml>=4.9.3,<7.0 +lxml>=6.1.0,<7.0 beautifulsoup4>=4.12.3,<5