Release Date: 18 July 2022Neo4j 4.4.9 is a maintenance release with many important improvements and fixes.
Fixes a bug where nodes not having the required property for a node key constraint could be created during the creation of the constraint. They would silently violate the constraint and leave the database with a non-fulfilled node key constraint
Fixed bug where eagerness was handled incorrectly for overlaps in labels for predicates.
Do not plan distinct unions for overly large type disjunctions to avoid stack overflow errors
Fixes a bug where routing table requests may have incorrectly returned a
DatabaseNotFoundexception during an upgrade from 4.3 to 4.4
In 4.4, a
:DatabaseNamelabel was added to both existing
:Databasenodes, and also alias nodes. The
:DatabaseNamelabel in its CoreAPI queries when attempting to look up a
DatabaseReference.Internalfor a given string database name.
The issue is that during a rolling upgrade from 4.3 to 4.4, on instances already running 4.4 the model code has been changed and the routing table procedure has been updated to use it but the
:DatabaseNamelabel has not yet been created because users have not completed their upgrade or called
This means that although a
:Databasenode with the correct name exists, the model will return
Optional.empty()instead of a database reference and the end user will see a
This PR fixes this by updating the model logic to also consider
:Databasenodes without the
:DatabaseNamelabel, should the correct name property match.
Thanks to @mnd999 for noticing the issue and pairing on it.
Fix bug in Reduce Expressions and List comprehensions hiding variables that should be in scope https://github.com/neo4j/neo4j/issues/12868
OuterHashJoin gives wrong result if the joining nodes are from the outer apply. Fix: OuterHashJoin can only join on nodes which are introduced in the leaves of OuterHashJoin. Github issue https://github.com/neo4j/neo4j/issues/12836
Fix issue in planning a query with multiple repeated predicates in the WHERE sub-clause, reported in https://github.com/neo4j/neo4j/issues/12877
Upgrade Apache Shiro from
1.9.1. This version includes fixes for
Logical plans where the same variable is introduced in multiple leaves can cause trouble with inserting eager, which might make the query end up with incorrect results. Before this fix we assumed that a variable was stable as long as it was stable on one leaf. Fix: A variable should be considered unstable if it is both unstable and stable. Fixes github issue: https://github.com/neo4j/neo4j/issues/12878
Fix bug where, when there are two indexes on the same property, the planner would sometimes try to get a value from an index that doesn’t support it
Changed neo4j.service behaviour to stop neo4j getting stuck in an endless restart loop when neo4j consistently errors on startup (for example if the neo4j.conf is misconfigured).
Fixing that a database can get stuck in store copying if it is stopped during store copy.
Fixing the "There is nothing to send." error occuring in some scenarios at the end of a store copy.
Modernize background queries & remove use of deprectated syntax
Always send transaction metadata on cypher queries
Read cluster role from SHOW DATABASES rather than deprecated dbms.cluster.role
Make sure proper metadata is passed along with queries
Handle upcoming setting renames in neo4j 5.0
Fix PNG exports font
Use SHOW TRANSACTIONS instead of dbms.listQueries in :queries
Re-add metrics for successful queries
(*) in property panel now shows node count, rather than total label count
Add url param to preselect in connect frame
Redhat are no longer supporting or updating the
openjdkdocker images that we use as base images. This means there will no longer be security updates to
openjdkimages after July 2022.
Switching Docker base image to eclipse-temurin AdoptOpenJDK java built on top of
Stop leaking passwords to the terminal when standard out is redirected. In situations like
cypher-shell -u neo4j -f statements.cypher > out.txt.
Fixed an edge case where a
None.getexception was thrown when referencing a fabric graph inside a subquery, Github issue: neo4j/neo4j#12886
Changelog and Documentation4.4 Changelog.
4.4 Operations manual.