Release Date: 22 April 2026

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

Release Note for Neo4j 2026.04 (Release date: 22 April 2026)

 

Server

  • Introduces an expanded Query API transaction ID length from 4 to 6 characters, allowing the system to handle a significantly higher volume of concurrent transactions. In this latest release, developers will automatically benefit from these longer transaction identifiers to reduce the risk of ID collisions under higher concurrency.
 

Cypher

Cypher 25 Features

  • IS LABELED and IS NOT LABELED predicates: Support has been added for these GQL predicates, which allow testing whether a node possesses or lacks specified labels. These predicates provide GQL equivalents to the existing Cypher IS and IS NOT predicates, without introducing new functionality.  See the Cypher Manual: IS [NOT] LABELED predicate.
  • FOR Statement: The GQL FOR statement is now supported for extracting individual rows from a list. This statement is the GQL equivalent of the existing Cypher UNWIND statement, without introducing new functionality.
  • SHORTEST: The memory usage for the SHORTEST statement has been reduced. Previously, this statement consumed more memory than was indicated by the memory-tracking estimate.
  • AI Token Handling Functions:
    • ai.text.chunkByTokenLimit: A new function to split an input string into a list of strings, respecting a specified token limit. Docs
    • ai.text.countToken: A new function for estimating the token count of a given input string. Docs

Cypher Improvements (all versions)

  • Parallel runtime memory tracking enhancements: Improved the precision of memory tracking within the Top operator.
  • Detailed version reporting in query output: EXPLAIN and PROFILE output now consistently includes the underlying Neo4j version, reporting down to the point release.

Drivers

  • Updated neo4j-java-driver from 6.0.3 to 6.0.4.
  • Updated netty-bom from 4.2.10.Final to 4.2.12.Final.

Bug fixes

Server

  • Fixed a bug for vector-3.0 indexes, where quantized data was correctly written during index population, but wasn’t used at query time. This meant the index behaved as an index without quantization, leading to increased memory usage. Quantized vectors are now used correctly, it is not necessary to rebuild the index.
  • Fixed a performance bottleneck in the ID generator by optimizing how the system scans for and reuses deleted IDs, preventing unnecessary store file growth and reducing lock contention during high volume writes.

Cypher

  • Fixed a bug where running the same GRANT/REVOKE Property-Based Access Control (PBAC) privilege command containing a temporal function will throw an error on the second command. Now it succeeds and gives a warning that no changes were made on the second command.
  • Fixed an incorrect error message when passing a parameter with the incorrect type to SHOW DATABASES.
  • Fixed a bug in record format where iterating the relationships of a node that concurrently turns dense could return wrong query results.
  • Fixed a bug where SHORTEST would sometimes omit a valid path when multiple targets are found.
  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