v1.22.0
版本发布时间: 2024-09-03 23:36:12
dragonflydb/dragonfly最新发布版本:v1.22.2(2024-09-17 04:01:27)
Dragonfly v1.22.0
Some prominent changes include:
- Lots of stability fixes around JSON and Search APIS: #3459, #3284, #3537, #3544,#3580, #3582, #3578, #3591, #3597, #3539
- Support
HELLO AUTH
handshake: #3486 - Implement FT.TAGVALS: #3493
- Introduce Dragonfly specific lua pragmas: #3517
- Memcache now replicates flags correctly: #3538
- Memcache API now supports absolute timestamps as well: #3607
- PEXPIRETIME and EXPIRETIME are implemented by @Eunoia1729 - thank you!
- Last but not least, a significant contribution by @cunla: a massive test suite, likely the largest in Dragonfly's history, with 12K lines of code. This contribution has sparked further efforts to enhance Dragonfly's compatibility and stability. The initial results are included in this release.
What's Changed
- fix: missing logs on ci timeout by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3452
- fix: JSON.MSET command by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3459
- chore: integrate quicklist changes from valkey by @romange in https://github.com/dragonflydb/dragonfly/pull/3440
- feat(json_family): Add support of the JSON legacy mode by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3284
- fix: pytest teardown exception in os.remove(LAST_LOGS) by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3463
- chore: change how we track memory_budget during evictions by @romange in https://github.com/dragonflydb/dragonfly/pull/3457
- chore: add timeout to replication sockets by @romange in https://github.com/dragonflydb/dragonfly/pull/3434
- chore(server): Remove old blocking debug by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3460
- chore: SinkReplyBuilder2 with vec batching by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3454
- feat: Allow pre-declaring Lua SHAs to run with undeclared keys by @chakaz in https://github.com/dragonflydb/dragonfly/pull/3465
- chore(server): Use parser more in list_family by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3461
- fix: Make replica's
REPLCONF IP-ADDRESS
optional by @chakaz in https://github.com/dragonflydb/dragonfly/pull/3473 - chore: make tiered_test more reliable by @romange in https://github.com/dragonflydb/dragonfly/pull/3477
- chore(facade): Update SinkReplyBuilder2 by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3474
- refactor: set info_replication_valkey_compatible=true by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3467
- chore: relax the version check in test_replicate_old_master by @romange in https://github.com/dragonflydb/dragonfly/pull/3478
- chore: Download Dragonfly versions only when needed by @chakaz in https://github.com/dragonflydb/dragonfly/pull/3479
- fix: division by zero bug by @romange in https://github.com/dragonflydb/dragonfly/pull/3482
- test: fix test_scripts by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3485
- chore(facade): RedisReplyBuilder2 base by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3475
- chore(facade): MCReplyBuilder2 by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3480
- chore(facade): RedisReplyBuilder2 (extensions) by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3481
- fix: big value serialization corner cases by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3430
- fix: HELLO AUTH with non default user by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3486
- fix: flake in teardown of test_unknown_dfly_env by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3487
- fix: test_replicate_old_master missing serialization_max_chunk_size by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3498
- chore: add logs to debug tiered memory failures by @romange in https://github.com/dragonflydb/dragonfly/pull/3499
- feat: implement FT.TAGVALS by @romange in https://github.com/dragonflydb/dragonfly/pull/3493
- test: fix test_acl_deluser by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3488
- fix: sanitizers post failure on google chat by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3496
- chore(generic_family): Fix bad data format error in the RESTORE command by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3501
- fix: sanitizers false positives by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3495
- feat: Expose replica_reconnect_count for Prometheus metrics by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3370
- fix: pytest warnings by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3497
- fix: missing virtual destructors in ReplyBuilder2 by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3506
- chore: split engine_shard file from engine_shard_set by @romange in https://github.com/dragonflydb/dragonfly/pull/3507
- chore: introduce a secondary TaskQueue for shards by @romange in https://github.com/dragonflydb/dragonfly/pull/3508
- fix: clang warnings by @romange in https://github.com/dragonflydb/dragonfly/pull/3509
- chore: reduce pipelining latency by reusing existing shard fibers by @romange in https://github.com/dragonflydb/dragonfly/pull/3494
- fix: bugs around the growth of a tiered file by @romange in https://github.com/dragonflydb/dragonfly/pull/3516
- chore: Change Lua embedded flags syntax by @chakaz in https://github.com/dragonflydb/dragonfly/pull/3517
- feat(cluster): Allow appending RDB to existing store by @chakaz in https://github.com/dragonflydb/dragonfly/pull/3505
- fix: disable ThreadLocalMutex when big value ser is off by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3521
- chore(io): Introduce (carefully) new io with use_new_io flag by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3513
- chore(io): Optimize repeated ReservePiece calls by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3525
- fix: disable sanitizers false positive by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3522
- chore(config): make pipeline_squash configurable by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3529
- chore(traffic loger): use pipelining and print/analyze commands by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3527
- fix: skip empty objects on load and replication by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3514
- fix: deadlock in Heartbeat() by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3530
- fix(search_family): Add error on creating indexes from non-zero databases by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3537
- fix: macos build by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3536
- fix: MC flags size and serialization #3134 by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3538
- fix(transaction): Don't set continuation for blocking by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3540
- fix: named volume permissions in docker by @romange in https://github.com/dragonflydb/dragonfly/pull/3518
- fix(jsonpath): Add JsonPath grammar for the child identifier in brackets by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3533
- fix: build errors in sanitizers daily workflow by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3542
- test: tests using fakeredis to check compatibility by @cunla in https://github.com/dragonflydb/dragonfly/pull/3534
- chore: fix search replication by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3547
- chore: add deallocation logs in the allocation tracker by @romange in https://github.com/dragonflydb/dragonfly/pull/3549
- fix: fakeredis tests support python 3.10 by @cunla in https://github.com/dragonflydb/dragonfly/pull/3550
- feat(server_family): Add backup/restore Prometheus metrics by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3520
- docs: Fakeredis tests README by @cunla in https://github.com/dragonflydb/dragonfly/pull/3552
- fix: zinterstore correctly finds weights by @romange in https://github.com/dragonflydb/dragonfly/pull/3554
- fix(search_family): Fix query parsing for the integer tags in OR expression by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3544
- chore(server): Fix watch by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3557
- chore(search): fix numeric index query in rev order by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3555
- chore: allow limiting pipelining queue by length by @romange in https://github.com/dragonflydb/dragonfly/pull/3551
- fix: add unsupported_server_types to fakeredis tests by @cunla in https://github.com/dragonflydb/dragonfly/pull/3560
- fix: string compatibility issues by @romange in https://github.com/dragonflydb/dragonfly/pull/3564
- fix(server): Fix ZRANGEBYLEX limit params by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3562
- fix: compatibility around list and string commands by @romange in https://github.com/dragonflydb/dragonfly/pull/3565
- chore(server): Unify zset arg parsing by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3563
- fix: compatibility around list,string and sort commands by @romange in https://github.com/dragonflydb/dragonfly/pull/3568
- chore(server): Sort correctly in ZINTER by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3566
- chore(server): Unify zset boolean operations into single function by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3567
- chore(transaction): More blocking tests by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3546
- fix: delete empty dense sets in HGetGeneric by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3543
- chore(search): Silence query parser error by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/3570
- chore: improve compatibility of set and ping commands by @romange in https://github.com/dragonflydb/dragonfly/pull/3569
- fix: disable failing test_cron_snapshot_failed_saving by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3571
- fix: disable test_cluster_flushall_during_migration by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3573
- chore: add -Wthread-analysis and annotate (part 1/2) by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3502
- feat(generic_family): Implement EXPIRETIME and PEXPIRETIME commands by @Eunoia1729 in https://github.com/dragonflydb/dragonfly/pull/3524
- chore: allow running dragonfly pytests in repeat by @romange in https://github.com/dragonflydb/dragonfly/pull/3577
- fix(json_family): Fix json get crash due to an invalid json path by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3580
- fix(json_family): Fix JSON.GET crash for the multiple legacy mode paths by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3582
- fix: return an error when invalid number of arguments is passed. by @romange in https://github.com/dragonflydb/dragonfly/pull/3584
- feat: add oom_deny_ratio to mutable config by @romange in https://github.com/dragonflydb/dragonfly/pull/3585
- fix: warning as error on sanitizers build by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3587
- feat: add escaping symbols for tag search by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3578
- fix: skip test_replica_reconnections_after_network_disconnect by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3589
- docs(readme): Fix data mistake by @DerickIT in https://github.com/dragonflydb/dragonfly/pull/3590
- chore: remove DflyVersion::VER0 by @romange in https://github.com/dragonflydb/dragonfly/pull/3593
- refactor: remove double conversion from str to number to str in search by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3591
- chore(deps): bump aiohttp from 3.8.4 to 3.10.2 in /tests/dragonfly by @dependabot in https://github.com/dragonflydb/dragonfly/pull/3600
- refactor: remove toUpper() from cmd_arg_parser by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3599
- fix: JSON.STRAPPEND by @romange in https://github.com/dragonflydb/dragonfly/pull/3597
- chore(deps): bump golang.org/x/net from 0.7.0 to 0.23.0 in /contrib/charts/dragonfly by @dependabot in https://github.com/dragonflydb/dragonfly/pull/3601
- chore(deps): bump gopkg.in/yaml.v3 from 3.0.0-20210107192922-496545a6307b to 3.0.0 in /tools/replay by @dependabot in https://github.com/dragonflydb/dragonfly/pull/3603
- chore(deps): bump google.golang.org/protobuf from 1.26.0 to 1.33.0 in /contrib/charts/dragonfly by @dependabot in https://github.com/dragonflydb/dragonfly/pull/3604
- fix: xreadgroup replies as a map for RESP3 by @romange in https://github.com/dragonflydb/dragonfly/pull/3576
- chore: enable experimental_new_io by default. by @romange in https://github.com/dragonflydb/dragonfly/pull/3605
- fix(server_family): Remove search indexes during the FLUSHALL command by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3539
- feat(acl): add pub/sub by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3574
- chore: enable -Werror=thread-safety and add missing annotations (part 2/2) by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3595
- feat: add slave_repl_offset to the replication section. by @romange in https://github.com/dragonflydb/dragonfly/pull/3596
- fix(json_family): Fix JsonFromString method by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/3602
- fix(grafana): Fix grafana dragonfly dashboard datasource by @applike-ss in https://github.com/dragonflydb/dragonfly/pull/3608
- fix: debug crash inside parsing of ZRANGE by @romange in https://github.com/dragonflydb/dragonfly/pull/3611
- chore: run fakeredis flow with the debug build by @romange in https://github.com/dragonflydb/dragonfly/pull/3612
- chore: Split
--cluster_announce_ip
and--replica_announce_ip
by @chakaz in https://github.com/dragonflydb/dragonfly/pull/3615 - fix: fix expiration processing for set command by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3607
- fix pytest: use generic random dbfilename in tests by @adiholden in https://github.com/dragonflydb/dragonfly/pull/3617
- fix(bug): zinter command should run on replica by @adiholden in https://github.com/dragonflydb/dragonfly/pull/3620
- fix(test_auth_resp3_bug): release build failing by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3621
- chore: improve debug logs in dragonfly_connection by @romange in https://github.com/dragonflydb/dragonfly/pull/3624
- fix: edge cases around mismatched path in json code by @romange in https://github.com/dragonflydb/dragonfly/pull/3609
- test: fix search tests by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3625
- refactor: remove extra code from CmdArgParser by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/3619
- fix: limit parsing in zrange commands by @romange in https://github.com/dragonflydb/dragonfly/pull/3626
- chore: disable big value ser on reg tests by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3629
- fix: crash when passing empty arguments by @romange in https://github.com/dragonflydb/dragonfly/pull/3627
- fix: 'renamenx foo foo' should return 0 if foo exists by @romange in https://github.com/dragonflydb/dragonfly/pull/3630
- fix: debug help printed layout by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/3635
- fix: crash during SORT DESC call by @romange in https://github.com/dragonflydb/dragonfly/pull/3637
New Contributors
- @cunla made their first contribution in https://github.com/dragonflydb/dragonfly/pull/3534
- @Eunoia1729 made their first contribution in https://github.com/dragonflydb/dragonfly/pull/3524
- @DerickIT made their first contribution in https://github.com/dragonflydb/dragonfly/pull/3590
- @applike-ss made their first contribution in https://github.com/dragonflydb/dragonfly/pull/3608
Full Changelog: https://github.com/dragonflydb/dragonfly/compare/v1.21.0...v1.22.0
1、 dragonfly-aarch64-dbgsym.tar.gz 121.05MB
2、 dragonfly-aarch64.tar.gz 12.16MB
3、 dragonfly-x86_64-dbgsym.tar.gz 122.38MB
4、 dragonfly-x86_64.tar.gz 12.61MB
5、 dragonfly.x86_64.rpm 6.82MB
6、 dragonfly_amd64.deb 10.27MB
7、 dragonfly_arm64.deb 9.59MB