Skip to content

v0.13.0

Compare
Choose a tag to compare
@github-actions github-actions released this 01 Jan 20:06
· 2373 commits to main since this release
51a78a3

Dragonfly v0.13.0

The first release of the year! Yey! πŸ‘―

This release contains a few exciting features.

  • Active defrag: any long-running process with non-trivial allocation patterns suffers from excessive memory usage due to external fragmentation. This release uses an improved defragmentation algorithm after we released the initial version in the previous version.
  • Experimental SSD-based data-tiering support. Dragonfly is the only in-memory store that provides data tiering that is faster than other memory-only stores. (Currently only for strings). Try it with flag --spill_file_prefix=<nvme_file_basepath>
  • JSON - this release compliments the already existing JSON API with support for SCAN and TYPE working with JSON data types.
  • Replication (still not for prod use) but can already be tried on simple single key commands like SET, SADD, ZADD, LPUSH etc.
  • Writes and reads of large string values are optimized for x86 architectures with SIMD instructions.
  • Numerous improvements to helm templates, plus docker health checks - thanks to @tamcore !

Huge thanks to all the contributors! ❀️

What's Changed

  • feat(rdb save): Create compressor interface by @adiholden in #538
  • fix(helm): Chart.yaml - Add home, keywords, sources, kubeVersion by @arukiidou in #542
  • feat: add healtcheck for container by @tamcore in #544
  • Support lz4 compression by @adiholden in #545
  • feat(server): json set type support by @boazsade in #546
  • chore: Update helio dependency by @romange in #553
  • chore: Update helio dependency by @dranikpg in #555
  • feat(server): Implement robust error & cancellation on replica by @dranikpg in #531
  • feat(ci test): add build and test on release mode by @adiholden in #556
  • added example of start script by @Tomato6966 in #557
  • Support offloading of blobs longer than 2KB by @romange in #559
  • feat(server): active memory defrag test application by @boazsade in #552
  • feat(server): JSON family using JSON type by @boazsade in #561
  • feat(server): New auto-journal types/read/write by @dranikpg in #560
  • chore: Refactor RdbLoad by @romange in #564
  • chore: Adding a mpsc intrusive queue based on Vyukov's design by @romange in #562
  • feat: introduce simd algorithm for bitpacking by @romange in #568
  • feat: implement ascii_unpack using SIMD instructions by @romange in #573
  • bug(rdb load): Rdb loader tasks stop running on failure #567 by @adiholden in #576
  • chore: Improve the implementation of simd based packing by @romange in #577
  • fix: choose an appropriate SIMD implementation for aarch64 by @romange in #579
  • fix: handle corner case when comitted memory is negative by @romange in #570
  • feat(server): Use new journal format by @dranikpg in #563
  • fix(chart): probe indentation by @tamcore in #590
  • feat(server): Redesign and simplify tiered storage module. by @romange in #589
  • use dense_set for hashmap family by @romange in #593
  • feat(server): adding version monitoring task by @boazsade in #586
  • feat(replica): Support FlushDB command for replication #580 by @adiholden in #591
  • fix(server): defrag unit test fix by @boazsade in #602
  • chore(server): upgrade mimalloc for v2.0.7 by @boazsade in #597
  • feat: build and publish weekly alpha/development container image by @tamcore in #594
  • life of a transaction by @romange in #278
  • feat(server): track hits and misses stats. by @ashotland in #608
  • feat(server): Improved cancellation by @dranikpg in #599
  • feat(replica): atomicity for multi shard commands by @adiholden in #598
  • fix(server):set of existing object with expiry by @ashotland in #609
  • chore: Add tiered_storage_test. by @romange in #613
  • feat(tools):Cache logs player by @ashotland in #614
  • fix(tools): cache logs player handle append as redis append by @ashotland in #615
  • docs(quickstart): Clarify docker command for macOS by @pjambet in #612
  • feat(tools):cache log player batching all the way optimisation by @ashotland in #617
  • feat(ci test): add testing for helm chart by @tamcore in #622
  • chore: overhaul chart by @tamcore in #620
  • Cache logs player - add one last stats print after completion by @ashotland in #623
  • feat(server): Buffered journal serializers by @dranikpg in #619
  • feat(server): Update helio, optimize and clean up rdb/snapshot by @dranikpg in #625
  • fix(server): only print version if successfully connect. by @boazsade in #628
  • feat(server): using memory defrag with per shard mem info by @boazsade in #616

New Contributors

Full Changelog: v0.12.0...v0.13.0