Release Date: 28 August 2026

The Neo4j Aura August release has started to roll out, commencing on AuraDB Free and progressing to higher tiers later. 

Release Note for Neo4j 2026.08

Cypher 25 Features

  • Introduces the new UUID type alongside new constructor functions uuid(), uuid(name :: STRING) and uuid(mostSigBits :: INTEGER, leastSigBits :: INTEGER) as well as helper functions; uuid.leastSignificantBits(uuid :: UUID) and uuid.mostSignificantBits(uuid :: UUID).
  • Introduction of string interpolation, a STRING literal syntax (s”…” or S”…”) that embeds expressions enclosed in {} directly within a string. See the Cypher Manual -> String interpolation.
  • Introduces SHOW USERS AS COMMANDS and SHOW ROLES AS COMMANDS, to get a create role/user or grant role to user/auth rule command string that can be executed to recreate the current setup of roles, users and their assignments. See Operations Manual -> Manage roles and Manage users.
  • Allows PBAC rules to have predicates which check for the presence of a value in a list property e.g. GRANT … FOR (n) WHERE ‘gold’ IN n.clearanceLevels TO role. This also allows other predicates to have the property on the right-hand side. e.g. GRANT … FOR (n) WHERE 1 > n.level TO role.See Operations Manual -> Property-based access control.
  • LIMIT/SKIP INTEGER as well as LOAD CSV’s FIELDTERMINATOR STRING no longer considered sensitive for logging purposes (I.e they will now show up unobfuscated in query log)

Bug fixes

Cypher 25

  • Fix null / 0 raising a division-by-zero error instead of returning null as per the GQL specification and the documented behaviour.
  • Fixes a bug in Composite where subquery dependencies were mistakenly propagated to all WITH clauses. For aggregating WITH clauses, this incorrectly altered the set of grouping keys.
  • Fixes an issue where a lone USE was inside a COUNT/EXISTS subquery expression
  • Fix bug where dynamic property targets could observe earlier assignments in the same SET clause: CREATE (:A {x: 0, y: 1}); MATCH (n:A) SET n[‘x’] = n.y, n[‘y’] = n.x; MATCH (n:A) RETURN n.x AS x, n.y AS y; now correctly returns x=1, y=0 as in 2026.05.0 and before, instead of x=1, y=1.

Deprecations

For full details of database changes, see the changelog. For Aura platform and feature updates, see the Aura changelog. For all other Neo4j product and service updates, see Neo4j Release Notes.