Skip to content

Releases: dragonflydb/dragonfly

v1.12.0

03 Nov 06:36
e46dd24
Compare
Choose a tag to compare

Dragonfly v1.12.0

🎃 🎃 🎃 🎃 🎃 🎃 🎃

Important features and changes:

  • Slowlog support - thank you @UkuLoskit !
  • FT.SEARCH support! After the initial release and some feedback from early adopters we declare beta availability for SEARCH.
  • SINTECARD support - thank you @evelez7
  • Fix correctness bugs in hashmap - thank you Fernando Macho for helping us to find the root cause.
  • Fix REVRANGE bug in sorted set.
  • Improved eviction heuristic when cache_mode is enabled #2084
  • GEO API is extended further, thank you very much @azuredream !

What's Changed

  • fix: buffer overrun when passing long command name from lua by @romange in #2008
  • chore(regTests): add basic module logging and print when tests fail by @kostasrim in #2005
  • chore: Replace deprecated command with environment file by @jongwooo in #2010
  • chore(regTests): separate build and reg tests timeouts by @kostasrim in #2006
  • feat: Implement slowlog by @UkuLoskit in #1956
  • fix(server): Don't recompute shard for squashed stub tx by @dranikpg in #2017
  • feat: allow extracting the expiry time from string_set by @romange in #2020
  • opt(server): Allow round-robin keys between shards based on prefix by @chakaz in #2016
  • chore: Enable squashing by default by @dranikpg in #2011
  • fix: reject zset variadic commands with 0 keys by @romange in #2022
  • fix(server): Start periodic fiber only once init completes by @chakaz in #2023
  • chore: remove .DS_Store file by @romange in #2025
  • fix(server): Fix shardlocal eval with round-robin prefix by @chakaz in #2024
  • fix(search): Use double numeric values by @dranikpg in #2015
  • feat: add fieldttl command that returns the ttl of the member by @romange in #2026
  • fix(ubuntu-prod): Set suexec hash correctly by @Pothulapati in #2029
  • fix(server): Exclude eval from pipeline squashing by @dranikpg in #2027
  • feat(server): Support COMMAND INFO by @dranikpg in #2035
  • chore: add a debug check in slowlog by @romange in #2039
  • fix: evict open connections for users not present in the updated ACL by @azuredream in #2019
  • feat: implement SINTERCARD by @evelez7 in #1994
  • feat(acl): add config set for aclfile by @iko1 in #1978
  • feat(acl): Implement ACL GENPASS by @UkuLoskit in #2013
  • opt(server): Migrate connections which invoke Lua scripts to their target thread. by @chakaz in #2037
  • chore(regTests): print logs when regTests timeout by @kostasrim in #2031
  • chore: call debug stacktrace on SIGUSR1 by @kostasrim in #2012
  • fix: Don't crash on reaching hnsw capacity by @dranikpg in #2046
  • feat: implement fieldttl for the hash family by @romange in #2040
  • chore(search): add redis-om test by @dranikpg in #2049
  • fix: localize timeout in test_cancel_replication_immediately test by @romange in #2048
  • fix: skip setting tcp_nodelay for unix domain sockets by @dranikpg in #2033
  • wrap dragonfly_test with gdb inside a CI by @romange in #2050
  • chore: measure rss memory and track its peak by @romange in #2054
  • chore(search): Add exclusive range option by @dranikpg in #2055
  • fix(sock): Use the updated cancellation cb interface. by @royjacobson in #1940
  • fix(regTests): properly handle other error codes on timeouts by @kostasrim in #2057
  • feat: add 'memory decommit' command by @romange in #2058
  • feat(tls): support runtime tls reconfig by @andydunstall in #2047
  • fix: inject our own parser for slowlog get by @romange in #2059
  • feat(aws): add https support by @andydunstall in #2061
  • chore: add more debug info if a deadlock is caught in unit tests by @romange in #2062
  • feat: Implement options for EXPIRE command by @UkuLoskit in #2051
  • fix(search): Persist field flags by @dranikpg in #2069
  • feat(server): add memory stats for snapshot save by @adiholden in #2072
  • chore(server-family): do not log SETINFO by @kostasrim in #2065
  • fix(server): Fix crash when connection uses multiple lua scripts by @chakaz in #2073
  • fix(bptree): Reverse iteration by @chakaz in #2075
  • feat(aws): add web identity provider by @andydunstall in #2041
  • fix(docs): add missing libstdc++-static dependency info by @kostasrim in #2077
  • chore(reply_builder): add dcheck that each command invocation has rep… by @kostasrim in #2067
  • fix(requirements): conflicting dependencies redis and redis-om by @kostasrim in #2079
  • fix(replica): fix replica reconnect handing by @dranikpg in #2068
  • fix(server): Correctly set expiration from Lua scripts by @chakaz in #2080
  • fix: Correctly grow dense_set in the Reserve call by @romange in #2087
  • fix(search): Support indexing array paths by @dranikpg in #2074
  • Add number of threads to INFO by @y9rabbito in #2085
  • fix(facade): Avoid check on getsockopt SO_INCOMING_NAPI_ID by @ashotland in #2091
  • fix(AclFamily): renaming commands and subcommands by @kostasrim in #2076
  • feat(acl): add config set for acllog_max_len by @iko1 in #1979
  • chore: improve pytest ux by @romange in #2088
  • fix(ReplyGuard): set member variable on construction and remove unused by @kostasrim in #2082
  • fix(transaction): Reset reverse index in multi-tx by @dranikpg in #2086
  • chore: help users to fix a mistake of setting quotes in the flagfile by @romange in #2092
  • chore: raise pipeline squashing limit by @dranikpg in #2095
  • fix: small races on config registry and maxclients by @kostasrim in #2078
  • feat: Add GEOSEARCH support by @azuredream in #2070
  • doc(README): Explain how to use env var flags by @chakaz in #2096
  • feat(server): perform eviction upon memory pressure in cache mode by @theyueli in #2084
  • fix(server): Do not return empty array after expiration by @chakaz in #2104
  • fix(regTests): can't execute command while loading on snapshots by @kostasrim in #2110
  • fix(regTests): Wait between ACTIVE until `stable_sync by @chakaz in #2111
  • fix: more server state read in command invocation by @dranikpg in #2114
  • chore(search): Safe json validation, serialize fix by @dranikpg in #2100

New Contributors

Huge thanks to all the contributors! ❤️

🇮🇱 🇺🇦

Full Changelog: v1.11.0...v1.12.0

v1.11.0

16 Oct 09:30
c6f8f38
Compare
Choose a tag to compare

Dragonfly v1.11.0

🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱
Our beloved country is currently facing difficult times, but we will win, for hope and progress are on our side.
🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱 🇮🇱

Important features and changes:

  • Starting from v1.11.0 we support the BullMQ framework. For more information see BullMQ post and our docs.
  • Lots of ACL/Auth fixes. Specifically (IMPORTANT): we changed the default http user to be "default" instead of "user" to be consistent
    with Dragonfly ACL rules. We also removed the requirement for authenticated access to /metrics http page even if ACL are enabled.
  • STREAMS and ACL APIs are complete! Please let us know if you encounter any issues.
  • Lots of performance improvements for Sorted Sets. Now Dragonfly uses our own b+tree implementation for sorted sets by default instead
    of the old Redis skiplist implementation. We improved some memory and performance bottlenecks with listpack encoding as well.
  • Fix logrotate rules for our debian package.

What's Changed

Read more

v1.10.0

13 Sep 12:02
1da29a5
Compare
Choose a tag to compare

Dragonfly v1.10.0

Maintenance release to address the linker dependency issue #1823 .

In addition, we introduced ACL config file support for those who want to preserve ACL settings between restarts.
Please check out the changelog below for additional bug fixes and stability improvements.

What's Changed

New Contributors

  • @yancz2000 made their first contribution in #1772
  • @Equilibrium2702 made their first contribution in #1838

Huge thanks to all the contributors! ❤️

Slava Ukraini 🇺🇦

Full Changelog: v1.9.0...v1.10.0

v1.9.0

05 Sep 14:25
f94c4be
Compare
Choose a tag to compare

Dragonfly v1.9.0

This release includes a number of important stability and security fixes, as well as some features that have been requested by users for a long time:

  1. ACLs : starting from this release, you can now create multiple users in Dragonfly and control their access via acl categories. The following ACL sub-commands are now supported:
    ACL SETUSER/DELUSER/WHOAMI/LIST. Please note that ACLS are not persisted yet through process restarts.
  2. Improved sorted-sets. We rolled out our experimental support for sorted sets (aka ZSET). They require 35% less memory and are more CPU efficient, especially for large sets. To try them now with --use_zset_tree.
  3. Support for CONFIG GET/SET - now some runtime options can be changed without restarting the server (#1700).
  4. The maxclients flag now prevents the number of client connections from growing indefinitely (#1496).
  5. New flags max_multi_bulk_len and max_client_iobuf_len control the limits for large requests. The former controls how many elements can be sent via arrays (for commands like MSET, SADD etc). The latter controls maximum buffer size when accepting string blobs (#1771) .
  6. HTTP endpoint authorization: now our HTTP endpoint is protected with the same token that is passed with --requirepass=token (#1792)
    Once basic auth is set, one can access the http port via curl -u user:token localhost:6379/

What's Changed

Read more

v1.8.0

09 Aug 06:56
7c99d2d
Compare
Choose a tag to compare

Dragonfly v1.8.0

New Dragonfly release! It's a stability release.

1.7.x had a few regressions which are fixed in this release 🤞🏼.
Everyone who uses 1.7.x is advised to switch to 1.8.0

What's Changed

Full Changelog: v1.7.1...v1.8.0

v1.7.1

02 Aug 16:17
58f6ede
Compare
Choose a tag to compare

Dragonfly v1.7.1

New Dragonfly release! Prominent changes include:

  1. Partial GEO API support (GEOADD, GEOPOS, GEOHASH) (thanks @yoelsherwin )
  2. command duration metrics are now exported via Commandstats in INFO.
  3. Lots of improvements around TLS support.
  4. Dragonfly can now read RDB files by Redis 6 and Redis 7!
  5. snapshot_cron is added (#1590 ) - thanks @dor132

What's Changed

New Contributors

Huge thanks to all the contributors! ❤️

Full Changelog: v1.6.0...v1.7.1

v1.7.0

02 Aug 09:48
7673e02
Compare
Choose a tag to compare

Dragonfly v1.7.0

New Dragonfly release! Prominent changes include:

  1. Partial GEO API support (GEOADD, GEOPOS, GEOHASH) (thanks @yoelsherwin )
  2. command duration metrics are now exported via Commandstats in INFO.
  3. Lots of improvements around TLS support.
  4. Dragonfly can now read RDB files by Redis 6 and Redis 7!

What's Changed

New Contributors

Huge thanks to all the contributors! ❤️

Full Changelog: v1.6.0...v1.7.0

v1.6.2

19 Jul 13:58
Compare
Choose a tag to compare

Fixed #1570

Full Changelog: v1.6.1...v1.6.2

v1.6.1

13 Jul 06:44
7397c3d
Compare
Choose a tag to compare

Bug fix release

Full Changelog: v1.6.0...v1.6.1

v1.6.0

10 Jul 12:10
4eb2012
Compare
Choose a tag to compare

Dragonfly v1.6.0

New Dragonfly release! Prominent changes include:

  • Support for s390x (Thanks, @iko1 )
  • Fixing stability issues in the transactional framework around blocking operations (thanks to @glitch user on Discord for helping to pinpoint the issues)
  • Support plain replication on the admin port with TLS enabled on the primary port (#1490 )
  • Support custom permissioning on UNIX domain sockets (#1415)
  • Fix a deadlock when performing the replication over the admin port (#1470)
  • Atomic replica failover support.

What's Changed

New Contributors

Huge thanks to all the contributors! ❤️

Full Changelog: v1.4.0...v1.6.0