Release Date: 18 September 2026

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

Release Note for Neo4j 2026.09 

Database

  • The performance of re-scored binary quantization (AKA High Fidelity Quantized vector search) and scalar quantization is significantly improved. A re-scored binary reduces latency by approximately 5x and increases query throughput by 5x. This increased performance holds while conforming to the new updated guidance on memory configuration, see Vector index memory configuration – Operations Manual. Indexes built before v2026.08 that aren’t regularly updated, should be re-created in order to get the full benefit. See Vector indexes – Cypher Manual

Cypher 25 features

  • Cypher now supports native full-text search through the new SEARCH clause for simple node and relationship patterns. See the Cypher Manual -> Query full-text indexes.
  • The functions toString(), toStringList() and toStringOrNull() have been updated to accept LIST, MAP, NODE, RELATIONSHIP and PATH types. See the Cypher Manual -> String functions.
  • Introduced map comprehension, which allows the creation of a MAP value by iterating over an existing MAP or LIST e.g {k: v IN map | keyExpression: valueExpression}. See the Cypher Manual -> Map comprehension.
  • Add AS COMMANDS for SHOW USERS and SHOW ROLES, 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 users and Manage roles.
  • Add new AUTH RULES authRule filter to SHOW PRIVILEGES [AS COMMANDS] to filter on privileges assigned to roles granted to the given auth rules, similar to the existing USERS or ROLES filters. Also add some useful columns to the SHOW PRIVILEGES AS COMMANDS to be able to filter the commands on. See Operations Manual -> Role-based access control.

Bug fixes

  • The page cache now reserves its full configured memory at startup and is guaranteed never to exceed server.memory.pagecache.size.
  • $any dynamic type evaluation on a list containing invalid elements in the list tail will now correctly throw instead of short-circuit accept on the list head, and the error message now no longer erroneously suggests that LIST<LIST<STRING NOT NULL>> is an accepted outer list type.
  • A division by zero is now raising a clean division-by-zero arithmetic error instead of a previous overflow/out-of-range.
Please refer to the changelog for full details of the changes, and Neo4j Release notes for all changes to other Neo4j products and services.

Deprecations