Release Date: 2 March 2026

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

Release Note for Neo4j 2026.02 (Release date: 2 March 2026)

Server

  • The distributed neo4j.conf explicitly sets: db.query.default_language=CYPHER_25. As a result, deployments using the provided configuration file will default to Cypher 25 for newly created databases.
  • New page cache metrics for MVCC snapshots and async I/O tracking
    • <prefix>.page_cache.pages_snapshot_loaded
    • <prefix>.page_cache.async_submit
    • <prefix>.page_cache.async_complete
    • <prefix>.page_cache.async_failure
  See Operations Manual -> Metrics for details.

Cypher

  • Cypher 25 is the new default query language for newly created organisations. The default query language attached to created databases is determined by the organisation setting “Default Cypher Version” and can be manually changed.
  • Change the type of exception thrown for a NodeByIdSeek when ids argument is not a valid list. Exception is now CypherTypeException, rather than ClassCastException or InternalException
  • Restored behavior allowing simple node patterns in FOREACH to shadow incoming variables.

Cypher 25 Additive Features

  • General availability: Vector search with filters (in-index filtering) and the new Cypher SEARCH syntax for vector queries are now GA and supported for production use. Vector indexes can include additional properties for filtering at index creation, and filters are applied via the WHERE subclause in SEARCH. See the Cypher SEARCH documentation and vector index documentation for syntax and supported filter predicates; the v2026.01 preview blog post remains a useful background overview.
  • Introducing GRAPH TYPE (Preview): GRAPH TYPE provides you the ability to declare your data model in a single, unified blueprint. This enforces strict data integrity including validation of relationship connections and label definitions without sacrificing the flexibility of an open schema.  The GRAPH TYPE feature is offered AS-IS as described in your agreement with Neo4j and should only be used for internal development purposes.
  • Added GQL-compliant aliases for existing Cypher functions (e.g., ceiling, local_time, local_datetime, zoned_time, zoned_datetime, duration_between, path_length, ln, collect_list, percentile_disc, percentile_cont, stdev_pop, stdev_samp). These aliases redirect to the existing implementations, improving GQL compliance without changing behaviour.
  • Add ai.text.structuredOutput() function to the GenAI Plugin, taking a textual prompt and map schema and outputting the result as a map adhering to the given schema.

Bug fixes

Cypher

  • Fixed a bug in pipelined runtime where sometimes queries with multiple SelectOrSemiApply operators in the query plan could fail with error messages like: “Cannot invoke “org.neo4j.cypher.internal.runtime.pipelined.state.AbstractArgumentStateMap$StateController.peek()” because “controller” is null”. 
  • Fixed a bug where use of a composite property index in combination with a dynamic node label or dynamic relationship type could result in an incorrect MATCH result being returned. Note: this could also affect the MATCHing portion of a MERGE statement, potentially resulting in the runtime issuing a CREATE that cannot succeed, or an update to the incorrect node. 
  • Fixed issue with conditional query WHEN not aggregating null values correctly without a grouping key 
  • Fixed a bug with the new MergeUniqueNode operator
  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

For all Cypher language changes, deprecations, and compatibility, see