Releases: langchain-ai/langchain-neo4j
Release list
libs/neo4j/v0.10.0
What's Changed
- Added
LLMGraphTransformerfor converting text documents into graph documents using an LLM, migrated fromlangchain-experimental. - Added
DataIngestionNotSupportedexception, raised when attempting to ingest data into a relationship index. - Skipped removal of the
idproperty from search query results, so this field can now be present in retrieved documents' metadata. - Replaced deprecated
apoc.create.addLabelswith native Cypher dynamic label assignment inNeo4jGraph.
New Contributors
- Rafal-Chrzanowski-IBM made their first contribution in #110
- Sanskar121543 made their first contribution in #119
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#0100
libs/neo4j/v0.9.0
What's Changed
- Added LangChain-specific user-agent metadata to Neo4j driver initialization across graph, vectorstore, and checkpoint integrations.
- Fixed
GraphCypherQAChaincompatibility with non-Neo4jGraphStoreimplementations (for exampleAGEGraph) by not requiring the private_enhanced_schemaattribute.
New Contributors
- Dependabot (@dependabot)[bot] made their first contribution in #94
- John Kennedy (@jkennedyvz) made their first contribution in #97
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#090
libs/neo4j/v0.8.0
What's Changed
- Added Neo4jSaver, a synchronous checkpoint saver for persisting LangGraph graph state in Neo4j.
- Added AsyncNeo4jSaver, an asynchronous checkpoint saver for persisting LangGraph graph state in Neo4j.
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#080
libs/neo4j/v0.7.0
What's Changed
- Added bearer token authentication support to
Neo4jGraphvia thetokenparameter - Added support for Python 3.14
- Added support for Neo4j Python Driver v6.0.0+
- Switched project dependency management from Poetry to uv
- Updated docstrings and reference documentation formatting for the new LangChain reference docs site (MkDocs/Markdown)
- Fixed
Neo4jVectorto properly handle missingmetadatain retrieval results - Fixed
Neo4jVector.from_existing_indexretrieval query generation when using multipletext_node_properties - Fixed
Neo4jChatMessageHistoryto usedatabase_instead ofdatabaseinexecute_querycalls
New Contributors
- Mason Daugherty (@mdrxy) made their first contribution in #81
- Sefik Ilkin Serengil (@serengil) made their first contribution in #85
- Bayu Siddhi Mukti (@bayu-siddhi) made their first contribution in #75
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#070
libs/neo4j/v0.6.0
What's Changed
- Makes LangChain Neo4j compatible with LangChain 1.0.0 by replacing
langchainwithlangchain-classicas a dependency - Removes support for Python 3.9 as this is no longer supported in
langchain-classic - Updates README examples to use
langchain-classic
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#060
libs/neo4j/v0.5.0
What's Changed
- Added support for custom database names in Neo4jChatMessageHistory (no longer limited to the default "neo4j").
- Introduced an optional mmr dependency group for maximal marginal relevance search, including numpy.
- Bumped the neo4j-graphrag dependency from ^1.5.0 to ^1.9.0.
- Prevented infinite loops in CypherQueryCorrector.extract_paths when a Cypher query contains repeated paths.
- Replaced direct result["text"] indexing with result.get("text") in Neo4jVector.similarity_search_with_score_by_vector to handle missing text fields gracefully.
- Updated the empty-list check in CypherQueryCorrector.detect_node_variables so nodes without an explicit variable are properly skipped, rather than misclassifying all labels under an empty variable.
- Stopped Neo4jChatMessageHistory from creating duplicate session nodes.
- Fixed a schema bug in Neo4jGraph (with enhance_schema=True) where relationships having boolean properties would trigger a malformed RETURN {} AS output Cypher query, preventing graph initialization.
- Ensured custom database names are correctly passed through to retrieve_vector_index_info and retrieve_existing_fts_index in Neo4jVector.
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#050
libs/neo4j/v0.4.0
What's Changed
- Added the
neo4j-graphragpackage as a dependency. - Renamed the
typeproperty toroleonMessagenodes inNeo4jChatMessageHistoryfor improved consistency with theneo4j-graphragpackage. - Updated
GraphCypherQAChainto align with the schema format used byNeo4jGraph, ensuring a unified schema structure format across the package. - Replaced code used to query vector and full text indexes in the
vectorstores.neo4j_vectormodule with equivalents from theneo4j-graphragpackage. - Replaced database schema retrieval code in the
graphs.neo4j_graphmodule with equivalents from theneo4j-graphragpackage. - Replaced the Cypher queries in
Neo4jChatMessageHistorywith equivalents from theneo4j-graphragpackage. - Refactored the
construct_schemafunction inGraphCypherQAChainto utilise schema retrieval functions fromneo4j-graphrag. - Replaced the legacy
extract_cypherfunction with an improved version fromneo4j-graphrag, offering improved query extraction. - Introduced a
delete_session_nodeparameter to theclearmethod inNeo4jChatMessageHistory, allowing optional deletion of theSessionnode when deleting message chains.
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#040
libs/neo4j/v0.3.0
What's Changed
- Disabled some Neo4jGraph driver warnings to reduce unnecessary log noise and improve user experience.
- Made the source parameter of GraphDocument optional, offering greater flexibility when inserting data into the database.
- Introduced an optional parameter for specifying the embedding dimension in
Neo4jVector, reducing the number of potentially unnecessary database calls. - Fixed Cypher query parsing to handle node names with spaces, ensuring more accurate query execution.
- Resolved multiple issues in the enhanced schema creation function, improving schema accuracy and eliminating previously raised deprecation warnings.
- Updated GraphStore to implement the Protocol interface, enabling any graph database class adhering to GraphStore’s method signature to be used with GraphCypherQAChain.
- Added support for removing the previously unhandled Lucene special character (’/’) in remove_lucene_chars, ensuring proper handling in Cypher queries that utilize vector and full-text indexes.
- Introduced a test_versioning_check test to ensure that version-checking logic accommodates Neo4j’s new calendar-based versioning introduced in early 2025.
New Contributors
- Dennis Liu (@tdennisliu) made their first contribution in #31
- Yuxin Chen (@chkaty) made their first contribution in #24
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#030
libs/neo4j/v0.2.0
What's Changed
- Enhanced Neo4j driver connection management with more robust error handling.
- Streamlined connection state checks within the Neo4jGraph class for better performance and maintainability.
- Introduced the effective_search_ratio parameter in Neo4jVector, allowing for finer control over query accuracy by adjusting the candidate pool size in similarity searches.
- Fixed instantiation issues in GraphCypherQAChain by removing the deprecated LLMChain and resolving compatibility with the use_function_response parameter.
- Eliminated redundant # type: ignore comments, enhancing type safety and code clarity across the codebase.
New Contributors
- jason (@jtanningbed) made their first contribution in #14
- Tomaz Bratanic (@tomasonjo) made their first contribution in #18
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#020
libs/neo4j/v0.1.1
What's Changed
- Removed dependency on LangChain Community package by integrating necessary components directly into the LangChain Neo4j codebase.
- Fixed bugs in the Neo4jVector and GraphCypherQAChain classes preventing these classes from working with versions < 5.23 of Neo4j.
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/blob/main/CHANGELOG.md#011