Release notes 2.16.0

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

Upstream Changes:

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

  • Parallel FULL and RIGHT/OUTER Hash Joins: Added support for parallel execution of FULL and internal RIGHT OUTER hash joins, improving performance on large join queries.

  • SQL/JSON Standard Functions: New SQL/JSON features such as JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_EXISTS() provide more standard-compliant JSON processing.

  • Vacuum Freezing Improvements: Reduced overhead for vacuum operations and smarter freezing strategy lowers maintenance costs on large tables.

Enhancements:

  • Allow Row Level Security Policies to work with cypher queries (#744):

    • Enables row-level access using user-defined policies, useful for enforcing data security and managing permissions in database administration.

  • Add meta extension for agensgraph (#766):

    • Collection of helper functions for AgensGraph that simplify working with graph metadata.

  • Add Tab-completion for AgensGraph syntax (#768):

    • Support the tab completion of psql client for the cypher syntax.

  • Improve interoperability with extensions (#743):

    • Enhances compatibility with other PostgreSQL extensions, such as pgvector, enabling smoother integration within cypher queries.

  • Row count in get diagnostics (#739):

    • To properly accumulate graphWriteStats in PL/pgSQL, the SPI logic has been updated. It now supports commands such as GET DIAGNOSTICS.

AI Library:

You can access those products at the AI Repository

  • LangChain AgensGraph

    • Python plugin to provide support for GraphStore and VectorStore integration in langchain.

  • LlamaIndex AgensGraph

    • Python plugin to provide support for AgensGraphStore, PropertyGraphIndex, AgensgraphVectorStore integration in llamaindex.

  • AgensGraph LightRag

    • Python plugin to add support for storing and querying knowledge graphs in AgensGraph with LightRAG.

  • Cognee Community Graph Adapter - AgensGraph

    • Python plugin to provide an AgensGraph graph database adapter for the Cognee framework.

  • AgensGraph MCP Server

    • A Model Context Protocol (MCP) server implementation that provides database interaction and allows graph exploration capabilities through AgensGraph.

Bug Fixes:

  • ACL logic to the ModifyGraph (#742)

    • ACL check logic was previously in the ExecDeleteGraph function, but it was not specific to that operation. It has now been moved to ExecInitModifyGraph.

  • Crash and errors on some cases of non-existent labels (#747)

    • The server would crash or error out if non-existent label was used in MATCH/MERGE clause for some cases.

  • Crash on variable reuse in MERGE clause (#747)

    • The server would crash if an already declared variable from the previous clauses is referenced in MERGE clause.

  • Alter the default expression to column properties (#750)

    • In the dumping action, the default column properties were not properly set. Now it’ll set the default column property after the dump properly.

  • Invalid label numbering after RENAME command (#757)

    • After executing the ALTER LABEL RENAME command, the target label ID was not properly updated when inserting into that label. It will now correctly follow the proper label ID.

  • fix: Columns not visible when using a VLE. (#609) (#610)

    • Variable used VLE expression is not visible in subsequent transformation.

Documentation:

  • Add Cypher Reference Documentation in SGML (#755):

    • The sgml files are added for the agensgraph cypher syntax.

  • Documentation Portal:

    • New website provide detailed documentation and API reference for AgensGraph