Release Date: 29 December 2015

Neo4j 2.2.8 is a maintenance release, with critical improvements.


  • Fixes #6075 – internal transaction pools would incorrectly hold on to the defunct lock manager from the previous epoch after a master switch, which would then cause arbitrary future transactions to fail with a MasterClient214 could not connect ComException.
  • Fixes #6022 – a bug with legacy index transaction state, that could lead to missing index entries, when a transaction involve both a node legacy index and a relationship legacy index, that both have the same name, and one of the indexes is dropped or relationships are removed from the relationship legacy index.
  • Fixes #5988 – a performance issue where locks were taken for read-only queries when reading properties with a unique constraint. This was a regression for the RULE planner, and always a performance issue for the COST planner
  • Several Cypher fixes: Equality now treats chars as strings, NoSuchIndex is now a DatabaseError, ..and more..

Detailed Changes

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


All Neo4j users are recommended to upgrade to this release. Upgrading to Neo4j 2.2 (from Neo4j 2.1 or earlier) requires a migration to the on-disk store and can not be reversed. Please ensure you have a valid backup before proceeding. Production users of Neo4j 2.1, or earlier, should note that there will be configuration changes required and that applications will need to be updated to support authentication of database requests. Please see our Upgrading to Neo4j 2.2 FAQ for further details.

(Note: Neo4j 1.9 users may also upgrade directly to this release, and are recommended to do so carefully. We strongly encourage verifying the syntax and validating all responses from your Cypher scripts, REST calls, and Java code before upgrading any production system. For information about upgrading from Neo4j 1.9, please see our Upgrading to Neo4j 2 FAQ.)