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
- @jongwooo made their first contribution in #2010
- @azuredream made their first contribution in #2019
- @evelez7 made their first contribution in #1994
- @y9rabbito made their first contribution in #2085
Huge thanks to all the contributors! โค๏ธ
๐ฎ๐ฑ ๐บ๐ฆ
Full Changelog: v1.11.0...v1.12.0