Additions, deprecations, removals, and compatibility
This chapter lists all the features that have been removed, deprecated, added or extended in the recent versions of APOC.
|
APOC 2025.06 includes many changes only compatible with Cypher 25, and the last updates to Cypher 5.
Any changes to APOC in future releases (APOC 2025.07+) are only compatible with Cypher 25.
Procedures and functions removed from Cypher 25 can still be accessed using APOC 2025.06+, either by prepending a query with |
Version 2025.09
Deprecated in Cypher 25
| Feature | Details |
|---|---|
Procedure Deprecated
|
|
Version 2025.08
Updated in Cypher 25
| Feature | Details |
|---|---|
Procedure Updated
|
The |
Version 2025.07
Deprecated in Cypher 25
| Feature | Details |
|---|---|
Function Deprecated
|
This function is deprecated in favor of Cypher’s COLLECT {} expression.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s reduce() function.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s
|
Procedure Deprecated
|
This function is deprecated in favor of the following Cypher solution:
|
Procedure Deprecated
|
This function is deprecated in favor of the following Cypher solution:
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s list comprehension.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Function Deprecated
|
Use Cypher’s reduce() function with a CASE expression.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s list comprehension.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s list comprehension.
|
Procedure Function Deprecated
|
This function and procedure are deprecated in favor of the following Cypher solution:
|
Procedure Function Deprecated
|
This function and procedure are deprecated in favor of the following Cypher solution:
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Function Deprecated
|
Use Cypher’s COLLECT {} expression and ORDER BY clause:
|
Function Deprecated
|
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Function Deprecated
|
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s list functions.
To convert a
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic labels using
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic labels. See the Cypher Manual → CREATE nodes and relationships using dynamic node labels and relationship types for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic labels. See the Cypher Manual → CREATE nodes and relationships using dynamic node labels and relationship types for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic types. See the Cypher Manual → CREATE nodes and relationships using dynamic node labels and relationship types for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic labels. See the Cypher Manual → Dynamically remove a node label for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically removing a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically removing a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic labels. See the Cypher Manual → Dynamically setting a label for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically setting or updating a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically setting or updating a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically setting or updating a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically setting or updating a property for more information.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s Temporal functions - instant types.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s
|
Function Deprecated
|
Cypher’s
|
Function Deprecated
|
Cypher’s
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s type predicate expressions.
|
Function Deprecated
|
This function is deprecated in favor of Cypher’s value type function.
|
Function Deprecated
|
Cypher will perform a degree lookup on simple patterns when using the COUNT {} expression:
|
Function Deprecated
|
Use Cypher’s EXISTS {} expression:
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s
|
Function Deprecated
|
See
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic labels. See the Cypher Manual → Dynamically setting a label and Cypher Manual → Dynamically removing a label for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically set or update a property and Cypher Manual → Dynamically removing a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic types and
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic properties. See the Cypher Manual → Dynamically set or update a property and Cypher Manual → Dynamically removing a property for more information.
|
Procedure Deprecated
|
This procedure is deprecated in favor of Cypher’s dynamic types and
|
Procedure Deprecated
|
Replaced by Cypher’s conditional queries:
|
Version 2025.06
Removed in Cypher 25
| Feature | Details |
|---|---|
Procedure Removed
|
These procedures have been migrated to the APOC Extended library. This means they are no longer officially supported by Neo4j. |
Procedure Removed
|
These procedures have been removed in favor of the new apoc.trigger procedures. |
Procedure Removed
|
This procedure has been removed because it duplicates the functionality of the page cache warm-up, which is part of the DBMS. Additionally, the API of this procedure is specific to the Record storage engine, which is no longer the default storage engine for Neo4j. |
Procedure Removed
|
This procedure has been replaced by apoc.paths.toJsonTree. |
Function Removed
|
These functions have been replaced by Cypher’s randomUUID() function. |
Function Removed
|
This function has been replaced by apoc.map.setKey. |
Function Removed
|
This function has been replaced by apoc.text.replace. |
Function Removed
|
This function has been replaced by apoc.text.distance. |
Deprecated in Cypher 25
| Feature | Details |
|---|---|
Function Deprecated
|
Replaced by Cypher’s
|
Function Deprecated
|
Replaced by Cypher’s
|
Function Deprecated
|
Replaced by Cypher’s
|
Function Deprecated
|
Replaced by Cypher’s
|
Updated in Cypher 5 and 25
| Feature | Details |
|---|---|
Procedure Updated
|
The |
Version 2025.01
Updated procedures and functions
| Feature | Details |
|---|---|
Procedure Updated
|
|
Procedure Updated
|
|
Procedure Updated
|
|
Version 5.26
Deprecated procedures and functions
| Feature | Details |
|---|---|
Procedure Deprecated
|
All of these procedures will be migrated to the APOC Extended library in an upcoming major version. |
Function Deprecated
|
This function is a duplicate of apoc.map.setKey and will be removed in an upcoming major version. |
Function Deprecated
|
This function is a duplicate of apoc.text.replace and will be removed in an upcoming major version. |
Function Deprecated
|
This function is a duplicate of apoc.text.distance and will be removed in an upcoming major version. |
Updated procedures and functions
| Feature | Details |
|---|---|
Function Updated
|
|
Version 5.20
Version 5.4
Deprecated procedures and functions
| Feature | Details |
|---|---|
Procedure Deprecated
|
Use the following instead:
|
Procedure Deprecated
|
Use the following instead:
|
Procedure Deprecated
|
Use the following instead:
|
Procedure Deprecated
|
Use the following instead:
|
Procedure Deprecated
|
Use the following instead:
|
Updated procedures and functions
| Feature | Details |
|---|---|
Procedure Updated
Deprecated config fields:
|
Use the following instead:
|
New procedures and functions
| Feature | Details |
|---|---|
Procedure New
|
Eventually removes the given trigger. |
Procedure New
|
Eventually all triggers from the given database. |
Procedure New
|
Eventually a trigger for a given database which is invoked when a successful transaction occurs. |
Procedure New
|
Lists all eventually installed triggers for a database. |
Procedure New
|
Eventually stops the given trigger. |
Procedure New
|
Eventually restarts the given paused trigger. |
Version 5.1
Removed procedures and functions
| Feature | Details |
|---|---|
Function Removed
|
Use the following instead:
or
|
Function Removed
|
Use the following instead:
|
Function Removed
|
Use the following instead:
or
|
Function Removed
|
Use the following instead:
|
Function Removed
|
Use the following instead:
or
|
Function Removed
|
Use the following instead:
or
|
Function Removed
|
Use the following instead:
|
Version 5.0
Config updates
| Feature | Details |
|---|---|
Config Updated APOC config settings are no longer supported in |
All apoc.* settings should now be set via an environment variable or added to See here for more information. |
Deprecated procedures and functions
| Feature | Details |
|---|---|
Function Deprecated
|
Replaced by Neo4j Function randomUUID():
|
Procedure Deprecated
|
Replaced by Neo4j Function randomUUID():
|
Procedure Deprecated
|
This procedure duplicated functionality of page cache warm up which is a part of the DBMS. |
Removed procedures and functions
| Feature | Details |
|---|---|
Procedure Removed
|
Use the following instead:
|
Function Removed
|
Replaced by:
|
Function Removed
|
Replaced in Cypher with:
|
Procedure Removed
|
Replaced by:
|
Procedure Removed
|
Replaced by:
|
Procedure Removed
|
Replaced by:
|
Procedure Removed
|
Replaced by:
|
Function Removed
|
Replaced by:
|
Function Removed
|
Replaced by:
|
Function Removed
|
Replaced by:
|
Function Removed
|
Replaced by:
|
Procedure Removed
|
Partially replaced in Cypher with:
|
Procedure Removed
|
Replaced in Cypher with:
|
Procedure Removed
|
Replaced by:
|
Procedure Removed
|
Replaced by:
|
Procedure Removed
|
Replaced by:
|
Procedure Removed
|
Use the following instead, and set withRelationships = true:
|
Procedure Removed
|
Replaced by the function:
|
Procedure Removed
|
Replaced by the function:
|
Function Removed
|
Replaced by the Neo4j round() function:
|
Function Removed
|
Replaced by:
|