github dragonflydb/dragonfly v0.17.0

latest releases: v1.22.2, v1.22.1, v1.22.0...
18 months ago

Dragonfly v0.17.0

This is probably the last version before the 1.0 GA release.

  • Multiple performance & stability improvements around transactions and lua scripts.
  • helm scripts support password-based authentication
  • Improve memory introspection tooling to be able to track memory usage in production easier
  • Switched to dragonfly-specific snapshotting format (Dragonfly still supports saving/loading rdb files).
  • Backport to Dragonfly lua functions that were deprecated after lua version 5.1 (getn, unpack)
  • A new docs site was launched: https://dragonflydb.io/docs
  • Dragonfly can now emulate cluster-mode by exposing itself as a single-shard cluster. See cluster_mode flag for more details.
  • Experimental support for SADDEX/HSETEX commands that allow setting a TTL on SET/HASH members. This solves a 8-year-old feature request existing in the Redis project: redis/redis#2905

Huge thanks to all the contributors! ❤️

What's Changed

  • feat(server): replication should not evict items by @adiholden in #743
  • feat(list): Add BLMove command by @romange in #753
  • fix(regression-tests): sentinel_test.py: Ditch docker whcih is complex on CI in favour of local redis binary by @ashotland in #755
  • feat(server): add latency statistics for lua script calls by @romange in #758
  • bug(server): fix deadlock in BufferedStreamerBase notify all producers by @adiholden in #760
  • bug(replication): BLPOP fix write to shard journal of popped key by @adiholden in #761
  • feat(server): add total_connections_received statistics by @romange in #757
  • bug(transaction): local result needs to be reset on InitByArgs Fixes … by @adiholden in #762
  • chore(server): track ooo transactions via metrics. by @romange in #763
  • feat(server): Pool lua interpreters by @dranikpg in #765
  • bug(replica): execute expire within multi command only if its belong … by @adiholden in #766
  • Update transaction and enable OOO for regular transactions by @dranikpg in #769
  • feat(server): Extend malloc-stats command functionality. by @romange in #775
  • feat(server): Async unlock multi by @dranikpg in #774
  • feat(server): track pipeline requests cache capacity by @romange in #776
  • Update README.md by @ashotland in #778
  • test(server): adding unit tests for reply builder by @boazsade in #764
  • fix(server): monitor lua at script execution by @boazsade in #767
  • feat(server): add dfly replica offset command by @adiholden in #780
  • feat(replica): add debug command - replica offset by @adiholden in #786
  • fix(server): Fix transaction bug by @dranikpg in #787
  • Refactor initialization phase of transaction by @dranikpg in #790
  • fix(server): Fix bugs by @dranikpg in #797
  • feat(server): Enable overriding --requirepass form env var by @ashotland in #792
  • test(regression-tests): stop regression-tests schedual run by @adiholden in #795
  • fix(replica) : replica will not sync execution multi shard commands as default by @adiholden in #800
  • feat(facade): Limit request cache using runtime flag by @romange in #793
  • update readme by @worldsoup in #794
  • feat(server): save dragonfly snapshot in a new format by default by @romange in #802
  • feat(server): write journal record with optional await based on flag… by @adiholden in #791
  • fix(pytest): SAVE to SAVE RDB by @dranikpg in #803
  • fix(pytest): fix periodic test by @dranikpg in #804
  • fix(regression-tests): increase timeout of regression-tests by @adiholden in #806
  • chore(server): reduce number of allocations with multi-exec commands by @romange in #807
  • chore(regressions-tests): Update regression-tests.yml by @ashotland in #805
  • tests(server): Add multi_test by @dranikpg in #810
  • feat(core): Add Ttl semantics to string_map by @romange in #813
  • feat(server): Check locks in heartbeat, allow multiple tx in replica by @dranikpg in #815
  • feat(charts): Update helm chart to support password from secret by @ashotland in #799
  • Fix(regression-tests): Sentinel test - wait for sentinel termination by @ashotland in #816
  • Basic multi modes for MULTI/EXEC by @dranikpg in #796
  • fix(zset): Make count optional for ZPOP{MIN,MAX} by @alisaifee in #821
  • feat(server): add debug information about running transactions by @romange in #820
  • EVAL multi modes + non atomic modes by @dranikpg in #818
  • fix(regression-test): Sentinel test stabilization by @ashotland in #826
  • bug(snapshot): Fix unwriten entries in multiple snapshotting Fixes #823 by @adiholden in #825
  • docs: Add how to build dragonfly on Fedora by @romange in #822
  • feat(tests): Add rotating master test by @dranikpg in #828
  • fix(docs):attos -> dragonflydb by @ashotland in #830
  • feat(server): add lru data structure by @romange in #831
  • Update transaction.md by @dranikpg in #808
  • feat(server): Add HSETEX command by @romange in #817
  • docs(dashtable): Fix image URL for expiration by @Pothulapati in #870
  • fix(server): JSON.RESP path arg should be optional (#852) by @iko1 in #865
  • fix(server): Fix lua reply builder by @dranikpg in #871
  • fix(helio): get helio fix in uring_socket by @adiholden in #827
  • fix(server): Reorder ExecuteAsync callback seqlock check by @dranikpg in #873
  • fix(server): fix JSON.ARRTRIM implementation (#844) by @iko1 in #864
  • feat(tests): Script pytests by @dranikpg in #872
  • bug(snapshot) : Do not preempt inside OnDbChange issue #829 by @adiholden in #868
  • feat(db slice): add fiber atomic gaurd by @adiholden in #878
  • feat(Docker) : add redis tools to docker by @adiholden in #877
  • fix(server): Fix replication logs by @dranikpg in #883
  • feat(chart): add golden file output rendering tests by @Pothulapati in #882
  • fix(charts): Use Release.Namespace everywhere by @Pothulapati in #884
  • feat: support cluster mode emulation by @lsvmello in #492
  • test(helm): Add command to update golden files by @Pothulapati in #890
  • fix: ci by @romange in #893
  • feat(zset_family): support zscan match and count optional params issue by @adiholden in #891
  • Support script configuration by @dranikpg in #889
  • fix: resize buffer correctly when checking for http header line by @romange in #894
  • Add basic replicaiton from redis test by @ashotland in #895
  • bug(snapshot) : enforce order when pushing to channel when needed issue #879 by @adiholden in #886
  • bug(replica): call add entry outside DCHECK by @adiholden in #896
  • bug(list_family): fix BPopPusher command replication by @adiholden in #899
  • feat(regression test) : add regression test that run in optimiztion mode by @adiholden in #900
  • fix(server):Return an error, instead of crashing, for requests trying to rename a key to the same key. by @chakaz in #897
  • fix(server): fix JSON.MGET implementation (#849) by @iko1 in #876
  • chore(deps): Update outdated golang test dependencies by @Pothulapati in #904
  • chore(server): pass coordinator thread to a transaction object by @romange in #905
  • fix(server): Add deprecated/removed lua table functions by @dranikpg in #901

New Contributors

Full Changelog: v0.15.0...v0.17.0

Don't miss a new dragonfly release

NewReleases is sending notifications on new releases.