Release Date: 29 July 2016

Neo4j 3.0.4 is a maintenance release, with important improvements.


  • Cypher
    • Functions toInt(), toFloat(), labels(), type() now accepts arguments with type Any Issue #7392
    • min() and max() now accepts strings properly – fixes Issue #6979
    • Improve performance for queries with many OPTIONAL MATCH – fixes Issue #7407
  • Bolt
    • Better readable error message when missing username and password PR #7487
    • TransientErrors (which includes DeadlockError) are reported to user Issue #7116
  • Kernel
    • Enterprise Edition only: Allow relationship ids to be reused. Introduce property dbms.ids.reuse.types.override to specify names of id types (comma separated) that should be reused. Currently only RELATIONSHIP type is supported. PR #7555
    • Fix failure propagation in concurrent environment during application of transactions to log PR #7621
    • Fixes issue in Neo4j 3.0 where refreshing a legacy index that had not changed since last refresh would cause a null pointer exception PR #7631
  • HA
    • Removal of read locks on properties together with a fix for previously found issue (PR #7349) in 3.0.3 PR #7477

Detailed Changes

For the complete list of all changes, please see the changelog.


Note:Upgrading to this version of Neo4j may change the internal ids of relationships, which can invalidate any manually maintained relationship references whether in an external system or stored within Neo4j as a property value. Plan to verify and recreate any such storage after the upgrade.

Please read the upgrading section of the Neo4j Operations Manual for details.