Skip to content

Releases: neo4j-contrib/neomodel

Version 6.0.0 2025-11

26 Nov 15:46
fe6e849

Choose a tag to compare

  • 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

01 Oct 14:21

Choose a tag to compare

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

24 Sep 13:41
0355453

Choose a tag to compare

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

22 Sep 13:22
7f960cc

Choose a tag to compare

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

05 Jun 11:35
3ce3473

Choose a tag to compare

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

10 Mar 11:58
33f61bf

Choose a tag to compare

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

06 Mar 14:43
0d38b1a

Choose a tag to compare

Version 5.4.4 2025-03

  • Fix filter() causing performance problems

Version 5.4.3 2025-02

10 Feb 10:39
fd1c691

Choose a tag to compare

  • 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

16 Dec 09:38
f6d87a9

Choose a tag to compare

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

29 Nov 10:15
b4c8e5e

Choose a tag to compare

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