pg_tre (3.0.2-1) unstable; urgency=medium * Vendor sparsemap 3.0.2 (wire-compatible; no reindex required). * Fix tre_version() reporting a stale "1.5.6" string. * CI: pgspot PS017 ignore, autopoint for the TRE autoconf build, drop the bogus postgresql-NN-pgwalinspect package, ASan ASLR workaround; mark never-passing ASan jobs informational. -- Greg Burd Wed, 03 Jun 2026 12:00:00 +0000 pg_tre (1.5.0-1) unstable; urgency=medium * Multi-leaf range tier (format v5 for range pages): full heap coverage in tier-1 selectivity at scale. Was capped at ~30 entries before truncation. * Hoist pg_tre_upper_lookup out of tier-3 inner loop: per-scan cache replaces per-candidate B-tree probes. ~1.84x cold-cache speedup on the 1M-row 'connection refused' reproducer. * Backward-compatible read for v4 range pages; pg_tre_upgrade_index rewrites them to v5 in place when run. * Variable-width per-tuple blooms prototyped on variable-width-v6 branch but did not deliver a size win on natural-text 1M-row corpora; parked for short-text corpus targets. -- Greg Burd Tue, 27 May 2026 00:00:00 +0000 pg_tre (1.5.0-1) unstable; urgency=medium * Fix two production-blocking bugs surfaced by the 1M-row benchmark: palloc 1 GB cap in ambuild.c (use _huge variants), and single-level upper-tree internals in upper.c (recurse). * Latent correctness bug surfaced by the multi-level descent fix: test/expected/utf8.out and test/expected/order_by.out refreshed. * No on-disk format changes; no re-index required. -- Greg Burd Mon, 26 May 2026 00:00:00 +0000 pg_tre (1.5.0-1) unstable; urgency=medium * Index-side ORDER BY <@>: distance-ordered scans via amcanorderbyop + amgettuple. EXPLAIN shows Index Scan with Order By, no Sort node. * Delta-aware WAL redo for pending_insert: ~370x reduction in FPI bytes on the high-volume insert path; wal_consistency_checking still passes. * In-place format-upgrade infrastructure: pg_tre_upgrade_index() and pg_tre_index_format_status() let users upgrade across format versions without REINDEX. * libFuzzer harness uses real libpgcommon (palloc, MemoryContext, StringInfo) instead of stubs. * PostgreSQL 17 build compatibility (PG_VERSION_NUM guards). * PG_TRE_INLINE_POSTING_MAX raised from 256 to 2048 bytes. * Three not-yet-implemented WAL redo PANICs replaced with FPI-fallthrough (correct because those record types aren't emitted yet). * No on-disk format changes; no re-index required. -- Greg Burd Mon, 25 May 2026 21:00:00 +0000 pg_tre (1.3.0-1) unstable; urgency=medium * Vendor sparsemap 2.3.0 (drop-in compatible upgrade from 2.2.0). Hardening-only release: bounds clamping in __sm_chunk_get_position and sm_contains, bounds-safe chunk walker in __sm_get_size_impl, NULL tolerance in sm_contains, UBSan fix in the diagnostic path. * No on-disk format changes; no re-index required. -- Greg Burd Thu, 14 May 2026 14:00:00 +0000 pg_tre (1.1.0-1) unstable; urgency=medium * Vendor sparsemap 2.2.0 (drop-in compatible upgrade from 3.0.2). * Adopt sparsemap's allocator-friendly APIs: sm_open_copy, sm_add_grow, sm_next_member. * Fix multi-leaf right-link sm_union reversed-logic bug that silently dropped every leaf past the first. Same on-disk format as 1.0.0; no re-index required. * Gate per-tuple bloom and positional filter on pg_tre.tuple_bloom_enable until the chain-rank lookup is repaired; executor recheck remains authoritative. -- Greg Burd Thu, 14 May 2026 10:00:00 +0000 pg_tre (1.0.0-1) unstable; urgency=medium * Initial release candidate. * Native PostgreSQL 18+ index access method for approximate regex. * Three-tier filter funnel: range bloom, sparsemap trigram postings, per-tuple bloom. * Ships legacy tre_amatch() UDFs for compatibility. -- Greg Burd Tue, 12 May 2026 10:00:00 +0000