Releases: langchain-ai/langchain-neo4j
Releases · langchain-ai/langchain-neo4j
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-graphrag
package as a dependency. - Renamed the
type
property torole
onMessage
nodes inNeo4jChatMessageHistory
for improved consistency with theneo4j-graphrag
package. - Updated
GraphCypherQAChain
to 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_vector
module with equivalents from theneo4j-graphrag
package. - Replaced database schema retrieval code in the
graphs.neo4j_graph
module with equivalents from theneo4j-graphrag
package. - Replaced the Cypher queries in
Neo4jChatMessageHistory
with equivalents from theneo4j-graphrag
package. - Refactored the
construct_schema
function inGraphCypherQAChain
to utilise schema retrieval functions fromneo4j-graphrag
. - Replaced the legacy
extract_cypher
function with an improved version fromneo4j-graphrag
, offering improved query extraction. - Introduced a
delete_session_node
parameter to theclear
method inNeo4jChatMessageHistory
, allowing optional deletion of theSession
node 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
- @tdennisliu made their first contribution in #31
- @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
- @jtanningbed made their first contribution in #14
- @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
libs/neo4j/v0.1.0
What's Changed
- migrate Neo4j by @efriis in #1
- infra: use artifact v4 in release pipeline by @efriis in #4
- Adds a Neo4j service to release workflow by @alexthomas93 in #3
New Contributors
- @efriis made their first contribution in #1
- @alexthomas93 made their first contribution in #3
Full Changelog: https://github.com/langchain-ai/langchain-neo4j/commits/libs/neo4j/v0.1.0