v1.13.0
Dragonfly v1.13.0 - Chrismukkah edition π― ππ― ππ―
This marks our final release for the year, featuring numerous stability fixes and performance enhancements.
We recommend upgrading to this version if you are currently using versions 1.12.x or 1.11.0
Important features and changes:
- FT.SEARCH API has been finally released in beta! Our community users has been using this API since the moment it appeared in alpha and helped us greatly to stabilise it for this release. The API supports both vector search (probably, one of the fastest vector search engines today) as well as regular structured, faceted search.
- Fix a crash bug during client disconnect (a regression that was introduced in the previous versions)
- Improve support for JSON path parsing in JSON api
What's Changed
- feat(server): Add
/clusterz
page with info on cluster by @chakaz in #2115 - add ability to set snapshot_cron flag during runtime(#1762) by @BorysTheDev in #2101
- chore: use decode_responses when creating a redis client by @romange in #2109
- docs(contributing): Fix typo in CONTRIBUTING.md by @PulkitBxtra in #2119
- fix: local grafana dasboard by @romange in #2124
- fix(acl): case insensitive parsing from files and serialization format by @kostasrim in #2123
- fix(test): Don't access null pointer by @chakaz in #2126
- feat: expose fiber responsiveness metrics by @romange in #2125
- fix(unittest): Fix regression to sticky-eviction unittest by @chakaz in #2128
- fix(server): Do not crash
HRANDFIELD
if some/all elements expired by @chakaz in #2113 - fix(DenseSet): Rename
Size()
toUpperBoundSize()
and addSizeSlow()
by @chakaz in #2130 - fix(unittest): Init with
dbfilename=
before attempting tosave
by @chakaz in #2127 - fix(memcached): parsing multi key get command by @kostasrim in #2122
- chore: Enable unit-tests in CI by @chakaz in #2129
- fix(rename-command): Fix subtle UB when renaming commands by @chakaz in #2132
- chore(search): Extend FT.INFO by @dranikpg in #2133
- Add GeoRadiusByMember support by @azuredream in #2107
- feat:add new macros {Y}, {m} and {d} to dbfilename flag by @BorysTheDev in #2118
- chore(acl): Fix STICK flags by @dranikpg in #2140
- chore(search): Fix expiry test by @dranikpg in #2136
- docs(readme): Fix README.zh-CN benchmark link by @WeihanLi in #2117
- chore(eval): Don't crash on unsupported script commands by @dranikpg in #2138
- doc: How to bind to all IPv4 IP addresses by @chakaz in #2145
- fix(regTests): increase cancel replication test timeout by @kostasrim in #2143
- feat: add SRANDMEMBER and ZRANDMEMBER by @BorysTheDev in #2148
- fix(tests): Fix flaky cluster test by @dranikpg in #2158
- chore: remove Command step argument by @romange in #2150
- chore: lower takeover test load, add comments by @dranikpg in #2151
- chore: dragonfly_connection fixes by @dranikpg in #2160
- Incorrect link to helm chart packages by @nicc777 in #2161
- fix(search): Fix replication by @dranikpg in #2159
- fix(connection): Clear dispatch queue before pipeline squashing by @dranikpg in #2163
- feat: Memory stats by @chakaz in #2162
- chore(tls): add tls config test for ca_dir by @kostasrim in #2152
- fix(stats): Do not crash upon issuing mem stats by @chakaz in #2169
- feat: add support for sticky keys in rdb #251 by @BorysTheDev in #2166
- feat(server): Implement CLIENT PAUSE by @royjacobson in #1875
- chore(facade): Introduce AwaitCurrentDispatches by @dranikpg in #2156
- fix(server): fix build after merge AwaitCurrentDispatch by @adiholden in #2176
- regression: skip client pause test utill we fix the bug by @adiholden in #2177
- fix(server): client pause fix on pipeline squash by @adiholden in #2180
- chore(server_family): add missing field used_memory_peak_human in command info by @kostasrim in #2184
- fix(json): fix json dot path by @dranikpg in #2186
- chore: Module list by @dranikpg in #2187
- fix(search): Fix vector search bugs :( by @dranikpg in #2188
- feat(server): Implement ZINTER command by @highpon in #2164
- fix(memcached): add length check for key values by @kostasrim in #2153
- fix: reduce the maxmimum running time of scan operation to ~100ms by @romange in #2195
- chore: connection fixes by @dranikpg in #2192
- fix(pytest): Fix renamed flag by @dranikpg in #2197
- chore: add missing doc for spill_file_prefix by @kostasrim in #2174
- fix(replication): fix cancel replication race by @adiholden in #2196
- fix: forbid parallel save operations by @BorysTheDev in #2172
- refactor: refactor cmd_arg_parser interface by @BorysTheDev in #2200
- feat(helm): add priority class name for pod by @Letfdsada in #2183
- fix(connection): Fix pipelined command counter by @dranikpg in #2201
- refactor(facade): Do not include / use server from facade by @chakaz in #2211
- chore: improve performance of mget operation by @romange in #2212
- fix(search): Fix score alias for knn wrapped in sort by @dranikpg in #2215
- fix(squashing): Reset base command id by @dranikpg in #2209
- feat(server): Better connection memory tracking by @chakaz in #2205
- fix: fix cmd latency units in /metrics by @romange in #2217
- Add store test case for GeoRadiusByMember by @azuredream in #2210
- fix: memcached VERSION is now parseable by php-memcached client by @romange in #2220
- fix: regression test failures by @romange in #2226
- fix(test): Fix connection context access by @dranikpg in #2228
- Start slot migration by @BorysTheDev in #2218
- fix(server): Unwatch keys during connection close by @dranikpg in #2231
- fix(server): Save element expirations for hash sets & sets by @chakaz in #2223
- feat(bitops_family): implement bitfield command by @kostasrim in #2221
- fix(server): initialize replica acked lsn by @adiholden in #2236
- fix: wrong assert check in dash segment by @romange in #2238
- feat(bitops_family): implement bitfield_ro command by @kostasrim in #2222
- fix: assign threadlocal data structures during connection migration by @romange in #2237
- add new method to CmdArgParser by @BorysTheDev in #2244
- fix(server): Fix crash when using MEMORY STATS commands by @chakaz in #2240
- fix: remove string copy in SendMGetResponse by @romange in #2246
- fix(search): Small improvements by @dranikpg in #2248
- feat: add slot-migration-status command by @BorysTheDev in #2239
- chore: add benchmarks for a small cloud instance by @romange in #1264
Huge thanks to all the contributors! β€οΈ
New Contributors
- @PulkitBxtra made their first contribution in #2119
- @WeihanLi made their first contribution in #2117
- @nicc777 made their first contribution in #2161
- @highpon made their first contribution in #2164
- @Letfdsada made their first contribution in #2183
Full Changelog: v1.12.0...v1.13.0