# Dragonfly changelog > An in-memory data store that speaks the Redis and Memcached protocols. - Vendor: DragonflyDB - Category: Developer Tools - Official site: https://www.dragonflydb.io - Tracked by: What's New (https://whatsnew.fyi/product/dragonfly) - Harvested from: GitHub (dragonflydb/dragonfly) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v1.40.1 - Date: 2026-08-06 - Version: v1.40.1 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.40.1 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.40.1 - **fixed** — Fixed connection-state handling in squashed pipelines so commands following AUTH, SELECT, HELLO, CLIENT, or RESET now observe the updated connection state instead of stale authentication, database, or RESP protocol state - **fixed** — Fixed compressed QList node memory accounting and defragmentation ##### 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](https://github.com/dragonflydb/dragonfly/pull/8016)). - Fixed compressed QList node memory accounting and defragmentation ([#8011](https://github.com/dragonflydb/dragonfly/pull/8011), [#8014](https://github.com/dragonflydb/dragonfly/pull/8014)). Full Changelog: [v1.40.0...v1.40.1](https://github.com/dragonflydb/dragonfly/compare/v1.40.0...v1.40.1) ### v1.40.0 - Date: 2026-08-04 - Version: v1.40.0 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.40.0 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.40.0 - **added** — Add Cuckoo Filter data type with CF.RESERVE, CF.ADD, CF.ADDNX, CF.EXISTS, CF.MEXISTS, CF.INSERT, CF.INSERTNX, CF.INFO, CF.COUNT, CF.DEL, and CF.COMPACT commands - **added** — Add RDB serialization support for Cuckoo filters, enabling DUMP/RESTORE and persistence - **added** — Add EPSILON parameter for HNSW-backed VECTOR_RANGE queries to control overscan and recall near the radius boundary - **added** — Add support for KNN query attribute block syntax with EF_RUNTIME and YIELD_DISTANCE_AS - **added** — Add RESET command to reset a connection to a fresh-connection baseline - **added** — Add Redis-compatible WAIT command to block until replicas acknowledge writes - **added** — Add HGETEX and HPEXPIRETIME hash commands - **added** — Add BF.INFO command for Bloom filter metadata - **added** — Add BM25STD.NORM and BM25STD.TANH scorers for FT.SEARCH, FT.AGGREGATE, and FT.HYBRID - **added** — Add optional path argument to JSON.STRAPPEND, defaulting to root - **added** — Add HELP subcommand to SAVE and BGSAVE - **added** — Add connection_memory_bytes Prometheus metric tracking active client connection memory - **added** — Add snapshot_egress_limit_bytes to throttle per-shard socket egress during RDB and snapshot saves - **added** — Add write_connection_throttling_sleep_usec to throttle pipelined write batches - **changed** — Vector search now stores and computes vectors at native declared width instead of always widening to FLOAT32, reducing memory usage - **changed** — INFO command now includes TLS certificate metadata (subject, issuer, validity dates) when TLS is enabled - **changed** — Enable event-driven V2 IO loop for TLS connections - **changed** — Enable tagged chunk serialization by default during snapshotting and replication - **changed** — GET now returns large raw strings (≥16KB) via zero-copy borrowed view instead of copying - **fixed** — Fix cascading replication correctness when an intermediate replica switches upstream masters under experimental cascaded partial sync - **fixed** — Fix crash where an older replica reconnecting to a promoted master could crash the master due to a stale partial-sync index - **security** — Fix CVE-2025-32023 in hyperloglog.c by re-syncing with upstream Valkey #### 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 Filters (CF.RESERVE, CF.ADD/ADDNX, CF.EXISTS/MEXISTS, CF.INSERT/INSERTNX, CF.INFO/COUNT/DEL/COMPACT, and RDB persistence). This brings Dragonfly to parity with RedisBloom's probabilistic structures alongside expanded Bloom filter (BF.INFO) and HyperLogLog support. Vector search gains native-width storage across all vector dtypes, EPSILON-tuned HNSW range queries, and EF_RUNTIME control. Meanwhile, a long list of fixes hardens tiered-storage interactions with strings, hashes, lists, bitops, and HLL commands, in addition to several replication-consistency fixes around lazy TTL expiry. Performance work includes lazy lock-table registration, zero-copy GET, and replica-side command batching. - New Cuckoo Filter data type with full command set and RDB support. - Vector search now stores/computes at native declared width, plus EPSILON and EF_RUNTIME tuning for HNSW. - Numerous tiered-storage and replication consistency fixes (HLL, hashes, lists, bitops, hash-field TTL expiry). ##### Highlights - Added a full Cuckoo Filter data type with RDB persistence, bringing RedisBloom parity for probabilistic structures (#7646, #7700). - Vector search now stores/computes vectors at native declared width instead of always widening to FLOAT32, reducing memory usage (#7849). - Re-synced hyperloglog.c with upstream Valkey, fixing CVE-2025-32023 and adding AVX2/NEON kernels [up to ~29x speedup on dense HLL merges] (#7961). ##### Commands - INFO now includes TLS certificate metadata (subject, issuer, validity dates) when TLS is enabled (#7844). - SAVE and BGSAVE now support a HELP subcommand (#7865). - JSON.STRAPPEND now supports an optional path argument, defaulting to root (#7868). - Implemented the RESET command, resetting a connection to a fresh-connection baseline (#7760). - Added Redis-compatible WAIT command, blocking until replicas acknowledge writes (#7454). - Added HGETEX and HPEXPIRETIME hash commands (#7717). - Added BF.INFO for Bloom filter metadata (#7761). - Added BM25STD.NORM and BM25STD.TANH scorers for FT.SEARCH/AGGREGATE/HYBRID (#7692). ##### Vector Search - Vector search (FLAT and HNSW) now stores and computes distances at native declared width (INT8, UINT8, FLOAT16, BFLOAT16, FLOAT32, FLOAT64) (#7849). - Added EPSILON parameter for HNSW-backed VECTOR_RANGE queries to control overscan/recall near the radius boundary (#7718). - Added support for KNN query attribute block syntax (`=>{$EF_RUNTIME: ...; $YIELD_DISTANCE_AS: ...}`) (#7708). - Fixed filtered KNN vector search to serialize only actual winners instead of every pre-filter match, cutting CPU/memory overhead (#7670). ##### Cuckoo Filter - Added CF.INSERT and CF.INSERTNX for bulk insertion, with optional CAPACITY and NOCREATE (#7719). - Added compaction: CF.DEL auto-compacts past 10% deletions, plus a manual CF.COMPACT command (#7702). - Added CF.EXISTS and CF.MEXISTS for single/multi-item membership checks (#7682). - Added CF.ADD and CF.ADDNX, auto-creating filters with a default capacity of 1024 (#7681). ##### Probabilistic Data Structures - Added RDB serialization support for Cuckoo filters, enabling DUMP/RESTORE and persistence (#7700). - Added CF.INFO, CF.COUNT, and CF.DEL for filter metadata, occurrence counts, and item removal (#7691). - Added the base Cuckoo Filter data type via CF.RESERVE, with a new CUCKOO_FILTER ACL category (#7646). ##### Performance - Extended parse-in-proactor pipelining optimization to more fiber park spots (shard hops, suspended replies on tiered I/O) (#7916). - Added `snapshot_egress_limit_by _[Truncated at 4000 characters — full notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.40.0]_ ### v1.39.0 - Date: 2026-06-09 - Version: v1.39.0 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.39.0 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.39.0 - **added** — Add FT.HYBRID command combining full-text and vector similarity search with LINEAR and RRF score fusion strategies, HNSW KNN and range-based vector queries, YIELD_SCORE_AS aliasing, LOAD projection, and FT.PROFILE support - **added** — Add exact phrase queries with syntax "hello world" and approximate phrase matching with slop "..."~N backed by per-document token positions in compressed posting lists - **added** — Add BM25STD (Okapi BM25) relevance scoring engine with per-field TF and document-length tracking - **added** — Add TFIDF and TFIDF.DOCNORM scorer options for FT.SEARCH, FT.PROFILE, and FT.AGGREGATE - **added** — Add WITHSCORES and SCORER parameters to FT.SEARCH - **added** — Add ADDSCORES parameter to FT.AGGREGATE to inject a __score field for downstream GROUPBY/SORTBY/REDUCE on relevance - **added** — Add porter stemming by default for TEXT fields via vendored Snowball/libstemmer library with per-field NOSTEM, index-level LANGUAGE, and per-document LANGUAGE_FIELD support - **added** — Add --container_iteration_yield_interval_usec flag to configure periodic shard fiber yielding for long-running container iteration commands - **added** — Add --use_oah_set flag to select OAHSet as alternative in-memory set backend - **added** — Add foundational zero-copy GET infrastructure to CompactObj and LargeString with TryBorrow() returning Copy-on-Write encoded views - **added** — Add serialization_tagged_chunks flag to split large RDB entries into tagged chunks with envelope IDs and per-blob compression - **added** — Add four new Prometheus metrics on replica instances: dragonfly_master_link_status, dragonfly_master_last_io_seconds_ago, dragonfly_sync_in_progress, and dragonfly_slave_repl_offset - **added** — Add --cluster_coordinator_connect_timeout_ms and --cluster_coordinator_response_timeout_ms flags to control coordinator-to-shard timeouts - **changed** — PubSub, Monitor, and Invalidation replies are now batched per wakeup instead of one sendmsg per message, delivering up to +12% RPS and 24–70% fewer syscalls - **changed** — INFO REPLICATION and replica memory stats are now served lock-free via per-proactor thread-local snapshots - **changed** — Replace global RCU-based ChannelStore with ShardedHashMap using 16 independent shard locks for pub/sub - **changed** — Tiered hashes are now mutable - **changed** — Cluster config validation now rejects invalid migration configurations at parse time including wrong target masters, duplicate targets, empty or out-of-range slot sets, and overlapping migration ranges - **fixed** — Fix NotifyWatchQueue to exit in O(1) when a watched key is absent instead of O(N) over all waiters - **fixed** — Fix zombie-key cleanup across SORT, ZUNIONSTORE, ZINTERSTORE, SHRINK, and hash TTL commands to prevent empty containers in keyspace - **security** — Apply multiple Lua sandbox hardening patches and RESP injection prevention #### 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 syscalls by 24–70% and raises throughput up to +12% RPS, INFO REPLICATION becomes fully lock-free, and a new ShardedHashMap replaces the global RCU ChannelStore for pub/sub. Security is tightened with multiple Lua sandbox hardening patches, RESP injection prevention, and PII-safe error logging. Tiered hashes are now mutable. A significant sweep of zombie-key cleanup fixes closes a class of bugs where lazy field expiry across SORT, ZUNIONSTORE, ZINTERSTORE, SHRINK, and hash TTL commands left empty containers in the keyspace. ##### Highlights - Added `FT.HYBRID` combining full-text and vector similarity search with LINEAR and RRF score fusion strategies, capping a major release cycle of search improvements (#7420) - PubSub, Monitor, and Invalidation replies are now batched per wakeup, delivering up to +12% RPS and 24–70% fewer syscalls at pipeline depths 1–500 (#7479) - Tagged chunk serialization splits large objects across snapshot and replication boundaries so they can be reassembled correctly even with interleaved journal entries (#7416, #7070) ##### Search - Adds `FT.HYBRID` combining full-text and VSIM search via LINEAR (ALPHA/BETA weighted sum of normalized scores) and RRF (Reciprocal Rank Fusion) strategies, with HNSW KNN and range-based vector queries, `YIELD_SCORE_AS` aliasing, LOAD projection, and `FT.PROFILE` support (#7420) - Adds exact phrase queries (`"hello world"`) and approximate phrase matching with slop (`"..."~N`), backed by per-document token positions stored in compressed posting lists; BM25 scoring updated for phrase semantics (#7319) - TEXT fields now apply Porter stemming by default via the vendored Snowball/libstemmer library; per-field `NOSTEM`, index-level `LANGUAGE` (default `english`), and per-document `LANGUAGE_FIELD` are all supported; `FT.INFO` surfaces the new flags (#7295) - Adds BM25STD (Okapi BM25) relevance scoring engine with per-field TF and document-length tracking for accurate normalization; results can be ranked when a scorer is activated (#7101) - Adds `TFIDF` (TF × ln(N/n)) and `TFIDF.DOCNORM` (additionally normalized by field length) as new scorer options for `FT.SEARCH`, `FT.PROFILE`, and `FT.AGGREGATE`; scorer dispatch refactored to a function-pointer table (#7200) - `FT.SEARCH` now supports `WITHSCORES` and `SCORER` parameters; `FT.AGGREGATE` gains `ADDSCORES` to inject a `__score` field enabling downstream GROUPBY/SORTBY/REDUCE on relevance (#7181) - HNSW vector index memory is now tracked in the `search_used` memory class and reported in `dragonfly_memory_used_bytes` via an atomic capacity-based footprint counter (#7205) ##### Performance - PubSub, Monitor, and Invalidation control-path replies are now accumulated in the send buffer and flushed together per wakeup rather than one `sendmsg` per message; single-message wakeups still flush immediately [+3% RPS at pipeline=1, +12% at pipeline=10, −24% to −70% syscalls at pipeline=1–500] (#7479) - INFO REPLICATION and replica memory stats are now served lock-free via per-proactor thread-local snapshots updated on every mutation, eliminating global mutex and per-replica shared-lock fan-out (#7348) - Replaced the global RCU-based ChannelStore with a `ShardedHashMap` (16 independent shard locks), removing the pool-wide broadcast on every subscribe/unsubscribe (#7174) - `NotifyWatchQueue` exits in O(1) when a watched key is absent (previously O(N) over all waiters), directly benefiting BLPOP, BZPOPMIN, and XREAD workloads (#7225) - Long-running container iteration commands (LRANGE, SMEMBERS, ZRANGE, HGETALL, _[Truncated at 4000 characters — full notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.39.0]_ ### v1.38.1 - Date: 2026-04-28 - Version: v1.38.1 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.38.1 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.38.1 - **fixed** — Re-use journal executor in server - **fixed** — Avoid O(n) scans in NotifyWatchQueue ##### This is a patch release ##### What's Changed * fix(server): Re-use journal executor (#7201) * test(connection): add a fix for FIN_WAIT_2 leak bug with BLPOP (#7224) * fix: avoid O(n) scans in NotifyWatchQueue (#7225) **Full Changelog**: https://github.com/dragonflydb/dragonfly/compare/v1.38.0...v1.38.1 ### v1.38.0 - Date: 2026-04-14 - Version: v1.38.0 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.38.0 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.38.0 - **added** — Top-K command family (TOPK.*) with RedisBloom compatibility and RDB persistence - **added** — Count-Min Sketch family (CMS.*) with INITBYDIM, INITBYPROB, INCRBY, QUERY, MERGE, and INFO commands with RDB persistence - **added** — HTTL command to return remaining TTL for specific hash fields - **added** — VECTOR_RANGE search for radius-based vector similarity queries in FT.SEARCH and FT.AGGREGATE with optional YIELD_DISTANCE_AS - **added** — FT.AGGREGATE support for FILTER, APPLY, DIALECT, and KNN steps in the aggregation pipeline - **added** — New Prometheus metrics including pipeline latency histogram, TLS handshake counter, stream access patterns, and pipeline blocking counter - **added** — AWS credential chain support for EKS Pod Identity and ECS task roles for S3 - **changed** — Reduce memory usage by ~26% for TTL workloads by eliminating expire table and embedding expiry in CompactKey via SDS_TTL_TAG - **changed** — KNN prefilter now falls back to brute-force scan when prefilter result set is small - **changed** — Replica expired-key deletion enabled by default with --replica_delete_expired flag allowing replicas to proactively delete expired keys on reads - **changed** — Early TLS filter and TCP_DEFER_ACCEPT drops zombie connections at OS level before allocating fiber and OpenSSL state - **changed** — Memcached io_loop_v2 enabled by default for async I/O with deferred replies - **changed** — Incremental SBF replication flushes Scalable Bloom Filter chunks incrementally to bound peak memory - **fixed** — Fix HNSW index creation failure, logs, and drop - **fixed** — Validate stream command arguments to prevent crashes #### Dragonfly v1.38.0 This release is a major one with lots of significant improvements and stability fixes. It may behave differently due to changes in its core data structures. We worked hard to avoid any regressions so please let us know if you observe degradation around item expiry behavior, replication or backups. ##### Important stability fixes and changes: **Top-K command family** (TOPK.*): RedisBloom-compatible heavy-hitter sketch with RDB persistence. (#6920, #6931, #6932, #6950) **Count-Min Sketch family** (CMS.*): Full CMS with INITBYDIM, INITBYPROB, INCRBY, QUERY, MERGE, INFO. RDB persistence. (#6867, #6888, #6896, #6897) **~26% memory reduction for TTL workloads**: Expire table eliminated, expiry embedded in CompactKey via SDS_TTL_TAG. 10M keys: 900 MB -> 665 MB. (#6923, #6925, #6933) **HTTL command**: Returns remaining TTL for specific hash fields. (#6879) **VECTOR_RANGE search**: Radius-based vector similarity queries in FT.SEARCH and FT.AGGREGATE for both FLAT and HNSW indexes, with optional YIELD_DISTANCE_AS. (#6880, #6898, #6938) **FT.AGGREGATE: FILTER, APPLY, DIALECT, KNN**: Full expression-based filtering, computed fields, dialect selection, and KNN steps in the aggregation pipeline. (#6968, #6982, #7066) **Smarter KNN prefilter**: Falls back to brute-force scan when prefilter result set is small. (#6730) **Replica expired-key deletion**: Replicas proactively delete expired keys on reads. --replica_delete_expired (default true). (#6985) **New Prometheus metrics**: Pipeline latency histogram (dragonfly_pipeline_latency_seconds), TLS handshake counter (tls_handshakes_total), stream access patterns (stream_accesses_total), pipeline blocking counter. (#6688, #7015, #6767, #6685) **EKS Pod Identity for S3**: AWS credential chain supports EKS Pod Identity and ECS task roles. (#6917) **Early TLS filter and TCP_DEFER_ACCEPT**: Drops zombie connections at OS level before allocating fiber/OpenSSL state. (#6857) *Memcached io_loop_v2 enabled by default**: Async I/O with deferred replies. (#6700) **Incremental SBF replication**: Scalable Bloom Filter chunks flushed incrementally, bounding peak memory. (#7034) ##### What's Changed * chore(server): Extend script slowlog stats by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6656 * test(ci): exclude flaky BullMQ tests by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6673 * feat(fuzz): Add LLM-guided PR fuzzing with targeted seed generation by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6666 * refactor(journal): replace Journal class with free functions by @romange in https://github.com/dragonflydb/dragonfly/pull/6672 * fix(search): Fix HNSW index creation failure, logs, drop by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6662 * refactor: clean includes by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6679 * chore: remove facade/acl_commands.h by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/6682 * fix: improve fuzz-pr crash detection and artifact packaging by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6686 * feat(tiering): Use Future::IsResolved to check if delayed entry is resolved by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/6665 * test: mark heavy skipped tests as large instead of skip by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6675 * feat: add pipeline latency histogram and Prometheus SUMMARY export by @romange in https://github.com/dragonflydb/dragonfly/pull/6688 * refactor: move methods from OAHEntry to OAHSet by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6692 * chore: remove duplicate info reported by "memory stats" by @romange in https://github.com/dragonflydb/dragonfly/pull/6696 * server: Collect stats for why defragmentation was skipped by @abhijat in https://github.com/dragonflydb/dra _[Truncated at 4000 characters — full notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.38.0]_ ### v1.37.2 - Date: 2026-03-26 - Version: v1.37.2 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.37.2 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.37.2 - **fixed** — JSON.NUMINCRBY negative result overflow - **fixed** — Crash for XREAD BLOCK with replication - **changed** — Improve performance of SETBIT operation ##### This is a patch release ##### What's Changed * fix(json): JSON.NUMINCRBY negative result overflow (#6981) * fix(streams): crash for XREAD BLOCK with replication (#6980) * fix(bitops): Improve performance of SETBIT operation (#6745) **Full Changelog**: https://github.com/dragonflydb/dragonfly/compare/v1.37.0...v1.37.2 ### v1.37.0 - Date: 2026-02-23 - Version: v1.37.0 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.37.0 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.37.0 - **changed** — Significantly reduce memory usage around JSON documents - **changed** — Reduce vector search memory usage by 40% with hash map documents - **added** — Support SORT command including BY and GET options - **fixed** — Fix several bugs around streams - **added** — Add support for DIGEST and DELEX commands - **fixed** — Support parenthesized star in FT.SEARCH queries - **added** — Add NOVALUES flag to HSCAN to omit values - **added** — Add pagination to cross-shard search - **fixed** — SPOP command now returns random member even if it contains null bytes - **fixed** — Set error type when returning -NOGROUP error - **fixed** — Fix memory calculation for OAHSet - **changed** — Improve OAHSet::Find() performance - **changed** — Update jsoncons to 1.5.0 - **changed** — Switch to C++20 - **changed** — Remove quicklist from the codebase - **fixed** — Fix S3 snapshot saving #### Dragonfly v1.37.0 ##### Important stability fixes and changes: * Significant memory reduction around json documents #6511 * Vector search memory usage is 40% less with hash map documents: #6436 #6437 * Support of `SORT` command - including `BY` and `GET` options. * Several bug fixes around streams: #6506 #6492 #6532 * Added support for DIGEST and DELEX commands: #6328 ##### What's Changed * feat(search): Use stateless allocator for strings by @abhijat in https://github.com/dragonflydb/dragonfly/pull/6285 * chore: Refactor squashed command execution to avoid stub ConnectionContext by @romange in https://github.com/dragonflydb/dragonfly/pull/6312 * refactor: add checks to investigate the race condition in slots migration by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6331 * fix(helm): correct security context field placement and disable strict schema validation by @Copilot in https://github.com/dragonflydb/dragonfly/pull/6213 * fix(tests): Use promtool for metrics sanity check by @abhijat in https://github.com/dragonflydb/dragonfly/pull/6318 * fix(search): support parenthesized star in FT.SEARCH queries by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6343 * fix: helm push issue by @romange in https://github.com/dragonflydb/dragonfly/pull/6339 * chore: move ReplyBuilder calls in generic_family.cc to new API by @romange in https://github.com/dragonflydb/dragonfly/pull/6305 * Add checks for expiration inconsistency by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6346 * feat(hscan): add NOVALUES flag to omit values by @glevkovich in https://github.com/dragonflydb/dragonfly/pull/6325 * chore: refactor SortGeneric function by @romange in https://github.com/dragonflydb/dragonfly/pull/6347 * feat: add pagination to cross-shard search by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6352 * refactor: address comments by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6350 * fix(set): SPOP random member even if it contains null bytes by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/6361 * fix(server): Set error type when returning -NOGROUP error by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/6358 * chore: improvements around sorting algorithm by @romange in https://github.com/dragonflydb/dragonfly/pull/6360 * facade: adopt RespSrvParser in server connections by @romange in https://github.com/dragonflydb/dragonfly/pull/6356 * feat(server): Support squashing of global eval with single shard by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6321 * fix: memory calculation for OAHSet by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6359 * fix: regtest failure by @romange in https://github.com/dragonflydb/dragonfly/pull/6367 * test: use hiredis for reply_builder_test by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6362 * ci: use OIDC for AWS authentication instead of access keys by @AdiCloudbit-DevOps in https://github.com/dragonflydb/dragonfly/pull/6158 * refactor: improve OAHSet::Find() performance by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6373 * chore(server): Simplify InvokeCmd by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6363 * chore(cmake): Update jsoncons to 1.5.0 by @abhijat in https://github.com/dragonflydb/dragonfly/pull/6349 * chore: encapsulate tx object within CommandContext by @romange in https://github.com/dragonflydb/dragonfly/pull/6384 * fix(server): support "sort by" option by @romange in https://github.com/dragonflydb/dragonfly/pull/6370 * refactor(acl): from facade to server by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/6340 * chore: add copilot env setup steps by @romange in https://github.com/dragonflydb/dragonfly/pull/6387 * fix(ci): add AWS env fallbacks for OIDC in composite actions by @AdiCloudbit-DevOps in https://github.com/dragonflydb/dragonfly/pull/6385 * _[Truncated at 4000 characters — full notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.37.0]_ ### v1.36.0 - Date: 2026-01-07 - Version: v1.36.0 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.36.0 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.36.0 - **added** — Support Global Vector index - **added** — Support unicode tags - **added** — Add CSS option for FT.CREATE - **added** — Add ftsearch result parsing for css - **added** — Add common label support to the helm chart - **added** — Add tiering basic metrics - **changed** — Better memory defragmentation for json objects - **changed** — Load tiered values in read-only for hset - **changed** — Parse JSON on destination shard - **changed** — Change the resolution of reply latency measurement to nanoseconds - **changed** — Use stateless allocator for JSON - **fixed** — Django-cacheops compatibility fixes - **fixed** — Result set cutoff in search - **fixed** — Remove duplicate expired/evicted metric header - **fixed** — macOS build - **fixed** — Remove index docs on eviction and cluster migration - **fixed** — Upload strategy for tiering - **fixed** — Handle INFO command with multiple sections correctly - **fixed** — Suppress BUSYGROUP warning logs - **fixed** — Handle django-cache script so it could run in dragonfly #### Dragonfly v1.36.0 ##### Important stability fixes and changes: 1. Support Global Vector index #6103 2. Support unicode tags in #6127 3. django-cacheops compatibility fixes: #6123 #6129 4. better memory defragmentation for json objects: #6240 #6276 ##### What's Changed * actions: Add a volume mount to container by @abhijat in https://github.com/dragonflydb/dragonfly/pull/6048 * chore: remove RecvProvided from dragonfly connection by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/6050 * fix(rdb_load): Store streamed items per rdb lodaer by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6049 * fix(search): Result set cutoff by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5906 * fix: remove duplicate expired/evicted metric header by @romange in https://github.com/dragonflydb/dragonfly/pull/6058 * fix(test): ssl test to work with pytest 3.12 by @romange in https://github.com/dragonflydb/dragonfly/pull/6059 * feat(hset): Load tiered values in read-only by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5996 * chore(tiering): Add throttling metric + more tests by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6040 * fix: macOS build by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6065 * server: Parse JSON on destination shard by @abhijat in https://github.com/dragonflydb/dragonfly/pull/6061 * feat: add CSS option for FT.CREATE by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6057 * chore(facade): Handle Socket::Recv() returning 0 explicitly by @romange in https://github.com/dragonflydb/dragonfly/pull/6066 * fix: Remove index docs on eviction and cluster migration by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/6062 * fix(tests): Disable huge val streaming by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6074 * fix(replication): Add detailed error message for REPLTAKEOVER failures by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6071 * fix(tiering): Fix upload strategy by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6067 * fix(replication): use correct replica pointer in takeover catchup loop by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6068 * fix(replication): add socket timeout to REPLTAKEOVER command by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6070 * fix(takeover): pick correct replica to reconcile slots by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/6034 * test: fix flaky test_takeover_bug_wrong_replica_checked_in_logs by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6075 * feat(helm): adds common label support to the helm chart by @gaganhr94 in https://github.com/dragonflydb/dragonfly/pull/6042 * Revert "feat(helm): adds common label support to the helm chart (#6042)" by @romange in https://github.com/dragonflydb/dragonfly/pull/6077 * fix(server): Move LpGetView to core target by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6076 * feat: adds common label support to the helm chart by @gaganhr94 in https://github.com/dragonflydb/dragonfly/pull/6080 * docs(build-from-source): update LTO instructions to use USE_MOLD option by @glevkovich in https://github.com/dragonflydb/dragonfly/pull/6081 * Update build-from-source.md by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6087 * feat: add ftsearch result parsing for css by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/6090 * chore: pull the latest helio by @romange in https://github.com/dragonflydb/dragonfly/pull/6096 * fix: suppress BUSYGROUP warning logs by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/6095 * feat(tiering): Basic metrics by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/6086 * chore: change the resolution of reply latency to measurement to ns by @romange in https://github.com/dragonflydb/dragonfly/pull/6092 * fix: test_reply_c _[Truncated at 4000 characters — full notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.36.0]_ ### v1.35.1 - Date: 2025-11-25 - Version: v1.35.1 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.35.1 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.35.1 - **fixed** — Improve tiering stability - **fixed** — Replica no longer rejects replicating from itself ##### This is a patch release ##### What's Changed * fix(tiering): improvements around tiering stability #6040 #6086 #6067 * fix(server): replica rejects replicating from itself #6097 **Full Changelog**: https://github.com/dragonflydb/dragonfly/compare/v1.35.0...v1.35.1 ### v1.34.2 - Date: 2025-10-14 - Version: v1.34.2 - Original notes: https://github.com/dragonflydb/dragonfly/releases/tag/v1.34.2 - Permalink: https://whatsnew.fyi/product/dragonfly/releases/v1.34.2 - **fixed** — Don't accumulate deleted bytes if there is no RSS eviction in cache mode ##### This is a patch release It is strongly advised to update to this version if you use 1.34.0 / 1.34.1 due to regression when Dragonfly runs in **cache mode** ##### What's Changed * fix(evicition): Don't accumulate deleted bytes if there is no RSS evi… by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5908 **Full Changelog**: https://github.com/dragonflydb/dragonfly/compare/v1.34.1...v1.34.2