Release notes 2.15.0

This release of AgensGraph brings significant enhancements and bug fixes, including upstream compatibility with PostgreSQL 15.12, improved Cypher query support, and build infrastructure updates.

Upstream Changes:

  • Upstream Merge: AgensGraph is now compatible with PostgreSQL 15 up to the 15.12 release, incorporating the latest PostgreSQL improvements and security patches.

  • Row and Column Filtering for Logical Replication: Enhanced logical replication capabilities now allow for filtering specific rows and columns, providing more granular control over replicated data.

  • MERGE and CONCURRENT operations for COPY command: The COPY command now supports MERGE and CONCURRENT operations, improving data loading performance and flexibility.

  • Support for SQL/JSON Path Language improvements: Enhanced SQL/JSON path language support, offering more powerful and flexible JSON data manipulation.

Enhancements:

  • CREATE TABLE AS with Cypher Query (#675):

    • AgensGraph now supports creating tables directly from Cypher query results, enabling seamless data integration between relational and graph data.

  • graph_exists() Function (#680):

    • Introduced the graph_exists() function to check the existence of a graph within the database.

  • Variable Reuse Across Clauses (#683):

    • Fixed an issue that prevented variable reuse across different clauses in Cypher queries, enhancing query flexibility.

  • MERGE Label Creation (#665):

    • MERGE now correctly creates labels automatically when nodes or edges are created, simplifying graph manipulation.

  • Version String Reflection:

    • The version() string now accurately reflects AgensGraph, providing clear identification of the database system.

  • CTEs with Cypher (#690):

    • AgensGraph now supports Common Table Expressions (CTEs) with Cypher queries, enabling complex and modular graph queries.

  • Tab Completion for Graph Queries in PSQL:

    • Enhanced PSQL with tab completion for graph-related keywords and functions, improving user experience and productivity.

  • start_id() and end_id() functions for Edges:

    • Adds start_id() and end_id() functions for edge nodes, providing explicit information about the connected nodes.

Bug Fixes:

  • NULL for Non-Existent Labels in MATCH (#676):

    • MATCH queries now correctly return NULL for non-existent labels, ensuring predictable query results.

  • Underscore Variable Name Conflict (#677):

    • Resolved a conflict that occurred when using _ as a variable name in Cypher queries.

  • Unrecognized Node Type: 121 (#678):

    • Fixed an issue that caused an "unrecognized node type: 121" error during certain graph operations.

  • Incorrect Aggregate Function Results (#679):

    • Corrected an issue that led to incorrect results from aggregate functions within Cypher queries.

  • Build Issues with –with-llvm (#691):

    • Addressed build issues encountered when using the --with-llvm configure option.

Build Infrastructure:

  • SPGIST Test Fix:

    • Resolved a SPGIST test failure related to binary upgrades, ensuring smooth upgrade processes.

  • TAP Tests for pg_checksums:

    • Fixed TAP tests for pg_checksums, improving build reliability and test coverage.

  • Platform Support Changes:

    • Removed CentOS from the list of supported platforms.

    • Added Rocky Linux as a supported platform.