Dragonfly v0.12.0
This release is mainly about bug fixes and extending our codebase to support replication.
- Dragonfly can now connect as a replica behind Redis master (supports REPLICAOF command)
- Dragonfly can now connect to another Dragonfly instance to form DF->DF replication. This feature is not fully implemented yet but
it performs the first part, namely "full sync stage". Now we are working on "stable state replication". - Dragonfly now supports the active-defrag feature. See #448 for more details.
Huge thanks to all the contributors! ❤️
What's Changed
- chore: Rename DoFlush to Drakaris. by @romange in #489
- feat: Add last_save_duration_sec metric by @romange in #493
- fix(server): Handle data directory errors by @dranikpg in #494
- fix: Fix bugs around rdb save and improve memory accounting by @romange in #495
- A dedicated github actions pipeline that build dragonfly and runs pyt… by @zNNiz in #490
- fix(test): skip pytest test_simple_full_sync_mutli_crash due to crash by @boazsade in #497
- fix(server): Fix db_slice insertion bug with callbacks by @dranikpg in #499
- feat(actions): push helm chart as OCI image by @tamcore in #500
- feat(server): Switch to stable state replication by @dranikpg in #473
- feat(io): pull new helio dependency by @adiholden in #506
- fix(server): all scan commands needs to return cursor as bulk string #503 by @boazsade in #504
- fix(server): Fix lambda capture in RunInParallel functions by @dranikpg in #507
- fix: clang warnings. by @romange in #508
- feat(server): Replication errors & cancellation by @dranikpg in #501
- fix(server): Increase common abstraction usage by @dranikpg in #511
- feat(server): implement json.set command (#104) by @iko1 in #514
- chore: tiered_storage - cleanups and refactorings. by @romange in #515
- fix(server): Fix replication bug, add gdb opt to pytest by @dranikpg in #513
- bug(server): exit not crash when port in use by @adiholden in #516
- feat(rdb save): add blob compression on snapshot by @adiholden in #505
- feat(rdb save): add unit test to save df with all compression levels by @adiholden in #517
- feat(rdb save): serializer flush to sink only on flush call by @adiholden in #519
- fix: Use dev image for running regression test by @romange in #522
- feat(regression test): add timeout cpu info and inc frequecy by @adiholden in #524
- bug(rdb loader): When reading from zstd uncompressed buf skip ensure … by @adiholden in #525
- refactor(server): Refactor snapshot by @dranikpg in #520
- chore: Add lz4 to the source dependency by @romange in #528
- feat(server): memory defrag support - unit tests added to verify #448 by @boazsade in #523
- bug(debug cmd): debug populate support random value population by @adiholden in #527
- bug(rdb save): snapshot: on push data to channel check serializer len by @adiholden in #532
- feat: add defrag support for small strings by @romange in #534
- feat(server): adding matrices for memory defrag by @boazsade in #535
- feat(rdb save): refactor move zstd serializer under rdb serializer by @adiholden in #533
- feat(server): defrag memory counter for total memory access by @boazsade in #537
- feat(rdb save): add Lz4Compressor by @adiholden in #536
- fix(github): add libzstd-dev dep to aarch64 release pipeline by @romange in #539
New Contributors
Full Changelog: v0.11.0...v0.12.0