Skip to content

Releases: apache/age

Release v1.8.0 for PG18

Pre-release

Choose a tag to compare

@jrgemignani jrgemignani released this 09 Jul 00:21
e43dc1a

Release Notes for Apache AGE release 1.8.0 for PG18 branch

WARNING!

Always back up your database before executing any upgrade scripts

WARNING!

Apache AGE 1.8.0 - Release Notes

Merge master into PG18: advance to Apache AGE 1.8.0
Advance master branch to Apache AGE version 1.8.0 (#2455)
Fix installcheck fetch-depth parameter to 100 (#2461)
Fix segfault on CREATE/MERGE/SET with generated or extra label columns (#2458)
Propagate null through unnest and single() three-valued logic (#2406)
Add automatic header-dependency tracking to the Makefile (#2454)
ci: pin Build/Regression runner to ubuntu-24.04 and guard Bison version for GLR grammar (#2445)
Fix segfault and out-of-bounds reads in file loaders on malformed rows (#2453)
Support outer references in reduce() fold bodies (#2448)
Fix stack overflow and precision loss in toFloatList() conversion (#2451)
Fix Node.js driver CI build broken by @types/node drift (#2452)
Preserve null-valued keys in map literals (#2391) (#2412)
Fix single-node labeled pattern expressions not filtering by label (#2443) (#2444)
Support relationship-type filters and a minimum hop count (#2442)
resolve subgraph staging sequences via regclass (#2446)
Add reduce() list folding function (#2435)
Support pattern expressions as boolean expressions (#2360)
Add shortest_path / all_shortest_paths SRFs (#2430)
cypher_with: add ORDER BY to non-deterministic RETURN queries (#2436)
Make ag_catalog ownership and built-in resolution explicit (#2440)
Makefile: add installcheck-existing target and improve readability (#2437)
age_global_graph: stabilize regression tests (#2431)
cypher_vle: add ORDER BY to non-deterministic RETURN queries (#2434)
feature: add create_subgraph() (#2441)
Make age extension usable from shared_preload_libraries (#2438)
Fix locale-dependent string comparison in direct_field_access test (#2439)
Fix VLE [*0..N] zero-hop self-binding when edge label is missing (#2382) (#2419)
fix: remove pthread_mutex that causes self-deadlock on VLE queries (#2433)
Restore contsel/contjoinsel for containment & key-existence operators (#2356) (#2417)
perf: VLE hash-adjacency overhaul — agehash + flat-array VertexEdgeArray (#2421)
python driver: preserve trailing quotes in agtype string values (#2425)
perf(agtype): arena passthrough + binary-direct id extraction (#2424)
Add vertex and edge composite types with direct field access optimization (#2303)
perf: VLE terminal-qual rewrite (#2420)
Add agtype <-> jsonb bidirectional casts (#350) (#2361)
feat(python-driver): add public API for connection pooling and model dict conversion (#2374)
Fix upgrade test: allow function removal (#2422)
Zero-initialize parent_cpstate in analyze_cypher (#2423)
Fix upgrade test: replace data-integrity checks with catalog comparison (#2403)
Allow safe Cypher reserved keywords in alias positions (#2355) (#2415)
Propagate null through agtype arithmetic operators (#2405)
Update README.md (#2414)
Add VLE semantics and cost model design note (#2349) (#2413)
Fix property access on list comprehension / predicate loop variables (#2402)
Add MERGE ON CREATE SET / ON MATCH SET support (#2347)
Propagate null in agtype_access_slice bounds (#2400)
VLE cache + performance improvements (#2376)
CI: fail build on compiler and bison warnings (#2398)
fix(python-driver): add null-guards in ANTLR parser and relax runtime version pin (#2372)
Return an empty list from tail() for empty and singleton lists (#2399)
Fix substring() crash when start-offset is NULL and length is supplied (#2401)
fix(python-driver): quote-escape column aliases in buildCypher() (#2373)
Implement predicate functions: all(), any(), none(), single() (#2359)
Fix OPTIONAL MATCH dropping null-preserving rows with subquery WHERE (#2380)
Python driver: Add skip_load parameter to skip LOAD 'age' statement (#2366)
Fix upgrade test: build default install SQL from HEAD, not initial commit (#2397)
Improve extension upgrade regression test (addendum to #2364) (#2377)
Add missing include for PR: Add index scan (#2351) (#2379)
Add index scan (#2351)
Fix MATCH on brand-new label after CREATE returning 0 rows (#2341)
Fix nondeterministic age_global_graph regression test (#2365)
Add extension upgrade template regression test (#2364)
Fix crash in PREPARE with property parameter when enable_containment is off (#2339)
Fix entity_exists() CID visibility for CREATE + WITH + MERGE (#2343)
Support doubled-quote escaping in Cypher string literals (issue #2222) (#2342)
Fix MATCH after CREATE returning 0 rows (issue #2308) (#2340)
Fix chained MERGE not seeing sibling MERGE's changes (#1446) (#2344)
Fix VLE queries failing on read-only replicas (#2160) (#2345)
Fix VLE NULL handling for chained OPTIONAL MATCH (#2337)
fix incorrect variable assignment (#2336)
Remove labeler github action (#2335)
Fix ISO C90 forbids mixed declarations and code warning (#2334)
Fix null pointer handling in array iteration (#2313)
Fix security vulnerabilities in Node.js driver (#2329)
Update python-driver security and formatting (#2330)
Fix JDBC driver CI test failures (#2333)
Add pg_upgrade support functions for PostgreSQL (#2326)

Release v1.8.0 for PG19

Pre-release

Choose a tag to compare

@jrgemignani jrgemignani released this 09 Jul 00:17
d03d1cb

Release Notes for Apache AGE release 1.8.0 for PG19 branch (currently PG19beta1)

WARNING!

Always back up your database before executing any upgrade scripts

This is a BETA release of Apache AGE built on PostgreSQL 19beta1. Please, treat it as such!

WARNING!

Apache AGE 1.8.0 - Release Notes

Point PG19 driver tests at the PG19 image (dev_snapshot_PG19) (#2464)
Fix Docker Hub build: use postgres:19beta1 base image (#2462)
Support building against PostgreSQL 19 (#2457)
Fix installcheck fetch-depth parameter to 100 (#2461)
Fix segfault on CREATE/MERGE/SET with generated or extra label columns (#2458)
Propagate null through unnest and single() three-valued logic (#2406)
Add automatic header-dependency tracking to the Makefile (#2454)
ci: pin Build/Regression runner to ubuntu-24.04 and guard Bison version for GLR grammar (#2445)
Fix segfault and out-of-bounds reads in file loaders on malformed rows (#2453)
Support outer references in reduce() fold bodies (#2448)
Fix stack overflow and precision loss in toFloatList() conversion (#2451)
Fix Node.js driver CI build broken by @types/node drift (#2452)
Preserve null-valued keys in map literals (#2391) (#2412)
Fix single-node labeled pattern expressions not filtering by label (#2443) (#2444)
Support relationship-type filters and a minimum hop count (#2442)
resolve subgraph staging sequences via regclass (#2446)
Add reduce() list folding function (#2435)
Support pattern expressions as boolean expressions (#2360)
Add shortest_path / all_shortest_paths SRFs (#2430)
cypher_with: add ORDER BY to non-deterministic RETURN queries (#2436)
Make ag_catalog ownership and built-in resolution explicit (#2440)
Makefile: add installcheck-existing target and improve readability (#2437)
age_global_graph: stabilize regression tests (#2431)
cypher_vle: add ORDER BY to non-deterministic RETURN queries (#2434)
feature: add create_subgraph() (#2441)
Make age extension usable from shared_preload_libraries (#2438)
Fix locale-dependent string comparison in direct_field_access test (#2439)
Fix VLE [*0..N] zero-hop self-binding when edge label is missing (#2382) (#2419)
fix: remove pthread_mutex that causes self-deadlock on VLE queries (#2433)
Restore contsel/contjoinsel for containment & key-existence operators (#2356) (#2417)
perf: VLE hash-adjacency overhaul — agehash + flat-array VertexEdgeArray (#2421)
python driver: preserve trailing quotes in agtype string values (#2425)
perf(agtype): arena passthrough + binary-direct id extraction (#2424)
Add vertex and edge composite types with direct field access optimization (#2303)
perf: VLE terminal-qual rewrite (#2420)
Add agtype <-> jsonb bidirectional casts (#350) (#2361)
feat(python-driver): add public API for connection pooling and model dict conversion (#2374)
Fix upgrade test: allow function removal (#2422)
Zero-initialize parent_cpstate in analyze_cypher (#2423)
Fix upgrade test: replace data-integrity checks with catalog comparison (#2403)
Allow safe Cypher reserved keywords in alias positions (#2355) (#2415)
Propagate null through agtype arithmetic operators (#2405)
Update README.md (#2414)
Add VLE semantics and cost model design note (#2349) (#2413)
Fix property access on list comprehension / predicate loop variables (#2402)
Add MERGE ON CREATE SET / ON MATCH SET support (#2347)
Propagate null in agtype_access_slice bounds (#2400)
VLE cache + performance improvements (#2376)
CI: fail build on compiler and bison warnings (#2398)
fix(python-driver): add null-guards in ANTLR parser and relax runtime version pin (#2372)
Return an empty list from tail() for empty and singleton lists (#2399)
Fix substring() crash when start-offset is NULL and length is supplied (#2401)
fix(python-driver): quote-escape column aliases in buildCypher() (#2373)
Implement predicate functions: all(), any(), none(), single() (#2359)
Fix OPTIONAL MATCH dropping null-preserving rows with subquery WHERE (#2380)
Python driver: Add skip_load parameter to skip LOAD 'age' statement (#2366)
Fix upgrade test: build default install SQL from HEAD, not initial commit (#2397)
Improve extension upgrade regression test (addendum to #2364) (#2377)
Add missing include for PR: Add index scan (#2351) (#2379)
Add index scan (#2351)
Fix MATCH on brand-new label after CREATE returning 0 rows (#2341)
Fix nondeterministic age_global_graph regression test (#2365)
Add extension upgrade template regression test (#2364)
Fix crash in PREPARE with property parameter when enable_containment is off (#2339)
Fix entity_exists() CID visibility for CREATE + WITH + MERGE (#2343)
Support doubled-quote escaping in Cypher string literals (issue #2222) (#2342)
Fix MATCH after CREATE returning 0 rows (issue #2308) (#2340)
Fix chained MERGE not seeing sibling MERGE's changes (#1446) (#2344)
Fix VLE queries failing on read-only replicas (#2160) (#2345)
Fix VLE NULL handling for chained OPTIONAL MATCH (#2337)
fix incorrect variable assignment (#2336)
Remove labeler github action (#2335)
Fix ISO C90 forbids mixed declarations and code warning (#2334)
Fix null pointer handling in array iteration (#2313)
Fix security vulnerabilities in Node.js driver (#2329)
Update python-driver security and formatting (#2330)
Fix JDBC driver CI test failures (#2333)
Add pg_upgrade support functions for PostgreSQL (#2326)

Release v1.7.0 for PG17

Choose a tag to compare

@jrgemignani jrgemignani released this 11 Feb 17:08
e1467f1

Release Notes for Apache AGE release 1.7.0 for PG17 branch

WARNING!

Please note the upgrade script (age--1.6.0--1.7.0.sql) may take a while to
complete for large graphs, due to creation of indexes for existing labels.

WARNING!

Apache AGE 1.7.0 - Release Notes

Fix upgrade script for 1.6.0 to 1.7.0 (#2320)
Add RLS support and fix permission checks (#2309)
Replace libcsv with pg COPY for csv loading (#2310)
Fix Issue 1884: Ambiguous column reference (#2306)
Upgrade Jest to v29 for node: protocol compatibility (#2307)
Optimize vertex/edge field access with direct array indexing (#2302)
feat: Add 32-bit platform support for graphid type (#2286)
Fix and improve index.sql addendum (#2301)
Fix and improve index.sql regression test coverage (#2300)
Fix Issue 2289: handle empty list in IN expression (#2294)
Revise README for Python driver updates (#2298)
Makefile: fix race condition on cypher_gram_def.h (#2273)
Restrict age_load commands (#2274)
Migrate python driver configuration to pyproject.toml (#2272)
Convert string to raw string to remove invalid escape sequence warning (#2267)
Update grammar file for maintainability (#2270)
Fix ORDER BY alias resolution with AS in Cypher queries (#2269)
Fix possible memory and file descriptors leaks (#2258)
Adjust 'could not find rte for' ERROR message (#2266)
Fix Issue 2256: segmentation fault when calling coalesce function (#2259)
Add index on id columns (#2117)
Fix issue 2245 - Creating more than 41 vlabels causes crash in drop_graph (#2248)
Fix issue 2243 - Regression in string concatenation (#2244)
Add fast functions for checking edge uniqueness (#2227)
Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 in /drivers/golang (#2212)
Fix issue with CALL/YIELD for user defined and qualified functions. (#2217)

Release v1.7.0 for PG18

Choose a tag to compare

@jrgemignani jrgemignani released this 21 Jan 20:26
806fa2e

Release Notes for Apache AGE release 1.7.0 for PG18 branch

Apache AGE 1.7.0 - Release Notes

NOTE: There isn't an upgrade path for PostgreSQL PG18 1.7.0 as
there isn't a prior version.

Advance PG18 branch to Apache AGE version 1.7.0
Add RLS support and fix permission checks (#2309)
Replace libcsv with pg COPY for csv loading (#2310)
Fix Issue 1884: Ambiguous column reference (#2306)
Upgrade Jest to v29 for node: protocol compatibility (#2307)
Optimize vertex/edge field access with direct array indexing (#2302)
feat: Add 32-bit platform support for graphid type (#2286)
Fix and improve index.sql addendum (#2301)
Fix and improve index.sql regression test coverage (#2300)
Fix Issue 2289: handle empty list in IN expression (#2294)
Revise README for Python driver updates (#2298)
Makefile: fix race condition on cypher_gram_def.h (#2273)
Restrict age_load commands (#2274)
Migrate python driver configuration to pyproject.toml (#2272)
Convert string to raw string to remove invalid escape sequence warning (#2267)
Update grammar file for maintainability (#2270)
Fix ORDER BY alias resolution with AS in Cypher queries (#2269)
Fix possible memory and file descriptors leaks (#2258)
Adjust 'could not find rte for' ERROR message (#2266)
Fix Issue 2256: segmentation fault when calling coalesce function (#2259)
Add index on id columns (#2117)
Fix issue 2245 - Creating more than 41 vlabels causes crash in drop_graph (#2248)
Fix DockerHub build warning messages (#2252)
Update CI for BaseDockerizedTest (#2254)
PG18 port for AGE (#2251)
Updated CI, Labeler, Docker, and branch security files for PG18 (#2246)
Fix issue 2243 - Regression in string concatenation (#2244)
Add fast functions for checking edge uniqueness (#2227)
Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 in /drivers/golang (#2212)
Update branch security (#2219)
Fix issue with CALL/YIELD for user defined and qualified functions. (#2217)

Release v1.6.0 for PG15

Choose a tag to compare

@jrgemignani jrgemignani released this 20 Nov 18:41
fa1af8d

Release Notes for Apache AGE release 1.6.0 for PostgreSQL version 15

WARNING!

Since there are modifications to agtype gin operators, users who are
upgrading will need to drop the gin indexes before running the upgrade
script and recreate them afterwards.

As always, please backup your database prior to any upgrade.

WARNING!

Apache AGE 1.6.0 - Release Notes

 Fix issue 2205: left doesn't catch overflow (#2207)
 Fix issue 2201: unexpected empty string behavior (#2203)
 Add support for operators in cypher query (#2172)
 Reimplement list comprehension (#2169)
 Update labeler.yml (#2186)
 Fix issue with the CI build and labeler (#2183)
 Fix CSV import for edge with one property (#2175)
 Remove stale bot and update .asf.yaml settings (#2171)
 Prevent object access hook from accesing not installed namespace (#2161)
 Fix CI build errors caused by missing dependencies (#2163)
 Add support for external extensions (#2088)
 Fix issue 2093: pfree() called with a NULL pointer (#2095)
 Fix issue 1955 - List comprehension in WHERE clause (#2094)
 Add support for fuzzystrmatch and other external extensions (#2083)
 Fix memory leaks in functions part 1 (#2066)
 Issue 1996 - Add agtype to json typecast (#2075)
 Fix issue 2046: Memory leak during btree(agtype) (#2060)
 Refactor Dockerfile to use multi-stage builds (#2004)
 Revamp age csv loader (#2044)
 Fix issue 2020: Memory leak (#2028)
 Fix Issue 1907: SET on MERGE not storing edge properties (#2019)
 Add EmitWarningsOnPlaceholders("age") (#1997)
 Fix Issue 1988: How to update a property which is a keyword (#2005)
 Fix obsolete docker-compose command in CIs (#2007)
 Fix issue 1986: Failure creating label name close to MAX_LABEL_NAME_LEN (#1989)
 Fix issue 1953 - PG Boolean used as AGTYPE object (#1959)
 Add graph_exists function (#1958)
 Fix issue 1956 - null key name passed. (#1957)
 docs: add link to .NET open-source driver (#1938)
 Add the `load_from_plugins` parameter in the Python driver to load AGE from the $libdir/plugins directory (#1935)
 Fix issue 1910: Server crashes when using exists(vle path) (#1924)
 Converted single line comments to multiline (#1908)
 Add function is_valid_label_name (#1911) (#1912)
 Fixes small typos in the python driver's README.md file (#1909)
 Fix agtype_build_map to allow more than 50 pairs (#1901)
 Agtype hash cmp (#1893)
 Order some regression tests for stability on big-endian (#1892)
 Update github stale action (#1891)
 Make CALL YIELD grammar more precise (#1852)
 Fix issue 1878 - Regression test failure with delete global graphs (#1881)
 Corrected typos and grammatical errors in apache-age-basic.ipynb (#879)
 Add workflow for stale issues and PRs (#1872)
 Implement Returnless Unions in Subqueries (#1803)
 [CI] Update docker image tags (#1865)
 Add branch protection rules in .asf.yaml (#1854)
 [CI] Update labeler github action (#1851)
 Fix error using list comprehension with WITH * (#1838)
 python driver psycopg3 (#1793)
 Minor VLE and agtype_eq/ne performance updates (#1808)
 Fix issue 1767: CREATE TABLE AS SELECT * FROM cypher, errors (#1799)
 Implement Constraints on Subqueries (#1751)
 Fix connection string in Python Driver (#1757)
 Added integer conversion in toBoolean functions (#1199)
 Update README.md (#1756)
 Add the command graph_stats and improve VLE messaging for load (#1750)
 Add helpful messages to the VLE subsystem (#1742)
 Update README.md (#1728)
 Added Networkx Support in python driver (#1716)
 Remove duplicate check (#1740)
 Fix Issue 1709 - MERGE creates incomplete vertices after the first one (#1721)
 Fix shift/reduce conflict in grammar (#1719)
 Fix Issue 1691 - MERGE incorrectly creates multiple vertices (#1718)
 Implement map projection (#1710)
 Add hooks for multi-arch builds on dockerhub (#1683)
 Sample code for AGE-JDBC driver (#390)
 Allow agtype_build_map to use AGTYPE keys (#1666)
 Implement EXISTS Subquery      (#1562)
 Fix Issue 1634: Setting all properties with map object causes error (#1637)
 Fix Issue 1630: MERGE using array not working in some cases (#1636)
 Implement list comprehension (#1610)
 Update Go installation and add in parser files (#1582)
 Add optional parameter '=' in property constraints (#1516)
 Fix unsorted output of some queries in the cypher_match test (#1507)
 Update age_load to make property value conversion optional (#1525)
 Update the Go driver documentation, Linux installer, and CI (#1527)
 Fix json serialization error in Python Driver (#1228)
 Add template for upgrading between versions of Apache AGE (#1506)
 Update age_load to load scalar property values with appropriate type (#1519)
 Fix apache#1513 - Invalid variable reuse in CREATE and MERGE clause (#1515)
 Clean up #included files in src/include directories (#1518)
 Bump gopkg.in/yaml.v3 in /drivers/golang (#1202)
 Clean up #included files in catalog & commands directories (#1514)
 Clean up #included files in nodes, executor, & optimizer directories (#1509)
 Correct cleanup of age--x.x.x.sql files (#1505)

Release v1.6.0 for PG14

Choose a tag to compare

@jrgemignani jrgemignani released this 20 Nov 18:44
41c0829

Release Notes for Apache AGE release 1.6.0 for PostgreSQL version 14

WARNING!

Since there are modifications to agtype gin operators, users who are
upgrading will need to drop the gin indexes before running the upgrade
script and recreate them afterwards.

As always, please backup your database prior to any upgrade.

WARNING!

Apache AGE 1.6.0 - Release Notes

 Fix issue 2205: left doesn't catch overflow (#2207)
 Fix issue 2201: unexpected empty string behavior (#2203)
 Add support for operators in cypher query (#2172)
 Reimplement list comprehension (#2169)
 Update labeler.yml (#2186)
 Fix issue with the CI build and labeler (#2183)
 Fix CSV import for edge with one property (#2175)
 Remove stale bot and update .asf.yaml settings (#2171)
 Prevent object access hook from accesing not installed namespace (#2161)
 Fix CI build errors caused by missing dependencies (#2163)
 Add support for external extensions (#2088)
 Fix issue 2093: pfree() called with a NULL pointer (#2095)
 Fix issue 1955 - List comprehension in WHERE clause (#2094)
 Add support for fuzzystrmatch and other external extensions (#2083)
 Fix memory leaks in functions part 1 (#2066)
 Issue 1996 - Add agtype to json typecast (#2075)
 Fix issue 2046: Memory leak during btree(agtype) (#2060)
 Refactor Dockerfile to use multi-stage builds (#2004)
 Revamp age csv loader (#2044)
 Fix issue 2020: Memory leak (#2028)
 Fix Issue 1907: SET on MERGE not storing edge properties (#2019)
 Add EmitWarningsOnPlaceholders("age") (#1997)
 Fix Issue 1988: How to update a property which is a keyword (#2005)
 Fix obsolete docker-compose command in CIs (#2007)
 Fix issue 1986: Failure creating label name close to MAX_LABEL_NAME_LEN (#1989)
 Fix issue 1953 - PG Boolean used as AGTYPE object (#1959)
 Add graph_exists function (#1958)
 Fix issue 1956 - null key name passed. (#1957)
 docs: add link to .NET open-source driver (#1938)
 Add the `load_from_plugins` parameter in the Python driver to load AGE from the $libdir/plugins directory (#1935)
 Fix issue 1910: Server crashes when using exists(vle path) (#1924)
 Converted single line comments to multiline (#1908)
 Add function is_valid_label_name (#1911) (#1912)
 Fixes small typos in the python driver's README.md file (#1909)
 Fix agtype_build_map to allow more than 50 pairs (#1901)
 Agtype hash cmp (#1893)
 Order some regression tests for stability on big-endian (#1892)
 Update github stale action (#1891)
 Make CALL YIELD grammar more precise (#1852)
 Fix issue 1878 - Regression test failure with delete global graphs (#1881)
 Corrected typos and grammatical errors in apache-age-basic.ipynb (#879)
 Add workflow for stale issues and PRs (#1872)
 Implement Returnless Unions in Subqueries (#1803)
 [CI] Update docker image tags (#1865)
 Add branch protection rules in .asf.yaml (#1854)
 [CI] Update labeler github action (#1851)
 Fix error using list comprehension with WITH * (#1838)
 python driver psycopg3 (#1793)
 Minor VLE and agtype_eq/ne performance updates (#1808)
 Fix issue 1767: CREATE TABLE AS SELECT * FROM cypher, errors (#1799)
 Implement Constraints on Subqueries (#1751)
 Fix connection string in Python Driver (#1757)
 Added integer conversion in toBoolean functions (#1199)
 Update README.md (#1756)
 Add the command graph_stats and improve VLE messaging for load (#1750)
 Add helpful messages to the VLE subsystem (#1742)
 Update README.md (#1728)
 Added Networkx Support in python driver (#1716)
 Remove duplicate check (#1740)
 Fix Issue 1709 - MERGE creates incomplete vertices after the first one (#1721)
 Fix shift/reduce conflict in grammar (#1719)
 Fix Issue 1691 - MERGE incorrectly creates multiple vertices (#1718)
 Implement map projection (#1710)
 Add hooks for multi-arch builds on dockerhub (#1683)
 Sample code for AGE-JDBC driver (#390)
 Allow agtype_build_map to use AGTYPE keys (#1666)
 Implement EXISTS Subquery      (#1562)
 Fix Issue 1634: Setting all properties with map object causes error (#1637)
 Fix Issue 1630: MERGE using array not working in some cases (#1636)
 Implement list comprehension (#1610)
 Update Go installation and add in parser files (#1582)
 Add optional parameter '=' in property constraints (#1516)
 Fix unsorted output of some queries in the cypher_match test (#1507)
 Update age_load to make property value conversion optional (#1525)
 Update the Go driver documentation, Linux installer, and CI (#1527)
 Fix json serialization error in Python Driver (#1228)
 Add template for upgrading between versions of Apache AGE (#1506)
 Update age_load to load scalar property values with appropriate type (#1519)
 Fix apache#1513 - Invalid variable reuse in CREATE and MERGE clause (#1515)
 Clean up #included files in src/include directories (#1518)
 Bump gopkg.in/yaml.v3 in /drivers/golang (#1202)
 Clean up #included files in catalog & commands directories (#1514)
 Clean up #included files in nodes, executor, & optimizer directories (#1509)
 Correct cleanup of age--x.x.x.sql files (#1505)

Release v1.6.0 for PG17

Choose a tag to compare

@jrgemignani jrgemignani released this 22 Sep 19:16
54905a0

Please note that, as Apache AGE 1.6.0 for PostgreSQL 17 is new, there isn't an upgrade script.

Release Notes for Apache AGE release 1.6.0 for PG17 branch

Apache AGE 1.6.0 - Release Notes

 Fix issue 2205: left doesn't catch overflow (#2207)
 Fix issue 2201: unexpected empty string behavior (#2203)
 Add support for operators in cypher query (#2172)
 Reimplement list comprehension (#2169)
 Update labeler.yml (#2186)
 Fix issue with the CI build and labeler (#2183)
 Fix CSV import for edge with one property (#2175)
 Remove stale bot and update .asf.yaml settings (#2171)
 Prevent object access hook from accesing not installed namespace (#2161)
 Fix CI build errors caused by missing dependencies (#2163)
 Add support for external extensions (#2088)
 Fix issue 2093: pfree() called with a NULL pointer (#2095)
 Fix issue 1955 - List comprehension in WHERE clause (#2094)
 Add support for fuzzystrmatch and other external extensions (#2083)
 Fix memory leaks in functions part 1 (#2066)
 Issue 1996 - Add agtype to json typecast (#2075)
 Fix issue 2046: Memory leak during btree(agtype) (#2060)
 Refactor Dockerfile to use multi-stage builds (#2004)
 Revamp age csv loader (#2044)
 Fix issue 2020: Memory leak (#2028)
 Fix Issue 1907: SET on MERGE not storing edge properties (#2019)
 Add EmitWarningsOnPlaceholders("age") (#1997)
 Fix Issue 1988: How to update a property which is a keyword (#2005)
 Fix obsolete docker-compose command in CIs (#2007)
 Fix issue 1986: Failure creating label name close to MAX_LABEL_NAME_LEN (#1989)
 Fix issue 1953 - PG Boolean used as AGTYPE object (#1959)
 Add graph_exists function (#1958)
 Fix issue 1956 - null key name passed. (#1957)
 docs: add link to .NET open-source driver (#1938)
 Add the `load_from_plugins` parameter in the Python driver to load AGE from the $libdir/plugins directory (#1935)
 Fix issue 1910: Server crashes when using exists(vle path) (#1924)
 Converted single line comments to multiline (#1908)
 Add function is_valid_label_name (#1911) (#1912)
 Fixes small typos in the python driver's README.md file (#1909)
 Fix agtype_build_map to allow more than 50 pairs (#1901)
 Agtype hash cmp (#1893)
 Order some regression tests for stability on big-endian (#1892)
 Update github stale action (#1891)
 Make CALL YIELD grammar more precise (#1852)
 Fix issue 1878 - Regression test failure with delete global graphs (#1881)
 Corrected typos and grammatical errors in apache-age-basic.ipynb (#879)
 Add workflow for stale issues and PRs (#1872)
 Implement Returnless Unions in Subqueries (#1803)
 [CI] Update docker image tags (#1865)
 Add branch protection rules in .asf.yaml (#1854)
 [CI] Update labeler github action (#1851)
 Fix error using list comprehension with WITH * (#1838)
 python driver psycopg3 (#1793)
 Minor VLE and agtype_eq/ne performance updates (#1808)
 Fix issue 1767: CREATE TABLE AS SELECT * FROM cypher, errors (#1799)
 Implement Constraints on Subqueries (#1751)
 Fix connection string in Python Driver (#1757)
 Added integer conversion in toBoolean functions (#1199)
 Update README.md (#1756)
 Add the command graph_stats and improve VLE messaging for load (#1750)
 Add helpful messages to the VLE subsystem (#1742)
 Update README.md (#1728)
 Added Networkx Support in python driver (#1716)
 Remove duplicate check (#1740)
 Fix Issue 1709 - MERGE creates incomplete vertices after the first one (#1721)
 Fix shift/reduce conflict in grammar (#1719)
 Fix Issue 1691 - MERGE incorrectly creates multiple vertices (#1718)
 Implement map projection (#1710)
 Add hooks for multi-arch builds on dockerhub (#1683)
 Sample code for AGE-JDBC driver (#390)
 Allow agtype_build_map to use AGTYPE keys (#1666)
 Implement EXISTS Subquery      (#1562)
 Fix Issue 1634: Setting all properties with map object causes error (#1637)
 Fix Issue 1630: MERGE using array not working in some cases (#1636)
 Implement list comprehension (#1610)
 Update Go installation and add in parser files (#1582)
 Add optional parameter '=' in property constraints (#1516)
 Fix unsorted output of some queries in the cypher_match test (#1507)
 Update age_load to make property value conversion optional (#1525)
 Update the Go driver documentation, Linux installer, and CI (#1527)
 Fix json serialization error in Python Driver (#1228)
 Add template for upgrading between versions of Apache AGE (#1506)
 Update age_load to load scalar property values with appropriate type (#1519)
 Fix apache#1513 - Invalid variable reuse in CREATE and MERGE clause (#1515)
 Clean up #included files in src/include directories (#1518)
 Bump gopkg.in/yaml.v3 in /drivers/golang (#1202)
 Clean up #included files in catalog & commands directories (#1514)
 Clean up #included files in nodes, executor, & optimizer directories (#1509)
 Correct cleanup of age--x.x.x.sql files (#1505)

Release v1.6.0 for PG16

Choose a tag to compare

@jrgemignani jrgemignani released this 04 Sep 16:45
2db2f06

Apache AGE 1.6.0 for PostgreSQL 16 Release Notes

 Fix issue 2205: left doesn't catch overflow (#2207)
 Fix issue 2201: unexpected empty string behavior (#2203)
 Add support for operators in cypher query (#2172)
 Reimplement list comprehension (#2169)
 Update labeler.yml (#2186)
 Fix issue with the CI build and labeler (#2183)
 Fix CSV import for edge with one property (#2175)
 Remove stale bot and update .asf.yaml settings (#2171)
 Prevent object access hook from accesing not installed namespace (#2161)
 Fix CI build errors caused by missing dependencies (#2163)
 Add support for external extensions (#2088)
 Fix issue 2093: pfree() called with a NULL pointer (#2095)
 Fix issue 1955 - List comprehension in WHERE clause (#2094)
 Add support for fuzzystrmatch and other external extensions (#2083)
 Fix memory leaks in functions part 1 (#2066)
 Issue 1996 - Add agtype to json typecast (#2075)
 Fix issue 2046: Memory leak during btree(agtype) (#2060)
 Refactor Dockerfile to use multi-stage builds (#2004)
 Revamp age csv loader (#2044)
 Fix issue 2020: Memory leak (#2028)
 Fix Issue 1907: SET on MERGE not storing edge properties (#2019)
 Add EmitWarningsOnPlaceholders("age") (#1997)
 Fix Issue 1988: How to update a property which is a keyword (#2005)
 Fix obsolete docker-compose command in CIs (#2007)
 Fix issue 1986: Failure creating label name close to MAX_LABEL_NAME_LEN (#1989)
 Fix issue 1953 - PG Boolean used as AGTYPE object (#1959)
 Add graph_exists function (#1958)
 Fix issue 1956 - null key name passed. (#1957)
 docs: add link to .NET open-source driver (#1938)
 Add the `load_from_plugins` parameter in the Python driver to load AGE from the $libdir/plugins directory (#1935)
 Fix issue 1910: Server crashes when using exists(vle path) (#1924)
 Converted single line comments to multiline (#1908)
 Add function is_valid_label_name (#1911) (#1912)
 Fixes small typos in the python driver's README.md file (#1909)
 Fix agtype_build_map to allow more than 50 pairs (#1901)
 Agtype hash cmp (#1893)
 Order some regression tests for stability on big-endian (#1892)
 Update github stale action (#1891)
 Make CALL YIELD grammar more precise (#1852)
 Fix issue 1878 - Regression test failure with delete global graphs (#1881)
 Corrected typos and grammatical errors in apache-age-basic.ipynb (#879)
 Add workflow for stale issues and PRs (#1872)
 Implement Returnless Unions in Subqueries (#1803)
 [CI] Update docker image tags (#1865)
 Add branch protection rules in .asf.yaml (#1854)
 [CI] Update labeler github action (#1851)
 Fix error using list comprehension with WITH * (#1838)
 python driver psycopg3 (#1793)
 Minor VLE and agtype_eq/ne performance updates (#1808)
 Fix issue 1767: CREATE TABLE AS SELECT * FROM cypher, errors (#1799)
 Implement Constraints on Subqueries (#1751)
 Fix connection string in Python Driver (#1757)
 Added integer conversion in toBoolean functions (#1199)
 Update README.md (#1756)
 Add the command graph_stats and improve VLE messaging for load (#1750)
 Add helpful messages to the VLE subsystem (#1742)
 Update README.md (#1728)
 Added Networkx Support in python driver (#1716)
 Remove duplicate check (#1740)
 Fix Issue 1709 - MERGE creates incomplete vertices after the first one (#1721)
 Fix shift/reduce conflict in grammar (#1719)
 Fix Issue 1691 - MERGE incorrectly creates multiple vertices (#1718)
 Implement map projection (#1710)
 Add hooks for multi-arch builds on dockerhub (#1683)
 Sample code for AGE-JDBC driver (#390)
 Allow agtype_build_map to use AGTYPE keys (#1666)
 Implement EXISTS Subquery      (#1562)
 Fix Issue 1634: Setting all properties with map object causes error (#1637)
 Fix Issue 1630: MERGE using array not working in some cases (#1636)
 Implement list comprehension (#1610)
 Update Go installation and add in parser files (#1582)
 Add optional parameter '=' in property constraints (#1516)
 Fix unsorted output of some queries in the cypher_match test (#1507)
 Update age_load to make property value conversion optional (#1525)
 Update the Go driver documentation, Linux installer, and CI (#1527)
 Fix json serialization error in Python Driver (#1228)
 Add template for upgrading between versions of Apache AGE (#1506)
 Update age_load to load scalar property values with appropriate type (#1519)
 Fix apache#1513 - Invalid variable reuse in CREATE and MERGE clause (#1515)
 Clean up #included files in src/include directories (#1518)
 Bump gopkg.in/yaml.v3 in /drivers/golang (#1202)
 Clean up #included files in catalog & commands directories (#1514)
 Clean up #included files in nodes, executor, & optimizer directories (#1509)
 Correct cleanup of age--x.x.x.sql files (#1505)

Release v1.5.0 for PG14

Choose a tag to compare

@jrgemignani jrgemignani released this 10 Jan 17:58
ffc3072

Release Notes for Apache AGE release 1.5.0 for PostgreSQL version 14

Apache AGE 1.5.0 - Release Notes

NOTE: Due to the complexity and the amount of additions, there are no
upgrade scripts to this release.

NOTE: Some of these reference the master branch PR that was
either applied to lower versions via a separate PR or
merged into a newly created branch.

Add additional index support and performance enhancements (#1232)
Add an additional way to find a previous variable ref (#1450)
Add auto apply labeler workflow for PRs (#1161)
Add checks for array functions to recognize and decode VPC (#1064)
Add concat || operator to agtype (#1198)
Add exist(?, ?|, ?&) operators for agtype (#1218)
Add missing dependency in cypher_expr.c (#1256)
Add path extraction(#>, #>>)operators to agtype (#1224)
Add support for chained expressions in CASE (#1431)
Clean up agtype_to_int8, agtype_to_int4, & agtype_to_int2 (#1354)
Clean up #included files in parser directory (#1465)
Converted SQL main file into multiple files. (#1401)
docs: Add to Docker setup (#1204)
Extend access(->, ->>), addition and subtraction operators (#1258)
Extend agtype containment operators (@>, <@) (#1285)
Extend EXPLAIN and add config param to switch transformation of property filter (#1262)
Fix ambiguous conditions (#1373)
Fix DockerHub warning messages for latest (#1380)
Fix issue #1045 - error using path var in WHERE (#1295)
Fix Issue #1159 - Server terminates for SET plus-equal (#1160)
Fix issue #1219 - MERGE not seeing previous clause var (#1441)
Fix issue #1302 - crash on NULL input to UNWIND (#1304)
Fix issue #1303 - Server crashes on executing SELECT * FROM agtype(null); (#1317)
Fix Issue #1305 - drop_label NULL cases (#1306)
Fix Issue #1329 - agtype_to_int4 crash (#1339)
Fix issue #1347 - unknow type of agtype container 0 (#1349)
Fix issue #1389 - Server crash on using null operand for access operators (#1390)
Fix issue #1393 - previous clause variables not seen with EXISTS (#1426)
Fix issue #1398 - SET followed by DELETE does not delete (#1412)
Fix issue #1399 - EXISTS doesn't handle non-existent labels (#1400)
Fix Issue #945 - incorrect count(*) return values (#1288)
Fix typo in agtype_raw.h header guard (#1368)
Implement chained expression order of operations (#1402)
Implemented age_tail function (#1283)
Implemented the toBooleanList() function (#1014)
Implement EXISTS subquery for CASE (#1345)
Master to PostgreSQL version 16 (#1451)
Minor fix in agtype_volatile_wrapper function (#1172)
Modify COUNT() to output agtype (#1311)
Optimize performance of detach delete (#1271)
Optimize vertex and edge builder functions (#1252)
py_driver : optimised Antlr4ResultHandler to improve time (#1107)
Refactor Regression Tests for CASE statement (#1268)
Refactor the IN operator to use '= ANY()' syntax (#1236)
Removed unnecessary assignment (#1185)
Remove redundant job from CIs (#1473)
Remove unnecessary #include in src/backend/utils
Updated age.control.
Updated files, format, and version information.
Updated Makefile.
Updated RELEASE.
Update Discord channel in README.md (#1253)
Update README.md file for PostgreSQL version 16 support (#1463)
Update the Python Driver (#1246)

Release v1.5.0 for PG13

Choose a tag to compare

@jrgemignani jrgemignani released this 10 Jan 19:48
57d3922

Release Notes for Apache AGE release 1.5.0 for PostgreSQL version 13

Apache AGE 1.5.0 - Release Notes

NOTE: Due to the complexity and the amount of additions, there are no
upgrade scripts to this release.

NOTE: Some of these reference the master branch PR that was
either applied to lower versions via a separate PR or
merged into a newly created branch.

Add additional index support and performance enhancements (#1232)
Add an additional way to find a previous variable ref (#1450)
Add auto apply labeler workflow for PRs (#1161)
Add checks for array functions to recognize and decode VPC (#1064)
Add concat || operator to agtype (#1198)
Add exist(?, ?|, ?&) operators for agtype (#1218)
Add missing dependency in cypher_expr.c (#1256)
Add path extraction(#>, #>>)operators to agtype (#1224)
Add support for chained expressions in CASE (#1431)
Clean up agtype_to_int8, agtype_to_int4, & agtype_to_int2 (#1354)
Clean up #included files in parser directory (#1465)
Converted SQL main file into multiple files. (#1401)
docs: Add to Docker setup (#1204)
Extend access(->, ->>), addition and subtraction operators (#1258)
Extend agtype containment operators (@>, <@) (#1285)
Extend EXPLAIN and add config param to switch transformation of property filter (#1262)
Fix ambiguous conditions (#1373)
Fix DockerHub warning messages for latest (#1380)
Fix issue #1045 - error using path var in WHERE (#1295)
Fix Issue #1159 - Server terminates for SET plus-equal (#1160)
Fix issue #1219 - MERGE not seeing previous clause var (#1441)
Fix issue #1302 - crash on NULL input to UNWIND (#1304)
Fix issue #1303 - Server crashes on executing SELECT * FROM agtype(null); (#1317)
Fix Issue #1305 - drop_label NULL cases (#1306)
Fix Issue #1329 - agtype_to_int4 crash (#1339)
Fix issue #1347 - unknow type of agtype container 0 (#1349)
Fix issue #1389 - Server crash on using null operand for access operators (#1390)
Fix issue #1393 - previous clause variables not seen with EXISTS (#1426)
Fix issue #1398 - SET followed by DELETE does not delete (#1412)
Fix issue #1399 - EXISTS doesn't handle non-existent labels (#1400)
Fix Issue #945 - incorrect count(*) return values (#1288)
Fix typo in agtype_raw.h header guard (#1368)
Implement chained expression order of operations (#1402)
Implemented age_tail function (#1283)
Implemented the toBooleanList() function (#1014)
Implement EXISTS subquery for CASE (#1345)
Minor fix in agtype_volatile_wrapper function (#1172)
Modify COUNT() to output agtype (#1311)
Optimize performance of detach delete (#1271)
Optimize vertex and edge builder functions (#1252)
py_driver : optimised Antlr4ResultHandler to improve time (#1107)
Refactor Regression Tests for CASE statement (#1268)
Refactor the IN operator to use '= ANY()' syntax (#1236)
Removed unnecessary assignment (#1185)
Remove redundant job from CIs (#1473)
Remove unnecessary #include in src/backend/utils
Updated age.control.
Updated files, format, and version information.
Updated Makefile.
Updated RELEASE.
Update Discord channel in README.md (#1253)
Update README.md file for PostgreSQL version 16 support (#1463)
Update the Python Driver (#1246)