Releases: neo4j-contrib/neomodel
Releases · neo4j-contrib/neomodel
Version 6.0.0 2025-11
- Modernize config object, using a dataclass with typing, runtime and update validation rules, and environment variables support
- Fix async support of parallel transactions, using ContextVar
- Introduces merge_by parameter for batch operations to customize merge behaviour (label and property keys)
- Adds rel_props to batch methods, to create relationship with properties during batch operations. Thanks to @ADernild
- Enforce strict cardinality check by default
- Refactor internal code: core.py file is now split into smaller files for database, node, transaction
- Fix object resolution for maps and lists Cypher objects, even when nested. This changes the way you can access lists in your Cypher results, see documentation for more info
- Make AsyncDatabase / Database a true singleton for clarity
- Remove deprecated methods (including fetch_relations & traverse_relations, replaced with traverse ; database operations like clear_neo4j_database or change_neo4j_password have been moved to db/adb singleton internal methods)
- Housekeeping and bug fixes
Version 5.5.3 2025-09
Version 5.5.3 2025-09
- Fix duplicated code issue in the advanced querying methods
- Remove py.typed - this was a premature change, we should write stubs for full typing support first
Version 5.5.2 2025-09
Version 5.5.2 2025-09
- This is a hotfix for 5.5.1, which fixed something desirable, but introducing a lot of potential side effects by enforcing cardinality on RelationshipFrom.
- Until version 6.0, RelationshipFrom cardinality will be softly checked by default, only giving a warning. You can switch that using SOFT_INVERSE_CARDINALITY_CHECK=False
- Version 6.0 will make all checks strict by default.
Version 5.5.1 2025-09
Version 5.5.1 2025-09
- Fix cardinality enforcement for RelationshipFrom. Many thanks to @billycalladine
- Change order of WITH and CALL{} statements in generated Cypher (intermediate_transform & subquery)
- Add py.typed file to enable support from mypy
- Bump to neo4j 5.28.2, uniform version pinning for rust-ext
Version 5.5.0 2025-06
Version 5.5.0 2025-06
- Add traverse method which merges traverse_relations and fetch_relations and improves them
- Deprecate traverse_relations and fetch_relations
- Fix issue where WITH * is inserted in wrong places
Version 5.4.5 2025-03
Version 5.4.5 2025-03
- Add method unique_variables to force reuse of variables in traversals
- Fix bug when filtering on relationship property
- Unblock mixing OR operators and MATCH + OPTIONAL
Version 5.4.4 2025-03
Version 5.4.4 2025-03
- Fix filter() causing performance problems
Version 5.4.3 2025-02
- Add Size() scalar function
- Fix potential duplicate variable name in multiple traversals
- Minor fixes
- Note : With Neo4j now using CalVer, we can soon shift to true SemVer
Version 5.4.2 2024-12
Version 5.4.2 2024-12
- Add support for Neo4j Rust driver extension : pip install neomodel[rust-driver-ext]
- Add initial_context parameter to subqueries
- NodeNameResolver can call self to reference top-level node
- Housekeeping : implementing mypy for static typing
Version 5.4.1 2024-11
Version 5.4.1 2024-11
- Add support for Cypher parallel runtime
- Add options for intermediate_transform : distinct, include_in_return, use a prop as source