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.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:
|