Skip to content

Releases: dragonflydb/dragonfly

v1.5.0

03 Jul 21:50
8c80bd7
Compare
Choose a tag to compare
v1.5.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

18 Jun 19:55
6d4d740
Compare
Choose a tag to compare

Dragonfly v1.4.0

New Dragonfly release! Some prominent changes include:

  • Support for several STREAM commands (xinfo, xtrim, read) - Thanks @Abhra303 and @andydunstall !
  • Implementation of bzpopmin and zdiff functionalities - thanks to @royjacobson and @kostasrim !
  • Resolving high latency issues encountered in specific corner cases: @royjacobson
  • Addressing stability issues reported by our community.
    I would like specifically mention the help of one of the discord members that assisted with finding
    the root cause with BLPOP bug. Thank you, glitch!
    In addition, @andydunstall contributed many fixes across the board, especially with BullMQ compatibility.

What's Changed

Read more

v1.3.0

18 May 09:14
f80afca
Compare
Choose a tag to compare

Dragonfly v1.3.0

New Dragonfly release! Some prominent changes include:

  • Support for PFADD, PFCOUNT, PFMERGE commands - thanks to @chakaz
  • Extend HELLO support to AUTH and SETNAME options - thank you @rueian
  • XGROUP now supports MKSTREAM option - thanks to @Abhra303 !
  • Performance improvements when running MULTI/EXEC transactions (@dranikpg)
  • Dragonfly can now listen on a unix domain socket without opening a TCP port (@talbii)

What's Changed

New Contributors

Huge thanks to all the contributors! ❤️

Full Changelog: v1.2.1...v1.3.0

v1.2.1

26 Apr 17:35
0b13eaa
Compare
Choose a tag to compare

Dragonfly v1.2.1

This is a patch release that fixes a case issue with v1.2.0. The issue caused Dragonfly to persist hash keys in low case only.
This release fixes the issue, all users who pulled v1.2.0 are advised to upgrade to this version. Thanks @heikomat for reporting this!

What's Changed

Full Changelog: v1.2.0...v1.2.1

v1.2.0

24 Apr 12:53
d78a9da
Compare
Choose a tag to compare

Dragonfly v1.2.0

Another strong release for Dragonfly. Important changes include:

  • Starting this release, Dragonfly will automatically save a snapshot on exit and will automatically load it back
    when it starts from the same directory. This feature has been a much-asked-for - we hope you find it useful!
    Thanks @royjacobson for implementing it!
    • As before, the snapshot's filename will contain a timestamp by default, and will not override previous snapshots. To overwrite previous snapshots, pass a custom value to the --dbfilename configuration option.
    • To disable automatic snapshots, pass an empty string to --dbfilename.
      Thanks @royjacobson !
  • Replication stability improvements - thanks to @adiholden
  • Lots of performance and stability improvements around PubSub - @dranikpg
  • Lots of performance improvements around Lua scripting and transactions. @dranikpg
  • Support for IPv6 - @royjacobson
  • Automatically recognize container limits when deducing maxmemory and number of cpus: @talbii
  • Json improvements by @iko1

What's Changed

New Contributors

Huge thanks to all the contributors! ❤️

Full Changelog: v1.1.0...v1.2.0

v1.1.2

04 Apr 09:48
6d26909
Compare
Choose a tag to compare

Dragonfly v1.1.2

This is another patch release on top of v1.1.1 that fixes a memory leak during PUBLISH operation #1034

What's Changed

  • fix: another pass on fixing namespace imports to support fb2 by @romange in #1024
  • fix(server): Return the replica's port on ROLE command by @royjacobson in #1027
  • fix(server): Use connection pool only for regular messages by @dranikpg in #1038

New Contributors

Full Changelog: v1.1.1...v1.1.2

v1.1.1

03 Apr 02:44
9b03b2c
Compare
Choose a tag to compare

Dragonfly v1.1.1

This is a patch release on top of v1.1.0 that fixes failures on some of the kernels. If you use v1.0.0 it's recommended to upgrade to
v1.1.1, which addresses the following critical bugs:

  1. Fixed data race on arm64 architectures causing crashes due to incorrect memory ordering barriers (#1009)
  2. Resolved data corruption within the HGET command (#994)
  3. Corrected ZPOPMIN (#977 and #1011)
  4. Enhanced replication by supporting master authentication using the masterauth flag (#1000)

v1.1.0

02 Apr 18:04
f953946
Compare
Choose a tag to compare

Dragonfly v1.1.0

This update addresses critical bugs and it is highly recommended for all users currently on v1.0.0 in production to upgrade. The following issues have been resolved:

  1. Fixed data race on arm64 architectures causing crashes due to incorrect memory ordering barriers (#1009)
  2. Resolved data corruption within the HGET command (#994)
  3. Corrected ZPOPMIN (#977 and #1011)
  4. Enhanced replication by supporting master authentication using the masterauth flag (#1000)

In addition to these bug fixes, we have introduced new features:

  1. Added support for Resp3 (will work automatically with a resp3-enabled client).
  2. Docker images have smaller footprint (with stripped binaries).

What's Changed

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

20 Mar 08:46
bb78c6e
Compare
Choose a tag to compare

Dragonfly v1.0.0

We are thrilled to announce that Dragonfly now supports primary-to-secondary replication! 🎆 🎆

You can either configure Dragonfly as a secondary instance alongside your existing Redis master,
or establish your own replicated DF-to-DF setup. The configuration process is quite similar to that of Redis.
For more information, please check out our replication setup page.

In addition to this feature, the latest release includes final touches and bug fixes to enhance Dragonfly's stability.

What's Changed

  • fix(tests): Disable logging in replication tests by @dranikpg in #906
  • fix(regression-tests): fix cpu print step by @adiholden in #910
  • fix: logging in sentinel_test by @talbii in #869
  • fix(pytest): Add master restart delay by @dranikpg in #909
  • chore(helm): update golden files to latest version by @Pothulapati in #915
  • fix(server): Change WaitForCallbacks mem order by @dranikpg in #914
  • fix(tests):Some test cases for redis replication by @ashotland in #918
  • fix: send a single RDB_OPCODE_FULLSYNC_END from a snapshot by @romange in #920
  • fix(core): Auto cast doubles to ints in lua scripts by @dranikpg in #922
  • chore(helm): Make release pipeline to update golden files by @Pothulapati in #916
  • feat(server): Implement BITPOS. by @chakaz in #907
  • Skip version check if $DFLY_DEV_ENV is set by @ashotland in #928
  • fix: Fix a corruption when connection writes interleaving messages by @romange in #926
  • feat(workflow): Add Vercel Docs Hook to release workflow by @vahnag in #919
  • fix(docs):Delete api_status.md by @ashotland in #921
  • feat(server): Pragmas from scripts by @dranikpg in #927
  • chore: change thread_local to __thread when possible. by @romange in #930
  • feat: increase expiry period to 8 years. by @romange in #932
  • fix(redis_replicaiton_test): fix compare set types by @adiholden in #929
  • bug(redis replication): fix multi transaction replication stable state by @adiholden in #934
  • fix: correctly set batching mode during pubsub by @romange in #937
  • feat(server): hello and info sidekiq compatibility by @ashotland in #941
  • feat(ci): Add daily builds BFS verification by @Pothulapati in #936
  • fix(replication): redis replication flush all before full sync by @adiholden in #946
  • fix(rdb_load): replica load expired keys by @adiholden in #948
  • fix(ci): Use correct x86-64 with builds by @Pothulapati in #950
  • Integration test docker image with Go client by @pascaldekloe in #943
  • chore: some pytests and logging improvements by @romange in #953
  • improve consistency around brpop flow by @romange in #954
  • fix: Fix deadlock in the transaction code. by @romange in #956

New Contributors

Full Changelog: v0.17.0...v1.0.0

v0.17.0

06 Mar 11:44
a3b5f0b
Compare
Choose a tag to compare

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 https://github.com/dragonflydb/...
Read more