Release Date: 2 December 2021
We are proud to announce the general availability of our Neo4j Database – Neo4j 4.4 Enterprise Edition.
Neo4j 4.4 is the core technology of the
Neo4j Graph Platform.
Important Information
This is a
Long Term Support release. Neo4j will provide patches and bug fixes for a minimum period of 36 months after the release date.
This release is generally available and ready for production.
Highlights
Developers and Data Scientists
- Cypher Shell Enhancements – new enhancements:
–change-password allows you to change your own password without initiating an interactive session.
:history improved, with one recall per command and other improvements
:connect :disconnect from inside the cypher shell, without exiting and re-entering it.
- HTTP API – A refreshed HTTP API for low overhead, dependency-free communications with Neo4j server with a familiar, cloud-native interface.
This release utilises server-side routing (for single request transactions) to remove the need to handle routing tables or use middleware to accomplish the same when connecting to clusters.
- User impersonation – This feature allows specially privileged users to act as another user without knowledge nor access to the impersonated user’s credentials. The Impersonator assumes the roles (and therefore all the permissions) of another user.
- Drivers Keepalive (connection liveness) – Connection hints can be provided on the driver APIs to initiate server/client behaviours to guard against connections being discontinued due to perceived inactivity. These behaviours include NOOP messages and returning records from the buffer, and can be configured for the time intervals required.
- TestKit with Community Authors – Community driver authors are supported by having access to the same validating tests that the official language drivers have to pass.
Language and Graphs
- Node pattern improvements – There is a new syntactic alternative for Cypher node patterns. The new syntax can be used in MATCH and inside pattern comprehension.
- RANGE and POINT indexes – RANGE Indexes evaluate Cypher predicates with =, >, <, >=, <= (and !=) comparison operators on booleans, integers, floats, strings, and temporals, and STARTS WITH on strings. POINT Indexes support multidimensional range predicate and distance predicates.
IMPORTANT: RANGE and POINT indexes are not selected by the Cypher planner, therefore they are helpful exclusively for a smooth migration to Neo4j 5.
- TEXT indexes – TEXT indexes replace B-tree indexes for string queries.
Performance
- New index hints – Users can force the planner to choose between a BTREE or a TEXT index when they are available. The feature is also available for relationship type and for relationship type/property indexes.
- CALL {…} TRANSACTIONS clause – A new clause allows user to start one or more transactions from within a transaction. For example, we can have a transaction that is used scan a significant amount of data in a graph, every X objects returned, we want to start another transaction executing more operations on those objects, while the original transaction can carry on with the scanning.
- SEARCH index improvements – Improved performance for SEARCH indexes when LIMIT is specified in the search procedure.
Aura and Cloud
- Cloud images for analytic workloads – New public images designed for analytics include Neo4j Bloom and GDS Library plugin, and the experimental APOC procedures.
Operability
- dbms.info() information in debug.log – the debug log file contains the output of the dbms.info() procedure call.
- SHOW TRANSACTIONS and TERMINATE TRANSACTION admin commands – Two new commands, one to check the status of the running transactions (SHOW TRANSACTIONS) and one to terminate a running transaction (TERMINATE TRANSACTION) have been introduced.
- SHOW DATABASES improvements – The SHOW DATABASE command has new columns in its verbose (YIELD *) form.
- READ ONLY databases – The ALTER DATABASE command can be used to set the access to READ ONLY or READ WRITE.
- Database aliases – Databases can be used with aliases. An alias has less restrictions in terms of naming convention, compared to the original name of a database.
- Neo4j Bloom and GDS library in the package – The package provided for Neo4j 4.4 Enterprise Edition contains Neo4j Bloom and the Graph Data Science Library. The package contains the most up-to-date version of those components who have been tested to work with the given version of the database.
Security
- Single Sign-On – Security integrations with customers’ identity providers, managed in-product through configuration, and built into Browser and Bloom. OIDC over oAuth2 is supported initially. Customers can implement SSO workflows in their own applications and pass tokens through the official Neo4j language drivers.
Deprecations
The list of deprecations for the Cypher language is available
here.
The documentation is available here:
The changelog for this release is available
here.
Available Packages
Packages are available in the
Download center.
Neo4j 4.4 is also available in Docker and in the usual Linux repositories (Debian and Yum).
Upgrading to Neo4j 4.4 Enterprise Edition
In order to migrate from Neo4j 3.5 to Neo4j 4.0, 4.1, 4.2, 4.3 or 4.4 follow the migration guide available
here.
The process to upgrade from Neo4j 4.0, 4.1, 4.2 or 4.3 to Neo4j 4.4 is described
here.
Clustering installations can be upgraded without downtime following
these instructions.