Skip to content

feat(container)!: Update image ghcr.io/dragonflydb/dragonfly ( v1.40.2 → v2.0.0 ) - #2606

Merged
Mafyuh merged 1 commit into
mainfrom
renovate/ghcr.io-dragonflydb-dragonfly-2.x
Sep 18, 2026
Merged

Mafyuh merged 1 commit into
mainfrom
renovate/ghcr.io-dragonflydb-dragonfly-2.x

Conversation

@renovate

@renovate renovate Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
ghcr.io/dragonflydb/dragonfly major v1.40.2v2.0.0

Release Notes

dragonflydb/dragonfly (ghcr.io/dragonflydb/dragonfly)

v2.0.0

Compare Source

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 reduces connection-processing and memory-accounting overhead while adding tighter controls for defragmentation and buffer retention. Tiered storage, cluster migration, streams, compressed lists, and RESP3 behavior received substantial correctness improvements. This release also strengthens RESTORE validation against malformed or incompatible payloads.

Highlights
Commands
  • Added GEOSEARCHSTORE with radius or box queries, sorting, limits, distance scores, ACL enforcement, and journaling. (#​7984)
  • Added MEMORY DEFRAGMENT-SEGMENTS [threshold] to reclaim sparsely used DashTable pages and report page usage. (#​7995)
Performance
  • Refreshes Memcached parser memory usage once per batch and skips no-op pipeline squash refreshes. (#​8246)
  • Skips reply-batch setup when no pipeline replies are in flight. (#​8224)
  • Refreshes connection-memory telemetry once per parse cycle instead of after every pipelined command. (#​8225)
  • Restores fast allocation-tracker rejection outside configured ranges and after trackers are cleared. (#​8207)
  • Adds an opt-in shared RESP V2 read buffer per proactor, disabled by default. [Projected future reduction from about 800 MB to under 1 MB for 25K connections on 32 CPUs; not realized by this commit.] (#​8145)
  • Adds configurable burst and cooldown limits for background defragmentation. [Example configuration limits defragmentation to approximately 1% of one CPU core.] (#​8115)
  • Releases oversized RDB serializer buffers after flushing. [Retained capacity is capped at 4 MiB by default; previously a 512 MiB object could leave 512 MiB allocated.] (#​8140)
  • Shrinks client input buffers after low usage and adds configuration and metrics. [Reduces the default maximum by 50%, from 64 KiB to 32 KiB.] (#​8005)
Replication
  • Loads Valkey 9 RDB hashes containing persistent and expiring fields. (#​8251)
  • Retains replication backlog entries by age and memory budget, deprecating the fixed-length option. (#​8039)
Bug fixes
  • RESTORE rejects duplicate hash fields in HASH and HASH_LISTPACK payloads. (#​8260)
  • SLOWLOG GET now returns 10 entries by default while preserving explicit counts and -1. (#​8248)
  • Makes connection memory introspection constant time by caching mutable state usage. [Reduces connection memory accounting from O(n) to O(1).] (#​8245)
  • Detects RESP commands after empty inline lines, fixing redis-cli --pipe sentinel timeouts. (#​8244)
  • Retries cluster migration finalization when pausing clients times out. (#​8240)
  • Decodes RedisShake RDB type 20 as a set listpack regardless of the footer version. (#​8227)
  • Rejects RESTORE payloads whose declared lengths exceed the remaining input, preventing remote out-of-memory crashes. (#​8222)
  • Defers container deletion during paused yielding RM iterations to prevent use-after-free. (#​8210)
  • Prevents SORT LIMIT range overflow near 32-bit limits. (#​8212)
  • Returns the Redis-compatible <index>: no such index FT.INFO error. (#​8199)
  • Makes SORT ... STORE delete the destination and return 0 when the source is missing. (#​8190)
  • Releases unused cached ParsedCommand entries in the V2 pipeline. (#​8192)
  • Reports multi-key XREADGROUP errors in command argument order. (#​8186)
  • Preserves command-family and ACL metadata when command aliases are cloned. (#​8175)
  • Validates every XREADGROUP stream before mutating consumer-group state. (#​8158)
  • Uses a startup ACL snapshot throughout Lua script execution. (#​8116)
  • Bounds incremental expired-key scanning by physical bucket, time, and item quotas. (#​8129)
  • Recomputes invalid stream memory deltas instead of wrapping cached values. [Prevents reported size from inflating from a few GiB to terabytes.] (#​8066)
  • Makes used_memory_peak_rss report peak resident memory. (#​8143)
  • Excludes commands parsed before V2 traffic logging starts. (#​8139)
  • Records migration target OOM acknowledgements and removes transferred slots. (#​8127)
  • Fixes Apple Clang 16 ARM64 crashes during float32-to-bfloat16 conversion. (#​8123)
  • Logs V2 traffic before dispatch without suspension or duplicate retry records. (#​8096)
  • Delivers queued Pub/Sub messages before V2 UNSUBSCRIBE confirmations. (#​8075)
  • Uses header-aware accounting and a fixed cutoff for tiered small-bin reclamation. (#​8081)
  • Returns null arrays for empty ZMPOP, BZMPOP, LMPOP, and BLMPOP results. (#​8092)
  • Honors ZADD GT and ZADD LT for skiplist-encoded sorted sets. (#​8091)
  • Correctly encodes RESP3 null replies for blocking stream, list, and sorted-set commands. (#​8085)
  • Rejects FT.CREATE definitions without a SCHEMA containing at least one field. (#​8054)
  • Returns the required RESP3 map shape when a blocked XREAD wakes. (#​8064)
  • Preserves offloaded hashes, updates, and Memcached flags during serialization. (#​8026)
  • Switches TLS listener contexts atomically and corrects cross-thread tls_bytes accounting. (#​8043)
  • Completes tiered SET slot and database accounting before journaling and stashing adjustments. (#​8050)
  • Always exports expired_keys_total and evicted_keys_total, including zero values. (#​8052)
  • Attributes tiered list-node operations to the correct cluster slot. (#​8046)
  • Makes XGROUP MKSTREAM create a stream only when the key is absent. (#​8057)
  • Uploads offloaded values before RENAME or MOVE transfers tiered keys. (#​8004)
  • Journals FLUSHSLOTS inside its global transaction with distinct transaction IDs. (#​8032)
  • Wakes blocked XREADGROUP clients with WRONGTYPE when a stream becomes another data type. (#​8038)
  • Replicates stored cross-shard GEORADIUS results as explicit DEL and ZADD operations. (#​8030)
  • Frees unfinished chunked values on their owning shards after incomplete RDB loads. (#​8037)
  • Keeps search-indexed hashes resident and materializes existing offloaded hashes when needed. (#​8018)
  • Wakes blocked XREADGROUP clients with NOGROUP when their stream expires. (#​8031)
  • Prevents underfilled tiered bins from repeatedly entering defragmentation. (#​8024)
  • Prevents Lua async-call detection from exhausting fiber stacks or performing unsafe rewrites. (#​7974)
  • Removes QList compression savings when compressed interior nodes are erased. (#​8023)
  • Restores the final QList node’s compressed state after partial reads. (#​8010)
  • Wakes blocked XREADGROUP clients with NOGROUP or WRONGTYPE after stream deletion or recreation. (#​8015)
  • Preserves serial semantics for connection-state commands in squashed pipelines. (#​8016)
  • Corrects compressed-list memory tracking and unsigned underflow. [Corrects approximately 13x over-reporting on a Celery-like workload.] (#​8014)
  • Copies only compressed data into replacement buffers during quicklist defragmentation. [Regression allocation fell from 32,112 bytes to 8,496 bytes.] (#​8011)
  • Validates cuckoo filter capacity and expansion bounds while adding configurable defaults. (#​7965)
Huge thanks to all the contributors! ❤️
New Contributors
What's Changed

Full Changelog: dragonflydb/dragonfly@v1.40.0...v2.0.0


Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions

Copy link
Copy Markdown
@@ spec.image @@
# dragonflydb.io/v1alpha1/Dragonfly/default/immich-dragonfly
! ± value change
- ghcr.io/dragonflydb/dragonfly:v1.40.2
+ ghcr.io/dragonflydb/dragonfly:v2.0.0

@@ spec.image @@
# dragonflydb.io/v1alpha1/Dragonfly/networking/netbox-dragonfly
! ± value change
- ghcr.io/dragonflydb/dragonfly:v1.40.2
+ ghcr.io/dragonflydb/dragonfly:v2.0.0

@Mafyuh
Mafyuh merged commit 1d21047 into main Sep 18, 2026
6 checks passed
@renovate
renovate Bot deleted the renovate/ghcr.io-dragonflydb-dragonfly-2.x branch September 18, 2026 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant