i2.0.1
refactor: complete remove RedisParser (#8465)
refactor: complete remove RedisParser (#8465)
Signed-off-by: Kostas Kyrimis kostas@dragonflydb.io
Dragonfly v2.0.0 We have been waiting three years to bump the major version. While this specific release does not add new major features by itself, it marks a significant milestone in our maturity, performance, and production readiness. Dragonfly v2.0.0 expands Redis and Valkey compatibility with Valkey 9 RDB loading, GEOSEARCHSTORE, and improved replication backlog controls. Performance work redu…
feat: add rdb valkey support
Track subscription and WATCH allocations at mutation sites, reuse MULTI byte totals, and cache ACL glob memory when credentials are installed. Keep a single O(1) memory-accounting path and make recursive container traversal explicit. Adapt the backport to v1.40 without introducing script ACL snapshots or authentication expiry. Preserve existing script behavior and save AUTH's selected database bef…
fix: compatibility RDB_TYPE_SET_LISTPACK with RedisShake
What's Changed Tiered storage (disk offload) fix(tiering): Don't cool on load — values loaded during full sync / RDB-DFS load were incorrectly pushed into the cool-tier cache; loading is no longer treated as a candidate for cooling since it isn't client traffic. fix(tiering): Replace the separate write-depth limit with a single tiered_max_pending_bytes cap that covers both in-flight reads and writ…
fix(server): Extend journal omits to omit only on-change, add support…
Signed-off-by: Vlad vlad@dragonflydb.io
feat(tiering): Repack scan (disabled by default)
fix: export small bins entries bytes in metrics
backport: semantic backport of mem accounting fix from 2ce7149 Signed-off-by: Abhijat Malviya abhijat@dragonflydb.io fix(cluster): journal FLUSHSLOTS from inside the flush transaction (#8032) fix(cluster): journal FLUSHSLOTS from inside the flush transaction fix: review comments (cherry picked from commit 50eea0c) Signed-off-by: Abhijat Malviya abhijat@dragonflydb.io Co-authored-by: Volodymyr Yavd…
This is a patch release. What's Changed Fixed connection-state handling in squashed pipelines. Commands following AUTH, SELECT, HELLO, CLIENT, or RESET now observe the updated connection state instead of stale authentication, database, or RESP protocol state (#8016). Fixed compressed QList node memory accounting and defragmentation (#8011, #8014). Full Changelog: v1.40.0...v1.40.1
Dragonfly v1.40.0 This is one of our biggest releases yet—both in terms of feature quality, total contributions, and the highest number of external contributors in the last two years. This release delivers major new functionality alongside a large body of correctness and stability fixes for tiered storage, replication, pub/sub, and the experimental V2 I/O loop. We added a new data type: Cuckoo Fil…
chore(hll): sync hyperloglog.c with valkey upstream Re-syncs src/redis/hyperloglog.c, forked from valkey 56ec1ff1c two years ago, with upstream 06d30f293, and keeps upstream's formatting so future syncs stay cheap. Imported from upstream: CVE-2025-32023: run-length overflow guards on every sparse opcode, not just VAL. A payload whose XZERO runs sum past INT_MAX wrapped the idx cursor negative and…
fix(squash): avoid mutable cross-thread access on shared reply builde…
Since v1.38 the async_dispatch_quota anti-starvation logic in AsyncFiber could run a pipelined command such as UNSUBSCRIBE ahead of pub/sub messages that were queued before it, once the quota was reached. Running UNSUBSCRIBE early sets subscriptions to 0, so the still-queued messages are discarded and the subscriber loses messages published before it unsubscribed. Gate the quota-based pipeline pre…
For testing
feat(pubsub): close stuck subscribers to avoid publisher throttling (…
The regression matrix runs the suite with --df enable_resp_io_loop_v2 set to both false and true. That flag overrides the @dfly_args default, so the two V2-only CLIENT PAUSE tests ran under V1 and failed on their assert is_resp_io_loop_v2 guard. Replace the assert with a pytest.skip so the tests skip cleanly on the V1 leg instead of failing, while still running under V2.
fix(facede): Include VerbatimString in reply capture
Rename the ZSTD dictionary threshold flag to a non-experimental name and add a separate list compression level flag used when building QList dictionaries. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Migrate most main_service.cc command handlers from CmdArgList to CmdArgParser, following the same pattern as the recent set_family.cc and zset_family.cc migrations. Update Quit, Multi, Watch, Unwatch, Discard, Exec, Publish, Subscribe, Unsubscribe, PSubscribe, PUnsubscribe, Function, Monitor, Pubsub, Command handlers Propagate ParsedArgs through ChangeSubscription/ChangePSubscription in conn_conte…
No content.
feat(server): Concurrent squashing (#7597)
The experimental_io_loop_v2 flag was accidentally dropped. Using ABSL_RETIRED_FLAG instead of simply removing it preserves backward compatibility for deployments that reference it in configs or scripts. Signed-off-by: Gil Levkovich 69595609+glevkovich@users.noreply.github.com
Dragonfly v1.39.0 This release delivers a significant leap in full-text search capability — FT.HYBRID fuses vector similarity with text queries, exact phrase matching with slop arrives, Porter stemming is on by default for TEXT fields, and BM25STD/TFIDF scoring with WITHSCORES support rounds out a deeply improved search engine. Performance improves across the board: PubSub reply batching cuts sysc…
Signed-off-by: Kostas Kyrimis kostas@dragonflydb.io
facade: Trim parsed args if overallocated On parsing new command, if cap > 2* prev size needed, then trim command to avoid holding onto oversized capacity. Also do this only over 256 KiB to not churn on small commands and only correct large allocs Signed-off-by: Abhijat Malviya abhijat@dragonflydb.io (cherry picked from commit 0a369ac) facade: Do not use clear to drop memory This API has changed i…
fix action version set more options to avoid coincedental overrides of the releases Signed-off-by: Roman Gershman roman@dragonflydb.io