v8.6.0
TidesDB 8 MINOR (v8.6.0)
This minor release introduces a global out of memory watch with graduated backpressure. TidesDB now tracks memory usage across memtables, bloom filters, block indexes, and caches to stay stable under sustained memory pressure.
A new max_memory_usage configuration option resolves automatically based on system RAM. It defaults to 80 percent of available memory with a hard 50 percent floor to prevent allocator starvation. The reaper continuously computes a global pressure level and escalates from small write delays and targeted flushes to aggressive compaction and full flushes when memory becomes critical. An OS safety net forces critical pressure if real available memory drops below 10 percent.
Transaction and reaper concurrency were hardened with CAS based memtable references and proper atomic visibility. This fixes a rare heap use after free during concurrent rotation and flush and removes cross platform flakiness in CI.
This release also continues a broad robustness sweep. Block manager internals were simplified and cleaned up. Bloom filter logic was deduplicated. Queue locking was tightened. Dead code was removed. Test coverage was expanded for corruption handling null safety and edge cases across core subsystems.
https://tidesdb.com/ https://github.com/tidesdb/tidesdb/compare/v8.5.4...v8.6.0