From 57cf8ea06fc07ac9c0db59a82f060d5b8f680680 Mon Sep 17 00:00:00 2001 From: "Joshua D. Drake" Date: Tue, 4 Aug 2026 11:38:48 -0600 Subject: [PATCH] release: cut 1.0-alpha VERSION goes to 1.0-alpha and CHANGELOG's [Unreleased] becomes [1.0-alpha] dated 2026-08-04. Every item on the #367 checklist is closed: the open bugs (#358, #362, #363, #364, #376), the docs accuracy pass, the changelog, the single-engine and cross-engine benchmark re-measures, and a full five-major matrix green at 112 suites on each of PG15 through PG19. The extension's own default_version stays at 1.0-dev, and the changelog now says so rather than leaving it to be discovered. That field governs ALTER EXTENSION UPDATE; moving it needs an upgrade script that does not exist, and breaking installs to make a version string tidy is the wrong trade. SELECT extversion therefore reports 1.0-dev on a 1.0-alpha build. Adds a known-limitations section, because an alpha that ships its sharp edges in the tracker only is an alpha that hides them: the grouped parallel arm declined on expression grouping keys (#369), the fetch cache's real memory bound (#364), the index-fetch penalty being bounded rather than modelled (#376), and point-lookup cost growing with table width. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++---- VERSION | 2 +- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 228890e..b3be1ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,36 @@ All notable changes to pgColumnar are recorded here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). pgColumnar is -pre-release; the version marker is `1.0-dev`, recorded in `VERSION`. New tables -are written in the native on-disk format, PGCN v1. Everything below is -unreleased. For the forward-looking plan see +pre-release; the version marker is `1.0-alpha`, recorded in `VERSION`. New tables +are written in the native on-disk format, PGCN v1. For the forward-looking plan see [design/ROADMAP.md](design/ROADMAP.md); for full history see the git log. -## [Unreleased] +The extension's own `default_version` is still `1.0-dev`. That is deliberate: it +governs `ALTER EXTENSION UPDATE`, and moving it needs an upgrade script that does +not exist yet. `SELECT extversion FROM pg_extension` therefore reports `1.0-dev` +on a 1.0-alpha build. + +## [1.0-alpha] - 2026-08-04 + +First tagged release. Everything below shipped in it. + +### Known limitations + +- The grouped vectorized aggregate's parallel arm is declined on shapes with an + expression grouping key, because the core Finalize is priced off a group estimate + that can be 25x to 42x wrong (#369). Both settings involved are off by default. +- The by-row-number fetch cache is bounded by `4 x (cap + retained position indexes + + groupBuffer)` rather than `4 x cap`. On a table of many wide varlena columns one + entry measured 62 MB against a 32 MB cap (#364). Releasing the position indexes + with the decoded stream holds the bound but costs 47% in time, so this design + keeps the speed and records the trade. +- The index-fetch penalty is bounded by a multiple of one full scan rather than + modelled against the consumer, so a plan that stops early inherits more of it than + it should (#376). The bound keeps the penalty steering correctly on every shape + measured; the model is post-alpha work. +- Point lookups remain slower than heap, and the cost of a fetch grows with table + width, because an index fetch decodes the attribute prefix up to the highest + column the query reads. See `docs/limitations.md`. ### Added diff --git a/VERSION b/VERSION index 15ba4a5..5712a8e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0-dev +1.0-alpha