Skip to content

Commit f8f57ab

Browse files
authored
1 parent 965782f commit f8f57ab

File tree

12 files changed

+339
-107
lines changed

12 files changed

+339
-107
lines changed

libs/langchain-mongodb/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
---
44

5+
## Changes in version 0.8.0 (2025/11/18)
6+
7+
- Update dependencies to align with LangChain 1.0, which is now the minimum supported version of LangChain.
8+
This includes adding `langchain_classic` as a dependency to support existing Retriever APIs.
9+
510
## Changes in version 0.7.2 (2025/10/30)
611

712
- Pin LangChain version to < 1.0 to avoid compatibility issues while in pre-1.0.

libs/langchain-mongodb/langchain_mongodb/agent_toolkit/database.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,15 @@ def _handle_object_id(match: Any) -> str:
341341
raise ValueError("ObjectId must contain a value.")
342342
return f"ObjectId('{oid_str}')"
343343

344+
def _handle_id_key(match: Any) -> str:
345+
return f'"{match.group(1)}"'
346+
344347
patterns = [
345348
(r'ISODate\(\s*["\']([^"\']*)["\']\s*\)', _handle_iso_date),
346349
(r'new\s+Date\(\s*["\']([^"\']*)["\']\s*\)', _handle_new_date),
347350
(r'ObjectId\(\s*["\']([^"\']*)["\']\s*\)', _handle_object_id),
351+
(r'ObjectId\(\s*["\']([^"\']*)["\']\s*\)', _handle_object_id),
352+
(r'(?<!["\'])\b(_id)\b(?!["\'])', _handle_id_key),
348353
]
349354

350355
for pattern, replacer in patterns:

libs/langchain-mongodb/langchain_mongodb/retrievers/parent_document.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
from typing import Any, List, Optional
44

55
import pymongo
6-
from langchain.retrievers.parent_document_retriever import ParentDocumentRetriever
6+
from langchain_classic.retrievers.parent_document_retriever import (
7+
ParentDocumentRetriever,
8+
)
79
from langchain_core.callbacks import (
810
AsyncCallbackManagerForRetrieverRun,
911
CallbackManagerForRetrieverRun,

libs/langchain-mongodb/langchain_mongodb/retrievers/self_querying.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
from typing import Any, Dict, Sequence, Tuple, Union
22

3-
from langchain.chains.query_constructor.schema import AttributeInfo
4-
from langchain.retrievers.self_query.base import SelfQueryRetriever
3+
from langchain_classic.chains.query_constructor.schema import (
4+
AttributeInfo,
5+
)
6+
from langchain_classic.retrievers.self_query.base import (
7+
SelfQueryRetriever,
8+
)
59
from langchain_core.language_models import BaseLanguageModel
610
from langchain_core.runnables import Runnable
711
from langchain_core.structured_query import (

libs/langchain-mongodb/pyproject.toml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,21 @@ description = "An integration package connecting MongoDB and LangChain"
1010
readme = "README.md"
1111
requires-python = ">=3.10"
1212
dependencies = [
13-
"langchain-core>=0.3,<1.0",
14-
"langchain>=0.3,<1.0",
13+
"langchain-core>=1.0",
14+
"langchain>=1.0",
15+
"langchain-classic>=1.0",
1516
"pymongo>=4.6.1",
16-
"langchain-text-splitters>=0.3,<1.0",
17+
"langchain-text-splitters>=1.0",
1718
"numpy>=1.26",
1819
"lark<2.0.0,>=1.1.9",
1920
]
2021

2122
[dependency-groups]
2223
dev = [
2324
"freezegun>=1.2.2",
24-
"langchain>=0.3.14,<1.0",
25-
"langchain-core>=0.3.29,<1.0",
26-
"langchain-text-splitters>=0.3.5,<1.0",
25+
"langchain>=1.0",
26+
"langchain-core>=1.0",
27+
"langchain-text-splitters>=1.0",
2728
"pytest-mock>=3.10.0",
2829
"pytest>=7.3.0",
2930
"syrupy>=4.0.2",
@@ -33,13 +34,13 @@ dev = [
3334
"pre-commit>=4.0",
3435
"mypy>=1.10",
3536
"simsimd>=6.5.0",
36-
"langchain-ollama>=0.2.2,<1.0",
37-
"langchain-openai>=0.2.14,<1.0",
38-
"langchain-community>=0.3.27,<1.0",
37+
"langchain-ollama>=1.0",
38+
"langchain-openai>=1.0",
39+
"langchain-community>=0.3.27",
3940
"pypdf>=5.0.1",
40-
"langgraph>=0.2.72",
41+
"langgraph>=1.0.0",
4142
"flaky>=3.8.1",
42-
"langchain-tests==0.3.22,<1.0",
43+
"langchain-tests==0.3.22",
4344
"pip>=25.0.1",
4445
"typing-extensions>=4.12.2",
4546
]

libs/langchain-mongodb/tests/integration_tests/test_agent_toolkit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import pytest
55
import requests
66
from flaky import flaky # type:ignore[import-untyped]
7+
from langchain.agents import create_agent # type: ignore[assignment]
78
from langchain_openai import AzureChatOpenAI, ChatOpenAI
8-
from langgraph.prebuilt import create_react_agent
99
from pymongo import MongoClient
1010

1111
from langchain_mongodb.agent_toolkit import (
@@ -64,7 +64,7 @@ def test_toolkit_response(db):
6464
prompt = MONGODB_AGENT_SYSTEM_PROMPT.format(top_k=5)
6565

6666
test_query = "Which country's customers spent the most?"
67-
agent = create_react_agent(llm, toolkit.get_tools(), prompt=prompt)
67+
agent = create_agent(llm, toolkit.get_tools(), system_prompt=prompt)
6868
agent.step_timeout = 60
6969
events = agent.stream(
7070
{"messages": [("user", test_query)]},

libs/langchain-mongodb/tests/integration_tests/test_chat_message_histories.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import json
22
import warnings
33

4-
from langchain.memory import ConversationBufferMemory # type: ignore[import-not-found]
4+
from langchain_classic.memory import (
5+
ConversationBufferMemory,
6+
)
57
from langchain_core.messages import message_to_dict
68

79
from langchain_mongodb.chat_message_histories import MongoDBChatMessageHistory

libs/langchain-mongodb/tests/integration_tests/test_retriever_selfquerying.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
from typing import Generator, Sequence, Union
55

66
import pytest
7-
from langchain.chains.query_constructor.schema import AttributeInfo
8-
from langchain.retrievers.self_query.base import SelfQueryRetriever
7+
from langchain_classic.chains.query_constructor.schema import (
8+
AttributeInfo,
9+
)
10+
from langchain_classic.retrievers.self_query.base import (
11+
SelfQueryRetriever,
12+
)
913
from langchain_core.documents import Document
1014
from langchain_openai import AzureChatOpenAI, ChatOpenAI
1115
from langchain_openai.chat_models.base import BaseChatOpenAI

libs/langchain-mongodb/tests/unit_tests/test_chat_message_histories.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
import mongomock
55
import pytest
6-
from langchain.memory import ConversationBufferMemory # type: ignore[import-not-found]
6+
from langchain_classic.memory import (
7+
ConversationBufferMemory,
8+
)
79
from langchain_core.messages import message_to_dict
810
from pytest_mock import MockerFixture
911

0 commit comments

Comments
 (0)