Release Date: 12 April 2024

Aura April 2024 (Neo4j 5.19) 

Highlights

Surface for Developers and Data Scientists
  • GenAI plugin
    • Support for Vertex AI taskType and title embedding parameters
    • Support for Vertex AI vector encoding models textembedding-gecko@002, textembedding-gecko@003, and textembedding-gecko-multilingual@001.
Language and Graph Model
  • An optional keyword DISTINCT can now be used after UNION as the explicit form of a UNION with duplicate removal. Users now have the options of UNION ALL, UNION DISTINCT or UNION (the existing behavior, which behaves as UNION DISTINCT). Documentation is available here.
  • For LIST and STRING concatenation, || can now be used as a synonym of + Documentation is available here and here.
Scale and Availability
  • A new and improved eagerness analysis algorithm reduces the number of eager operators and improves explainability and performance, and reduces memory utilization.
  • Improvement to the ENABLE SERVER / ALTER SERVER commands which now validate user-supplied database names against allowed and denied database values, to preventing exceptions resulting from invalid values  – such as putting commas in string values rather than between, or attempting to use wildcard patterns (which are not supported).  

Operability & Observability

  • Plan descriptions produced by EXPLAIN and PROFILE now provide additional information about planned eager operators in the ‘Detail’ column, improving explainability.

Platform & Supportability

  • In line with OpenID Connect Core 1.0 updates to errata set 2, remove checks on the azp claim in OIDC tokens when there are multiple values in the aud claim.
  • Update to Apache Shiro 2.0.0

Security

  • Set permissions on /var/lib/neo4j/bin to 755
 

Fixes

  • Kernel Fixes
    • A fix that avoids database issues following a leader switch in clustered setups on 5.18.  We now perform an extra lease check to ensure a token’s replicated state is current before checking its existence in the database. This prevents attempts to create duplicate tokens post-switch, which can cause database panics.
    • Fixed transaction logs metrics that weren’t incremented in a cluster setup.
    • Fixes a rare issue in clustered setups where frequent leader switches could cause some internal record IDs to be reused.
    • Fixes a problem in CDC Change Identifier that occurs, for example, where a backup is restored to a point in time before an active CDC subscriber. In such cases, the current change ID would have a transaction ID ahead of the restored DB; and a subsequent transaction would have a commit timestamp before the new changes.  We now validate change identifiers against the current transaction log for the provided transaction ID, identifying such situations and providing an error to the user.
    • Fixes a problem when the verbose flag was set while using neo4j-admin to output a dump file.  This would cause both outputs to be written to standard out, resulting in garbage.  When running neo4j-admin database dump –to-stdout neo4j any logging output is now directed to standard err, and the database dump will be directed to standard out.
  • Cypher Fixes
    • Bug fixes and security updates on IMMUTABLE privileges
    • Fix bug in pipelined runtime where a fused pipeline following a CALL IN TRANSACTION subquery without RETURN could have generated incorrect code for reading from input rows, which could lead to an IndexOutOfBoundsException.
Please refer to the changelog for full details of the changes.