What orioledb/orioledb shipped
Written by FoxPlug from the repository's own releases; not affiliated with Orioledb. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/orioledb/orioledb; Orioledb did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of October 5, 2026
What shipped
- Redesigned how logical replication transaction streaming is disabled, using a decoding startup hook so a mixed transaction that has only touched heap cannot leave a broken slot without a rebuild of the downstream. Pull request #1286
- Fixed a family of cache consistency bugs for enum and composite types, covering stale, inconsistent and lost cache entries after DDL. Pull request #1269
- Made enum cache inserts rollback-safe so a new key inserted by a DDL statement is not left behind when the statement is rolled back. Pull request #1276
- Rejected ALTER TABLE SET ACCESS METHOD orioledb on non-orioledb tables instead of crashing on NULL-pointer dereferences during the rewrite. Pull request #1281
- Changed
o_tbl_insert_with_arbiterto insert into bridged indexes only during ON CONFLICT insert, so bridged indexes are no longer written twice. Pull request #1285 - Made index and bitmap scans read the bridge with the query's snapshot so updates of bridged index columns no longer return data under the wrong ctid. Pull request #1268
- Stopped a rollback under row locks from rewriting the lock chain, which could let a reader return data of a rolled-back transaction. Pull request #1284
- Added the missing test for origin tracking, based on vanilla postgres. Pull request #1303
- Restricted dockerTEST and
pg_upgradeCI to main branch pushes so they stop running against unmerged code on feature branches and stop burning CI minutes, while still running on all pull requests. Pull request #1312 - Reduced a false ASAN report in
o_tbl_index_insertin mixed-ASAN builds by unpoisoningown_tup, following earlier fixes to the same class of reports. Pull request #1295
Why it matters
This week was mostly about correctness under conditions that are hard to reproduce by hand: logical replication streaming, enum and composite type caches, and index bridges read through the wrong snapshot or written twice. Several fixes target crashes and wrong results a user could hit in normal use, including ALTER TABLE on non-orioledb tables and reads that could return rolled-back data. On the maintenance side, CI work is now limited to main branch pushes and a missing schedule entry and test were added.
Changelog entry
- Redesign how logical replication transaction streaming is disabled to prevent a broken slot from a mixed transaction. Pull request #1286
- Fix enum and composite type cache consistency after DDL operations. Pull request #1269
- Make enum cache inserts rollback-safe. Pull request #1276
- Reject ALTER TABLE SET ACCESS METHOD orioledb on non-orioledb tables instead of crashing. Pull request #1281
- Insert into bridged indexes only during ON CONFLICT insert. Pull request #1285
- Read the bridge with the query's snapshot during index and bitmap scans. Pull request #1268
- Keep a rollback under row locks from rewriting the lock chain. Pull request #1284
- Add missing test for origin tracking. Pull request #1303
- Further stabilize index bridge test by disabling autovacuum globally before manual VACUUM. Pull request #1298
- Disable autovacuum on tables that rely on manual VACUUM in the index bridge test. Pull request #1290
- Fix ASAN false positive by unpoisoning
own_tupino_tbl_index_insert. Pull request #1295 - Restrict dockerTEST and
pg_upgradeCI workflows to main branch pushes. Pull request #1312
This week: logical replication streaming redesigned so a mixed transaction cannot leave a broken slot; enum and composite type cache consistency fixed; enum cache inserts made rollback-safe; ALTER TABLE SET ACCESS METHOD orioledb rejected on non-orioledb tables; index bridge no l
This week's changes to the project focus on correctness in places that are hard to test by hand. Logical replication transaction streaming was redesigned around a decoding startup hook, so a mixed transaction that has only touched heap cannot leave a broken slot without rebuilding the downstream. Enum and composite type cache consistency was fixed across a family of bugs, and enum cache inserts are now rollback-safe. ALTER TABLE SET ACCESS METHOD orioledb is now rejected on non-orioledb tables instead of crashing. Bridged indexes are no longer written twice during ON CONFLICT insert, and index and bitmap scans now read the bridge with the query's snapshot. A rollback under row locks no longer rewrites the lock chain. CI work for dockerTEST and pg_upgrade is now limited to main branch pushe
Week of September 28, 2026
What shipped
- Beta19 released with a fix for replicas that could lose rows before a restartpoint during crash recovery from table rewrites. Release
- Fixed permanent row loss on replicas after crash by covering the commit with minimum recovery point before dropping relnodes. Pull request #1265
- Fixed segmentation fault in CREATE DATABASE with TEMPLATE on tables that have enum-indexed columns. Pull request #1259
- Fixed DROP TYPE marking cache entries deleted in autonomous transactions, which could cause them to be removed during checkpoint cleanup while undo was still pending. Pull request #1260
- Fixed data loss when a tree's data file goes missing during recovery by loading such trees as empty. Pull request #1263
- Fixed use-after-free in system cache lookup by keeping tuples alive until snapshot checks complete and preventing dangling pointers in the fast cache. Pull request #1256
- Fixed TOAST permutation test flake by moving blocker annotation to the step that actually unblocks a waiting session. Release
- Fixed promotion xid horizon switchover test flake that incorrectly reported a replica as not catching up to the new primary. Pull request #1262
- Fixed slot sync test flake on loaded CI by adjusting exponential backoff timing in the slotsync background worker. Pull request #1243
- Fixed startup crash when a tablespace version directory is missing by skipping cleanup for absent directories. Pull request #1253
Why it matters
Beta19 brings critical fixes for data integrity on replicas, particularly around crash recovery and row loss scenarios. Several correctness issues in system cache handling and enum-indexed operations were addressed. This week also closed multiple flaky tests that were affecting CI reliability.
Changelog entry
- Release beta19 with recovery/replication correctness fixes Release
- Fix permanent row loss on replica after crash during table rewrite Pull request #1265
- Fix segmentation fault in CREATE DATABASE TEMPLATE with enum-indexed columns Pull request #1259
- Fix DROP TYPE marking sys cache entries deleted in autonomous transactions Pull request #1260
- Fix data loss when tree data file missing during recovery Pull request #1263
- Fix use-after-free in system cache lookup Pull request #1256
- Fix startup crash when tablespace version directory missing Pull request #1253
- Pin meta page during bridge ctid counter update in recovery Pull request #1230
- Fix logical decoding of subtransactions without heap xid Pull request #1252
- Fix segfault when scanning exclusion index with NULL exclusion function Pull request #1237
- Reset
statement_timeoutbefore second DROP INDEX CONCURRENTLY Pull request #1248 - Fix sys cache delete test flake by using lock instead of sleep Pull request #1264
Beta19 is out. Key fixes: replicas no longer lose rows during crash recovery from table rewrites, CREATE DATABASE with enum indexes no longer crashes, and DROP TYPE handles undo correctly during checkpoint cleanup.
OrioleDB beta19 released with critical data integrity fixes. Replicas can no longer lose rows before a restartpoint during crash recovery from table rewrites. System cache handling improved to prevent use-after-free and ensure DROP TYPE works correctly with checkpoint cleanup. CREATE DATABASE with enum-indexed columns now works without segmentation faults. Several test flakes on loaded CI also resolved.
Week of September 21, 2026
What shipped
- Beta18 released with DROP TABLESPACE replication, REPLICA IDENTITY FULL logical decoding with inline TOASTed attributes, and logical replication slot undo retention improvements. Release
- Fixed corruption in index-organized tables during repeated COPY operations where leaves held keys above their hikey and caused writers to spin in find_page(). Pull request #1226
- Fixed switchover divergence where promoting a standby as primary could leave the pair in an unrecoverable state when the primary had written unacknowledged WAL. Pull request #1216
- Fixed crash in evict_btree() and related assertions by keeping trees loaded while callers reach into shared state through cached descriptors. Pull request #1195
- Made orioledb.use_sparse_files a supported option to improve reusability of blocks freed by copy-on-write before checkpoint completion. Pull request #1205
- Added size validation for CIC undo stack items to prevent out-of-bounds reads that leaked backend memory into spool files. Pull request #1212
- Fixed recovery crashes by storing sys tree number instead of backend-local OSysCache pointers in undo records. Pull request #1213
- Enabled fastpath downlink search on 4-column keys and fixed compiler warnings at -O3 optimization level. Release
Why it matters
Beta18 brings replication and logical decoding improvements. Multiple fixes address data corruption during bulk operations, recovery divergence in replication scenarios, and memory safety issues in undo handling. These fixes increase stability for production use cases involving replication and checkpoint recovery.
Changelog entry
- Extension SQL version bumped to 1.10 with DROP TABLESPACE replication and REPLICA IDENTITY FULL logical decoding improvements Release
- Fixed B-tree corruption during repeated COPY into index-organized tables where leaves violated hikey invariants Pull request #1226
- Fixed switchover divergence when promoting standby and demoting primary with unacknowledged idle WAL Pull request #1216
- Fixed assertion failures by keeping trees loaded while shared state is accessed through cached descriptors Pull request #1195
- Made orioledb.use_sparse_files a supported configuration option Pull request #1205
- Added payload length validation to CIC undo stack items to prevent memory leaks Pull request #1212
- Fixed recovery crashes by storing stable
sys_tree_numinstead of backend-local pointers in syscache undo records Pull request #1213 - Enabled fastpath downlink search on 4-column keys and fixed -O3 compiler warnings Release
OrioleDB beta18 ships with DROP TABLESPACE replication and improved logical decoding. This week also fixed COPY corruption in index-organized tables, replication switchover divergence, and several recovery safety issues.
OrioleDB beta18 is out with DROP TABLESPACE replication support and enhanced logical decoding that carries TOASTed attributes inline. This week the team fixed critical issues: COPY corruption in index-organized tables that could leave B-trees inconsistent, replication switchover divergence that blocked recovery, memory safety problems in undo chain handling, and descriptor lifecycle issues causing crash assertions. These fixes target production reliability for replication and bulk load workloads.
Week of September 14, 2026
What shipped
- Fixed a bug where multi-insert batches would lose undo locations for all but the last row when a checkpoint landed between primary and secondary index writes. Pull request #1194
- Fixed tree enumeration wrapping around at the largest relnode value, which could cause the system to skip or mishandle trees at the boundary. Pull request #1192
- Stopped page writes from using meta pages that the tree no longer owns, which was causing spinlock panics in the background writer. Pull request #1172
- Fixed recovery crashes when the first WAL record for a table with a collated key was a DELETE or UPDATE by resolving collations before page access. Pull request #1181
- Made parallel sequential scans interruptible when page-slot waits occur, preventing queries from hanging and making the cluster unresponsive to shutdown. Pull request #1165
- Added a check to refuse transaction IDs during recovery that cannot be extended in the transaction ID map, preventing denial-of-service from wrapped OXids. Pull request #1166
- Added the postUndoRecorded hook to ON CONFLICT inserts to record pending secondary-index fix-ups, preventing checkpoint inconsistencies. Pull request #1158
- Fixed logical decoding of REPLICA IDENTITY FULL tables by logging the old tuple flattened instead of reporting unchanged-toast-datum for every TOASTed attribute. Pull request #1162
- Added validation for seven decoded quantities from disk, shared memory, and WAL records before use as sizes, indices, or loop bounds. Pull request #1173
- Added a Jepsen anomaly triage script for the Antithesis append workload to validate consistency of concurrent upsert and read transactions. Pull request #1116
Why it matters
This week addressed critical bugs in crash recovery, concurrent operations, and WAL replay that could cause data loss or cluster unavailability. Multiple fixes validate data from disk and WAL before use, improving robustness of recovery paths and multi-insert operations under checkpoint races.
Changelog entry
- Fixed multi-insert batches losing undo locations for all but the last row when checkpoints land between primary and secondary index writes Pull request #1194
- Fixed tree enumeration wrapping at largest relnode boundary Pull request #1192
- Fixed page writes using meta pages the tree no longer owns, preventing spinlock panics Pull request #1172
- Fixed recovery crashes when first WAL record for collated-key tables is DELETE or UPDATE Pull request #1181
- Made parallel sequential scans interruptible during page-slot waits Pull request #1165
- Added check to refuse transaction IDs recovery cannot extend in the map Pull request #1166
- Added postUndoRecorded hook to ON CONFLICT inserts for secondary-index fix-ups Pull request #1158
- Fixed logical decoding of REPLICA IDENTITY FULL tables to log old tuple flattened Pull request #1162
- Added validation for seven decoded quantities before use as sizes, indices, or loop bounds Pull request #1173
- Kept vacated counter balanced when bridge ctid is reused Pull request #1178
- Hash conflicting tuple before releasing its page in
modify_handle_conflictsPull request #1182 - Reject foreign metadata on relnode collision in O_TABLES fetch Pull request #1183
- Raised
cpu_tuple_costin bitmap plan test to stabilize Valgrind CI flakes Pull request #1191
This week: fixed multi-insert undo tracking, parallel scan interruption, recovery collation handling, and seven validation gaps in WAL replay. Several addressed crash scenarios and data loss risks.
OrioleDB shipped fixes this week for critical issues in crash recovery and concurrent operations. Highlights include restoring undo tracking accuracy in multi-insert batches during checkpoints, making parallel scans properly interruptible, fixing recovery crashes with collated keys, and adding validation for seven quantities decoded from WAL before they're trusted as sizes or indices. Together these improve the robustness of recovery paths and prevent data loss scenarios.