diff --git a/data/releasenotes.json b/data/releasenotes.json
index 66d3e0d..d4f5dfa 100644
--- a/data/releasenotes.json
+++ b/data/releasenotes.json
@@ -1,4 +1,167 @@
[
+ {
+ "version": "v2026-09-29",
+ "date": "2026-09-29",
+ "breaksdb": false,
+ "notes": [
+ {
+ "type": "feat",
+ "note": "Add basic inet type support."
+ },
+ {
+ "type": "feat",
+ "note": "Add support for savepoints."
+ },
+ {
+ "type": "feat",
+ "note": "Add support for default setting with ALTER ROLE SET / ALTER DATABASE SET."
+ },
+ {
+ "type": "feat",
+ "note": "Add basic support for ALTER COLUMN TYPE."
+ },
+ {
+ "type": "feat",
+ "note": "Add jsonb_array_length(json_array jsonb)."
+ },
+ {
+ "type": "feat",
+ "note": "Add gen_random_bytes(count int)."
+ },
+ {
+ "type": "feat",
+ "note": "Add pg_indexam_has_property(am oid, property text)."
+ },
+ {
+ "type": "feat",
+ "note": "Add array_to_json(array anyarray [, pretty bool])."
+ },
+ {
+ "type": "feat",
+ "note": "Increase resolution for approx_count_distinct(value anyelement) aggregates, reducing the expected error to 3.25%."
+ },
+ {
+ "type": "feat",
+ "note": "Results in --interactive mode are now formatted as a psql-style table."
+ },
+ {
+ "type": "feat",
+ "note": "Add jsonb_build_object(VARIADIC \"any\")."
+ },
+ {
+ "type": "feat",
+ "note": "Add inet_client_addr()."
+ },
+ {
+ "type": "feat",
+ "note": "By default, CedarDB now validates functions at CREATE. This can be configures with the check_function_bodies setting."
+ },
+ {
+ "type": "pg",
+ "note": "Implemented undocumented postgres functions: hasthtext(value text) and hashtextextended(value text, seed int)."
+ },
+ {
+ "type": "pg",
+ "note": "Volatile functions such as nextval(regclass), random() and user-defined functions with side effects now run exactly once per row, as in PostgreSQL."
+ },
+ {
+ "type": "pg",
+ "note": "pg_proc.provolatile now reports each built-in function's actual volatility instead of claiming they are all \"stable\"."
+ },
+ {
+ "type": "fix",
+ "note": "Fix calling UDFs with DEFAULT arguments."
+ },
+ {
+ "type": "fix",
+ "note": "Fix an issue where inserts during a ALTER TABLE operation were lost."
+ },
+ {
+ "type": "fix",
+ "note": "Reduce memory consumption for large result sizes."
+ },
+ {
+ "type": "fix",
+ "note": "Fix an internal consistency error in correlated subqueries aggregating a NOT NULL column with no matching rows."
+ },
+ {
+ "type": "fix",
+ "note": "Prevent database corruption when the database crashes shortly after recovery."
+ },
+ {
+ "type": "fix",
+ "note": "Fix an optimizer bug where functions where STABLE functions where incorrectly folded."
+ },
+ {
+ "type": "fix",
+ "note": "Fix an index corruption when queries were ran while a table with an index is populated with a COPY."
+ },
+ {
+ "type": "fix",
+ "note": "Throw proper errors for write conflicts in DDL statements."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a rare deadlock when running DDL and VACUUM statements in parallel."
+ },
+ {
+ "type": "fix",
+ "note": "Fix edge case behavior for GROUP BY GROUPING SETS / ROLLUP."
+ },
+ {
+ "type": "fix",
+ "note": "Correctly roll back all session state on transaction rollback, including session settings and session auth."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a bug where we incorrectly failed to convert nullable columns to json(b)."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a bug with jsonb utf-8 validation."
+ },
+ {
+ "type": "fix",
+ "note": "Fix inconsistent jsonb encoding for numeric large values."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a bug with enum-to-json conversion."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a bug with float-to-json conversion."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a bug with array-to-json conversion."
+ },
+ {
+ "type": "fix",
+ "note": "CedarDB now supports up to 64k result columns. We previously refused to output more than 32k."
+ },
+ {
+ "type": "fix",
+ "note": "Fix rare cases of database crashes when an assert was triggered during a CREATE INDEX."
+ },
+ {
+ "type": "fix",
+ "note": "Fixed a \"column reference is ambiguous\" error in UPDATE ... FROM when the target table has a CHECK constraint on a column that also appears in the FROM of the update."
+ },
+ {
+ "type": "fix",
+ "note": "Fix string concat() function accidentally choosing array overload."
+ },
+ {
+ "type": "fix",
+ "note": "Fix a bad optional access error when executing a prepared INSERT, UPDATE, or DELETE after its table was dropped and recreated."
+ },
+ {
+ "type": "fix",
+ "note": "Prepared statements now return the current value of transaction-dependent functions such as txid_current() instead of the value from when the statement was prepared."
+ }
+ ]
+ },
{
"version": "v2026-09-16",
"date": "2026-09-16",