Skip to content

Update dependency langchain-experimental to >=0.4.1,<0.5#2735

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/langchain-experimental-0.x
Open

Update dependency langchain-experimental to >=0.4.1,<0.5#2735
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/langchain-experimental-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Nov 25, 2025

This PR contains the following updates:

Package Change Age Confidence
langchain-experimental (changelog) >=0.3.4,<0.4>=0.4.1,<0.5 age confidence

Configuration

📅 Schedule: (in timezone US/Eastern)

  • Branch creation
    • "every weekend"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Nov 25, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: uv.lock
Command failed: uv lock --upgrade-package langchain-experimental
Using CPython 3.12.13 interpreter at: /opt/containerbase/tools/python/3.12.13/bin/python3
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of langchain are available:
          langchain<=0.3.11
          langchain==0.3.12
          langchain==0.3.13
          langchain==0.3.14
          langchain==0.3.15
          langchain==0.3.16
          langchain==0.3.17
          langchain==0.3.18
          langchain==0.3.19
          langchain==0.3.20
          langchain==0.3.21
          langchain==0.3.22
          langchain==0.3.23
          langchain==0.3.24
          langchain==0.3.25
          langchain==0.3.26
          langchain==0.3.27
          langchain==0.3.28
          langchain==0.3.29
          langchain==0.3.30
          langchain>0.4
      and langchain==0.3.11 depends on langchain-core>=0.3.24,<0.4.0,
      we can conclude that langchain>=0.3.11,<0.3.12 depends on
      langchain-core>=0.3.24,<0.4.0.
      And because langchain==0.3.12 depends on langchain-core>=0.3.25,<0.4.0
      and langchain-core>=0.3.26,<0.4.0, we can conclude that
      langchain>=0.3.11,<0.3.14 depends on langchain-core>=0.3.24,<0.4.0.
      And because langchain==0.3.14 depends on langchain-core>=0.3.29,<0.4.0
      and langchain-core>=0.3.31,<0.4.0, we can conclude that
      langchain>=0.3.11,<0.3.16 depends on langchain-core>=0.3.24,<0.4.0.
      And because langchain==0.3.16 depends on langchain-core>=0.3.32,<0.4.0
      and langchain-core>=0.3.33,<0.4.0, we can conclude that
      langchain>=0.3.11,<0.3.18 depends on langchain-core>=0.3.24,<0.4.0.
      And because langchain==0.3.18 depends on langchain-core>=0.3.34,<1.0.0
      and langchain-core>=0.3.35,<1.0.0, we can conclude that
      langchain>=0.3.11,<0.3.20 depends on langchain-core>=0.3.24,<1.0.0.
      And because langchain==0.3.20 depends on langchain-core>=0.3.41,<1.0.0
      and langchain-core>=0.3.45,<1.0.0, we can conclude that
      langchain>=0.3.11,<0.3.22 depends on langchain-core>=0.3.24,<1.0.0.
      And because langchain==0.3.22 depends on langchain-core>=0.3.49,<1.0.0
      and langchain-core>=0.3.51,<1.0.0, we can conclude that
      langchain>=0.3.11,<0.3.24 depends on langchain-core>=0.3.24,<1.0.0.
      And because langchain==0.3.24 depends on langchain-core>=0.3.55,<1.0.0
      and langchain-core>=0.3.58,<1.0.0, we can conclude that
      langchain>=0.3.11,<0.3.26 depends on langchain-core>=0.3.24,<1.0.0.
      And because langchain==0.3.26 depends on langchain-core>=0.3.66,<1.0.0
      and langchain-core>=0.3.72,<1.0.0, we can conclude that
      langchain>=0.3.11,<0.3.28 depends on langchain-core>=0.3.24,<1.0.0.
      And because langchain>=0.3.29,<=0.3.30 depends on
      langchain-core>=0.3.85,<1.0.0 and langchain-core>=0.3.73,<1.0.0,
      we can conclude that langchain>=0.3.11,<0.4 depends on
      langchain-core>=0.3.24,<1.0.0.
      And because langchain-experimental==0.4.1 depends on
      langchain-core>=1.0.0,<2.0.0 and only langchain-experimental<=0.4.1
      is available, we can conclude that langchain>=0.3.11,<0.4 and
      langchain-experimental>=0.4.1 are incompatible.
      And because your project depends on langchain>=0.3.11,<0.4 and
      langchain-experimental>=0.4.1, we can conclude that your project's
      requirements are unsatisfiable.

      hint: Pre-releases are available for `langchain` in the requested
      range (e.g., 0.3.18rc2), but pre-releases weren't enabled (try:
      `--prerelease=allow`)

@renovate renovate Bot force-pushed the renovate/langchain-experimental-0.x branch 4 times, most recently from 9157f31 to d19c76e Compare December 1, 2025 16:12
@renovate renovate Bot force-pushed the renovate/langchain-experimental-0.x branch 13 times, most recently from 13f0be5 to f69a3f6 Compare December 12, 2025 21:19
@renovate renovate Bot force-pushed the renovate/langchain-experimental-0.x branch 11 times, most recently from dc8bb8d to 93eda34 Compare December 17, 2025 17:41
@renovate renovate Bot force-pushed the renovate/langchain-experimental-0.x branch 21 times, most recently from 1ef9830 to 97fef88 Compare January 16, 2026 17:11
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 22, 2026

OpenAPI Changes

No changes detected

View full changelog

Unexpected changes? Ensure your branch is up-to-date with main (consider rebasing).

Comment thread pyproject.toml Outdated
Comment thread pyproject.toml Outdated
Comment thread pyproject.toml
"jedi>=0.19.0,<0.20",
"langchain>=0.3.11,<0.4",
"langchain-experimental>=0.3.4,<0.4",
"langchain-experimental>=0.4.1,<0.5",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The upgrade of langchain-experimental may cause a runtime error in SemanticChunker because this functionality is not covered by integration tests, only mocked.
Severity: MEDIUM

Suggested Fix

Add an integration test that enables semantic chunking (CONTENT_FILE_EMBEDDING_SEMANTIC_CHUNKING_ENABLED = True) and invokes the document chunking logic without mocking SemanticChunker. This will validate the compatibility of the custom encoder with the new library version at test time.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L57

Potential issue: Upgrading `langchain-experimental` to version 0.4.1 introduces a
potential runtime error. The `SemanticChunker` is used in `vector_search/utils.py` and
is instantiated with a custom `encoder` object. While one analysis suggests the custom
encoder might not conform to the `Embeddings` interface required by `SemanticChunker`,
another analysis states it does. However, both analyses agree that this code path is not
covered by tests with the actual `SemanticChunker` implementation, as it is mocked. This
lack of test coverage means that if there are any subtle breaking changes or
incompatibilities in the new version, they would not be caught by the CI/CD pipeline and
could lead to runtime errors in production when semantic chunking is enabled.

Comment thread pyproject.toml
"jedi>=0.19.0,<0.20",
"langchain>=0.3.11,<0.4",
"langchain-experimental>=0.3.4,<0.4",
"langchain-experimental>=0.4.1,<0.5",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The SemanticChunker is instantiated with a positional argument encoder, but the updated library version expects a keyword argument embeddings, which will cause a TypeError.
Severity: CRITICAL

Suggested Fix

In vector_search/utils.py, change the SemanticChunker instantiation to use a keyword argument. Modify the call from SemanticChunker(encoder, **settings.SEMANTIC_CHUNKING_CONFIG) to SemanticChunker(embeddings=encoder, **settings.SEMANTIC_CHUNKING_CONFIG).

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L57

Potential issue: When semantic chunking is enabled via
`CONTENT_FILE_EMBEDDING_SEMANTIC_CHUNKING_ENABLED=True`, the code instantiates
`SemanticChunker` with a positional argument. However, the updated
`langchain-experimental==0.4.1` library requires this argument to be passed as a keyword
argument named `embeddings`. This mismatch will cause a `TypeError` at runtime, breaking
the content file embedding functionality entirely whenever this feature is used. The
issue is not caught by tests because `SemanticChunker` is mocked.

Comment thread pyproject.toml
"jedi>=0.19.0,<0.20",
"langchain>=0.3.11,<0.4",
"langchain-experimental>=0.3.4,<0.4",
"langchain-experimental>=0.4.1,<0.5",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The SemanticChunker is instantiated with a positional argument for the encoder, but the updated library expects this to be passed as the keyword argument embeddings, which will cause a TypeError.
Severity: HIGH

Suggested Fix

In vector_search/utils.py, change the instantiation of SemanticChunker to use the embeddings keyword argument. Update the call from SemanticChunker(encoder, **settings.SEMANTIC_CHUNKING_CONFIG) to SemanticChunker(embeddings=encoder, **settings.SEMANTIC_CHUNKING_CONFIG).

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L57

Potential issue: The update to `langchain-experimental` to version 0.4.1 or higher
changes the constructor for `SemanticChunker`. The code instantiates it by passing an
`encoder` object as a positional argument. The new API expects this object to be passed
as a keyword argument named `embeddings`. This will cause a `TypeError` when the code is
executed. The functionality is currently behind a feature flag
`CONTENT_FILE_EMBEDDING_SEMANTIC_CHUNKING_ENABLED`, so the crash will only occur in
production when this flag is enabled. The issue is not caught by tests because all usage
of `SemanticChunker` is mocked.

Comment thread pyproject.toml
"jedi>=0.19.0,<0.20",
"langchain>=0.3.11,<0.4",
"langchain-experimental>=0.3.4,<0.4",
"langchain-experimental>=0.4.1,<0.5",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The upgrade of langchain-experimental to 0.4.1 is incompatible with the pinned version of langchain (<0.4), which will cause dependency installation to fail.
Severity: CRITICAL

Suggested Fix

To resolve the dependency conflict, the langchain package should be upgraded in pyproject.toml to a version compatible with langchain-experimental>=0.4.1. This likely means setting the constraint to langchain>=0.4.1 or a similar compatible range.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L57

Potential issue: The update to `langchain-experimental>=0.4.1` in `pyproject.toml`
introduces a dependency conflict with the existing `langchain>=0.3.11,<0.4` constraint.
The newer version of `langchain-experimental` likely requires a newer version of the
core `langchain` library (e.g., `>0.4.x` or `>1.0.x`). This incompatibility will cause a
dependency resolution failure during installation, preventing the application from being
built or deployed. If the installation were to somehow bypass this, it would likely lead
to runtime import or API errors.

Comment thread pyproject.toml
"jedi>=0.19.0,<0.20",
"langchain>=0.3.11,<0.4",
"langchain-experimental>=0.3.4,<0.4",
"langchain-experimental>=0.4.1,<0.5",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The uv.lock file is out of sync with the updated langchain-experimental dependency in pyproject.toml, which will cause the CI build to fail.
Severity: HIGH

Suggested Fix

Regenerate the uv.lock file to align with the new dependency requirements in pyproject.toml. This can be done by running uv sync or uv lock --upgrade and committing the updated lock file.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pyproject.toml#L57

Potential issue: The `pyproject.toml` file updates the `langchain-experimental`
dependency to require version `>=0.4.1,<0.5`. However, the `uv.lock` file was not
regenerated and still specifies the old version `0.3.4` with a constraint of
`>=0.3.4,<0.4`. The CI pipeline runs `uv sync --locked`, which enforces that the lock
file matches the project requirements. This version conflict will cause the dependency
installation step to fail, which will block the CI/CD pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants