This is the third Milestone of Redis 8.8 in Redis Open Source.
Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use.
Headlines:
Redis 8.8 introduces new features and performance improvements.
Operating systems we test Redis 8.8 on
- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon)
- Rocky Linux 8.10, 9.7, 10.1
- AlmaLinux 8.10, 9.7, 10.1
- Debian 12.13 (Bookworm), Debian 13.4 (Trixie)
- Alpine 3.23
- macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM
New Features (compared to 8.8-M02)
- #14958 Subkey notification for hash fields - field-level notifications
- RediSearch/RediSearch#8227
FT.HYBRID KNN clause: new argument to request fewer candidates per shard
- RediSearch/RediSearch#8060
FT.PROFILE HYBRID: profiling support for FT.HYBRID
Bug fixes (compared to 8.8-M02)
- #15034, #15081 Issues processing corrupt RDB data
- #15059 Use-after-free
- #15073
CLIENT TRACKING: self-overlap returning non-zero loop index
- #14982
SCAN commands: integer overflow in COUNT parameter
- #14956 Crash on
HSETEX when a field appears more than once and an expiry is specified
- #15015 Change log level for unknown extension types from
LL_WARNING to LL_VERBOSE
- #14995 Unnecessary
-ERR and \r\n
- RediSearch/RediSearch#8708 Crash when many keys receive expirations under heavy TTL activity
- RediSearch/RediSearch#8774 Coordinator deadlock under mixed
FT.SEARCH and FT.AGGREGATE load
- RediSearch/RediSearch#8415 Crash on
FT.SEARCH when topology validation fails (for example, some nodes unreachable)
- RediSearch/RediSearch#8322 Crash when indexing negative zero (-0.0)
- RediSearch/RediSearch#8843 HNSW vector index memory growth under high-churn workloads until shard restart
- RediSearch/RediSearch#8396
FILTER returns inconsistent results with multiple indexes sharing field aliases
- RediSearch/RediSearch#8205
FT.HYBRID VSIM RANGE + FILTER incorrectly returns zero results
- RediSearch/RediSearch#8817 Instability and crashes in long-running search cursors during concurrent index updates
- RediSearch/RediSearch#8388
FT.SEARCH fails with “Query requires unavailable slots” after shard restart or failover
- RediSearch/RediSearch#8548
FILTER behavior depends on property order in the expression
- RediSearch/RediSearch#8320 Index
FILTER applied inconsistently when documents are missing filtered fields
- RediSearch/RediSearch#8752 Missing blocked-client FAIL timeout mechanism for coordinator-level
FT.AGGREGATE
- RediSearch/RediSearch#8657 Missing shard-level FAIL timeout handling for
FT.HYBRID queries
- RediSearch/RediSearch#8420 Missing coordinator-level FAIL timeout handling for
FT.HYBRID queries
- RediSearch/RediSearch#8335 Legacy shard-level FAIL handling for
FT.SEARCH / FT.AGGREGATE
- RediSearch/RediSearch#8191
FT.SEARCH coordinator lacks strict FAIL timeout enforcement
Performance and resource utilization improvements (compared to 8.8-M02)
- #15114 Optimize SET key value GET
- #15065, #15118 Scan commands key collection: replace list with append-only pointer vector
- #15061 Widen
fast_float_strtod fast path to 17-19 digit mantissas
- RediSearch/RediSearch#8378 Optimize filter expression evaluation: skip indexes not matching the document type (MOD-14064)
Metrics (compared to 8.8-M02)
- RediSearch/RediSearch#8246 ‘frontend_buffer_size’, ‘HNSW_main_thread_insertion’: metrics for tiered vector indexes (MOD-13819)
- RediSearch/RediSearch#8210
FT.PROFILE: added queue time tracking (MOD-13602)
- RediSearch/RediSearch#8283
INFO: Skip metrics when there are no indices (MOD-13903)
- RediSearch/RediSearch#7417 Add unique error message ids for improved debugging and troubleshooting (MOD-11806)
Configuration parameters
- RediSearch/RediSearch#8876
search-workers: change default to 16 (MOD-14486)
- RediSearch/RediSearch#8352
BG_INDEX_SLEEP_DURATION_US: sleep duration during background indexing (MOD-13994)