3 hours ago
valkey

9.2.0-rc2

Valkey 9.2.0-rc2 - Released Wed 04 November 2026

Upgrade urgency LOW: This is the second release candidate of Valkey 9.2.0.

New Features and Enhanced Behavior

  • Add new DELEX command to conditionally delete a string key when its value matches (IFEQ) or differs from (IFNE) a given value by @lightsigma96 (#4607)
  • Add Zstd as a streaming compression codec for RDB persistence and replication, offering better compression ratios than LZ4 by @sarthakaggarwal97 (#3798)
  • Support streaming-compressed RDB preambles in AOF bases, so compressed full-sync RDB files can be reused directly as AOF bases by @sarthakaggarwal97 (#4754)
  • ACL GENPASS and the hash function seed draw randomness from the configured OpenSSL 3 provider when built with TLS, supporting deployments that require a validated crypto module by @MarkAtwood (#4339)
  • Support forkless full synchronization to replicas, serving disk and diskless full syncs from a background-thread snapshot without forking by @nitaicaro (#4797)

Performance and Efficiency Improvements

  • Speed up sorted set score updates in listpack encoding by replacing the score in place when the member keeps its position by @charsyam (#3491)
  • Fix quadratic slowdown in HRANDFIELD and SRANDMEMBER with counts on collections whose elements differ only in letter case by @madolson (#5167)
  • Bound the time spent per cycle evicting keys from the client tracking table, avoiding long stalls after lowering tracking-table-max-keys by @tanmayBeginsJourney (#4775)
  • Speed up the INFO command by around 5% by pre-allocating the output buffer by @charsyam (#3413)
  • Reclaim client-side caching tracking table entries left by disconnected clients, fixing a memory leak under read-heavy workloads, and include the tracking table in active defrag by @rayjinghaolei (#4190)
  • Speed up ZPOPMIN and ZPOPMAX on B+tree encoded sorted sets by detaching edge items without a key search or copy by @charsyam (#4852)
  • Counting a hash's fields with expirations is now O(1) for hashtable-encoded hashes by tracking the volatile set size on each mutation by @frostzt (#4829)
  • Speed up AOF command propagation by serializing commands directly into the AOF buffer, removing an allocation and copy per command by @charsyam (#3496)
  • Cache the earliest event-loop timer to avoid an O(N) scan per iteration, reducing overhead with many timers such as RDMA connections by @royenheart (#4354)
  • Speed up HGETALL, HKEYS and HVALS with exact-length reply headers, fused bulk replies, and entry prefetching by @jjuleslasarte (#4417)
  • Eliminate false sharing in per-thread memory usage counters, improving throughput with I/O threads on SMT x86 systems by @omerrubi-amzn (#4107)
  • Read-only list iteration (e.g. LRANGE, LPOS) no longer decompresses and recompresses quicklist nodes in place, cutting CPU cost on compressed lists by @murphyjacob4 (#4782)
  • Speed up ZSCAN on btree-encoded sorted sets by avoiding temporary member and score copies and prefetching items by @charsyam (#4856)
  • Reduce cache-line false sharing on IO thread activity and job counters for better multi-threaded IO performance by @omerrubi-amzn (#4976)
  • PHDELPREFIX now bounds its temporary path copies to 64KiB per batch, avoiding large untracked memory spikes on long shared prefixes by @madolson (#5179)

Bug Fixes

  • Reject module write commands while the server is paused for writes, preventing a crash from module timer callbacks during CLIENT PAUSE WRITE or CLUSTER FAILOVER by @smkher (#3645)
  • Fix event loop busy-spinning on virtual machines by not using raw TSC for the monotonic clock when the kernel clocksource is not tsc by @quanyeyang (#4707)
  • Fix a crash in ValkeyModule_HashHasStringRef on a missing or expired field and correct wrong return values in the hash stringRef module APIs by @ShubhamTaple (#4504)
  • Fix a server abort on a RESTORE payload declaring a string length that overflows the allocation size; such payloads are now rejected as bad data by @enjoy-binbin (#4733)
  • Fix ZINTER/ZINTERSTORE returning input-order-dependent scores when a weighted term is 0*inf; a NaN weighted score now counts as 0, matching ZUNION by @leomurillo (#4997)
  • Fix crashes, lookup hangs, and duplicate set members when keys or elements reach 2 GiB, caused by storing string lengths in a 32-bit integer by @madolson (#5133)
  • Fix module global defrag resuming on the wrong module or with a stale cursor when MODULE UNLOAD runs between defrag cycles by @madolson (#5154)
  • Propagate PFADD elements applied before a corrupted-HLL INVALIDOBJ error so replicas and the AOF stay consistent with the primary by @madolson (#5128)
  • Fix a server crash in SCRIPT DEBUG SYNC mode when a debugger command arrives split across more than one read by @madolson (#5127)
  • Fix a server panic when a Lua script returns or raises an error table whose metatable has an __index metamethod that raises an error by @madolson (#5118)
  • Fix forkless BGSAVE producing a corrupt snapshot when SWAPDB runs without being replicated, such as from a script with replication disabled by @madolson (#5116)
  • Let FLUSHALL and SHUTDOWN cancel a forkless save that is finalizing its file, so a stale snapshot can no longer overwrite the newer dump.rdb by @madolson (#5121)
  • Fix a server crash when a module never sets a postponed reply length; the leftover placeholder is now filled with an empty array by @madolson (#5159)
  • Fix a memory leak when server.register_function named arguments are repeated in a different letter case by @madolson (#5120)
  • Preserve expired but not yet reaped hash fields across listpack-to-hashtable conversion so their deletion is properly reaped and propagated by @frostzt (#4704)
  • Fix a double-decremented item count when background iteration is terminated with a SWAPDB or FLUSHDB event queued by @JimB123 (#4750)
  • Fix GEOSEARCH returning empty results for exact zero-distance matches on builds where floating-point contraction breaks the latitude distance calculation by @Baraa-Hasheesh (#4777)
  • Reject inline commands containing a raw NUL byte with a protocol error instead of leaving the connection stalled by @cjx-zar (#4759)
  • Fix a memory leak on normal shutdown caused by I/O worker threads not being terminated and cleaned up by @roshkhatri (#4710)
  • XACKDEL with KEEPREF now replies 1 instead of -1 when acknowledging an entry whose stream message was already deleted, matching the ACKED and DELREF modes by @adityamukesh (#4843)
  • Fix listpack encoding incompatibility that caused RDB load and replication failures for entries of certain lengths between 9.0 and 9.1.x by @jjuleslasarte (#4819)
  • Reject relative expire times in SET/GETEX, RESTORE, and ValkeyModule_SetExpire that overflow when added to the current time, preventing server aborts from negative expires by @madolson (#4880)
  • ACL DIGEST now includes role definitions, so editing a role's rules changes the reported fingerprint by @melancholictheory (#4694)
  • Fix a server crash when loading an ACL file containing a selector with an unmatched parenthesis by @magic-peach (#4214)
  • Fix a segfault on Alpine/musl when Lua is built as a module, caused by a symbol clash on an internal clock function by @mohammedgqudah (#4270)
  • Fix lex range seeks, NaN score bound handling, and a memory leak in B+tree sorted sets, and resolve ZRANGEBYLEX LIMIT offsets in logarithmic time by @xiaocj (#4644)
  • Fix expired hash fields left untracked after listpack-to-hashtable conversion, which could crash the server on a later write and leave fields that are never reaped by @beyondwin (#4894)
  • Restore acceptance of hexadecimal float sorted set scores (such as 0x10), keeping replication and AOF replay compatible with Valkey 9.0 by @quanyeyang (#4875)
  • Sorted set range commands with a negative LIMIT offset now return an empty result instead of a spurious element on btree-encoded keys by @xiaocj (#4637)
  • Fix HSETEX and HGETEX failing to parse their arguments when the key is named fields by @sebxt (#4945)
  • Fix a crash when active defrag's deferred keys outlive a keyspace replacement such as FLUSHDB/FLUSHALL ASYNC, SWAPDB, or a replica's pre-sync flush by @taham0 (#4968)
  • Fix LSET on 64-bit builds silently modifying the wrong element for out-of-range indexes instead of returning an index out of range error by @charsyam (#4823)
  • Fix a heap buffer overflow in cluster Pub/Sub message construction; oversized PUBLISH and SPUBLISH payloads are now rejected with an error in cluster mode by @roshkhatri (#5030)
  • Lex range commands on btree-encoded sorted sets with mixed scores now match listpack results, preventing primary/replica divergence via ZREMRANGEBYLEX and ZRANGESTORE by @pirate329 (#4954)
  • Fix a memory leak when GEOSEARCH or GEOSEARCHSTORE is given repeated BYPOLYGON options by @charsyam (#4995)
  • DEBUG RELOAD and DEBUG LOADAOF now return a LOADING error while the dataset is loading, avoiding a possible panic by @enjoy-binbin (#4877)
  • Fix a memory leak in ValkeyModule_GetCommandKeysWithFlags when introspecting commands with large key lists by @christopherlim98 (#5046)
  • MEMORY USAGE now counts hash fields that have expired but not yet been reaped, fixing under-reported sizes by @sushilpaneru1 (#5092)
  • Fix a crash in ValkeyModule_Call when script-mode validation fails and error replies were not requested by @dvkashapov (#5091)
  • High-priority socket events are no longer drained when the event loop caller did not request file event processing by @enjoy-binbin (#5098)
  • Fix a crash when a replication role change command such as REPLICAOF or CLUSTER REPLICATE arrives over a replication link by @madolson (#5187)
  • FUNCTION RESTORE now applies the same library load timeout as FUNCTION LOAD, so a never-returning library can no longer block the server forever by @madolson (#5181)
  • Fix a buffer overflow in valkey-benchmark when --num-functions is large enough to overflow the generated script buffer by @madolson (#5175)
  • Fix a valkey-check-rdb crash with --stats on RDB files whose highest selected database contains no keys by @madolson (#5177)
  • Fix a crash on the importing primary when an atomic slot migration fails while its writes are paused by @madolson (#5182)
  • Fix GEOSEARCH BYPOLYGON missing matching members when the polygon's vertex centroid falls outside the valid latitude range by @madolson (#5174)
  • Fix a primary abort when CLUSTER SETSLOT runs inside MULTI or a script on a primary with online replicas by @madolson (#5141)
  • Fix a memory leak when deleting or replacing Lua functions with long names or descriptions by @madolson (#5109)
  • A refused oversized XADD no longer creates an empty stream key that replicas and the AOF never receive by @madolson (#5178)
  • Prevent a replica crash when the primary wrongly replies +CONTINUE to a full resync request; the replica now drops the link and retries by @madolson (#5126)
  • FUNCTION LOAD no longer aborts the server when a library calls server.log() at its top level, including when loading from RDB or AOF by @madolson (#5114)
  • RESET on a slot migration connection now returns an error instead of crashing the server with an assertion failure by @madolson (#5140)
  • DEBUG SLOTMIGRATION with missing arguments now returns an error instead of crashing the server by @madolson (#5147)
  • KEYS on a flushed database no longer leaks a rehashing pause that permanently stops rehashing and can eventually crash the server by @madolson (#5166)
  • Automatic RDB snapshots and AOF rewrites are no longer postponed while a forked SCRIPT DEBUG session is open by @madolson (#5153)
  • Fix an integer overflow in quicklist node merging that could crash the server on lists loaded with nodes over 4GiB via RESTORE or replication by @madolson (#5163)
  • Fix a stack buffer overflow when replying with hundreds of empty strings (e.g. MGET) while reply copy avoidance is active by @madolson (#5151)
  • CLUSTER SLOT-STATS ORDERBY no longer replies with uninitialized slot entries when a node's primary is itself a replica that claims slots by @madolson (#5131)
  • Fix a race with TLS and io-threads where an IO thread still writing to a client could modify the main thread's event loop by @madolson (#5156)
  • Fix a replica crash when a script exceeding busy-reply-threshold ends during CLIENT PAUSE WRITE with a pending replicated write by @madolson (#5150)
  • In cluster mode, one cross-slot command in a script no longer makes every later script and function call fail until restart by @madolson (#5191)
  • Fix a use-after-free crash when a forkless save is running while a swapdb-mode full sync swaps in the primary's keyspace on a replica by @nitaicaro (#5082)
  • Fix a replica assertion crash when the primary writes a key still in use by a forkless (consistent) save by @harrylin98 (#5206)
  • Fix a dangling pointer when a key is deleted during a forkless save, which could crash or silently corrupt the iteration by @JimB123 (#4996)
  • Clear the script debugger input buffer after a "max client buffer reached" error so later debugger commands in the same session do not keep failing by @madolson (#5129)

Command and API Updates

  • Correct command metadata to describe the ZINCRBY increment and ZINTER/ZINTERSTORE/ZUNION/ZUNIONSTORE weights as doubles instead of integers by @sarthakaggarwal97 (#5210)
  • Correct command metadata so the numfields count argument of hash field commands is no longer associated with a key specification by @sarthakaggarwal97 (#5211)
  • Correct expiry command metadata to show that XX can be combined with GT or LT, rather than all four conditions being mutually exclusive by @sarthakaggarwal97 (#5213)
  • Mark the RESTORE and RESTORE-ASKING IDLETIME and FREQ options as mutually exclusive in command metadata by @sarthakaggarwal97 (#5212)
  • Correct the HEXPIRE, HPEXPIRE, HEXPIREAT, and HPEXPIREAT command summaries to say they set expiration on hash fields, not the hash object by @poiuj (#4783)
  • Add LBOUND, UBOUND, SATURATE, ENX, and PERSIST options to INCREX for bounded increments and conditional expiration control by @murphyjacob4 (#4679)
  • Correct SENTINEL SIMULATE-FAILURE metadata so COMMAND DOCS shows the required mode argument and its tokens by @sarthakaggarwal97 (#5208)
  • Rename the Path Hash command PHEXISTS to PHPATHEXISTS to clarify that it checks a path rather than a hash field by @yangbodong22011 (#5069)
  • Add PHPATHSCAN for ordered incremental path iteration and change PHSCAN to iterate fields and values at an exact path by @yangbodong22011 (#5066)
  • Remove PHLONGEST in favor of PHPREFIXES, which now returns matches longest-first with paging and an EXCLUDESELF option by @yangbodong22011 (#5070)
  • Replace PHCARD with PHPATHCOUNT, which can also count only the paths under a given prefix by @yangbodong22011 (#5071)
  • Replace PHDELPREFIX with PHPATHDEL key path [WITHSUBPATHS], which deletes an exact path or its whole subtree and returns the number of deleted paths by @yangbodong22011 (#5067)
  • Mark the absolute timestamp arguments of HEXPIREAT and HPEXPIREAT as unix-time in COMMAND DOCS, matching EXPIREAT and PEXPIREAT by @rainsupreme (#5245)
  • Correct ZADD and LCS metadata so COMMAND DOCS and valkey-cli hints no longer present NX with GT/LT or LEN with IDX as valid combinations by @rainsupreme (#5244)

Cluster and Replication

  • Decouple rdbcompression (on-disk RDB format) from repl-compression (replication wire format) so setting one no longer affects the other during a full sync by @zuiderkwast (#4749)
  • Avoid rapid failover election restarts by fast-failing only on NACK reasons that a new election epoch can actually fix by @enjoy-binbin (#4700)
  • Prevent a failover auth NACK for an old election from being counted against the current election by echoing the rejected request epoch by @xdk-amz (#4654)
  • Keep a replica's connection to its primary on the main thread so replication flow control works when I/O threads are enabled by @chky1386 (#4765)
  • HDEL, HGETDEL, HPERSIST, and HEXPIRE no longer propagate fields they treat as expired, preventing replica and AOF-reload divergence by @xdk-amz (#4772)
  • COPY of a hash now includes expired-but-unreaped fields so their deletion is propagated and replicas stay in sync by @pirate329 (#4939)
  • Fix atomic slot migration not replicating evictions on the import target, which let replicas grow far past maxmemory by @shanezx-sc (#4920)
  • Fix cluster config saving to avoid publishing truncated nodes.conf files, losing the startup lock after the first save, and failing every save on SMB filesystems such as Azure Files; the lock now lives on a separate nodes.conf.lock file by @KewangZhili (#4489)
  • Fix failover election fast-fail double-counting a voter that rejected the request and was later marked FAIL, which could abandon a winnable election by @xdk-amz (#4655)
  • Fix atomic slot migration with cluster-databases > 1 applying writes made during the snapshot to the wrong database on the target by @pirate329 (#4952)
  • Ignore new nodes gossiped by a sender still in handshake so a forged MEET packet cannot fill the cluster node table by @madolson (#5145)
  • Ignore invalid ping extension values from cluster peers that would corrupt nodes.conf and prevent the node from restarting by @madolson (#5137)
  • Bound the bytes the cluster bus reads per event so a peer with a constant read backlog cannot starve clients, cron and heartbeats by @madolson (#5161)
  • Fix incorrect missing-key handling of replicated MULTI/EXEC transactions during a forkless full sync by @JimB123 (#5205)

Configuration

  • CONFIG REWRITE now quotes the replicaof host, so hosts with spaces or newlines no longer corrupt the config file by @madolson (#5176)
  • Rename the bgsave-default-method config to forkless-policy with values require-fork and prefer-forkless by @madolson (#5261)

Module API Changes

  • ValkeyModule_ScanKey and ValkeyModule_ScanKeyRawBorrowed no longer expose expired-but-unreaped fields of listpack-encoded hashes to modules by @madolson (#4885)
  • Fix module zset range iteration returning duplicate or phantom elements when changing direction on B+tree encoded sorted sets by @xiaocj (#4645)
  • Allow modules to block RESP3 clients that are subscribed to Pub/Sub channels instead of failing ValkeyModule_BlockClient with ENOTSUP by @quanyeyang (#4863)
  • Make ValkeyModule_CallArgv public, letting modules invoke commands with lower overhead through reply callbacks by @dvkashapov (#3911)

Observability and Logging

  • Attribute LZ4 replication compression context memory to client memory usage so it appears under client memory accounting by @sarthakaggarwal97 (#4702)
  • Redact error text in server logs when hide-user-data-from-log is enabled, so command arguments no longer leak into logs by @zackcam (#4815)
  • Redact credentials of rejected HELLO, AUTH and MIGRATE commands so passwords no longer leak to MONITOR and the commandlog by @madolson (#5180)
  • Replace line breaks in Lua server.log() messages with spaces so scripts cannot forge standalone server log records by @madolson (#5185)

CLI and Tools

  • valkey-check-aof now recognizes RDB base files with the VALKEY signature instead of misreporting a valid multipart AOF as invalid by @sarthakaggarwal97 (#4739)
  • Increase the valkey-benchmark maximum latency histogram value from 3 to 60 seconds so slow requests are reported accurately by @gabiganam (#3157)
  • Fix valkey-benchmark spinning on would-block writes, which could starve reply processing and the --duration timer by @thweetkomputer (#4567)
  • Support bracketed IPv6 addresses such as [::1]:7000 in valkey-cli --cluster commands by @chenshi5012 (#4800)
  • Fix an unbalanced ] in valkey-cli command hints for commands with repeated optional arguments such as BITFIELD_RO by @ShubhamTaple (#3974)
  • valkey-cli no longer prints the command line password warning when the password comes only from VALKEYCLI_AUTH or REDISCLI_AUTH by @madolson (#4886)
  • valkey-cli now rejects a zero or negative --hotkeys-count instead of attempting a huge allocation and aborting by @madolson (#5173)
  • valkey-cli now skips RESP3 attributes instead of exiting with an unknown reply type error by @madolson (#5186)
  • valkey-check-rdb now prints usage when --output is given without a file name instead of crashing by @madolson (#5135)
  • valkey-benchmark no longer aborts loading a CSV dataset whose last field in a row is a lone quote; the quote is kept literally by @madolson (#5168)

Build and Tooling

  • Link macOS example and test modules through the compiler driver so builds no longer fail on newer SDKs' libSystem stubs by @avifenesh (#4927)
  • Rebuild the Lua scripting module during incremental builds when its sources change, so edits are no longer silently left out of valkey-server by @madolson (#5242)

Behavior Changes

  • ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZCOUNT, and ZRANGESTORE now reject a bare ( or an empty string as a score bound instead of silently treating it as 0 by @AlisinaDevelo (#4054)
  • Path Hash deletion commands now remove the key when the last path is deleted, following the Hash key lifecycle and emitting a generic del event by @yangbodong22011 (#5068)

Full Changelog: https://github.com/valkey-io/valkey/compare/9.2.0-rc1...9.2.0-rc2

12 hours ago
openobserve

Release v1.2.0-rc1

📦 Download Binaries from https://openobserve.ai/downloads

What's Changed

New Contributors

Full Changelog: https://github.com/openobserve/openobserve/compare/v1.1.0-rc2...v1.2.0-rc1

1 days ago
prometheus

3.16.0-rc.4 / 2026-11-03

  • [CHANGE] API: The experimental search endpoints now clamp batch_size to 1000. #19731
  • [CHANGE] Configuration: Default --web.external-url to https when --web.config.file enables TLS. #19241
  • [CHANGE] PromQL: Subquery samples are now included in the query TotalSamples and TotalSamplesPerStep statistics, and SamplesRead now counts reads from subqueries with an @ modifier in range queries. #19165
  • [CHANGE] Remote write: Stop exposing the deprecated prometheus_remote_storage_metadata_total, prometheus_remote_storage_metadata_failed_total, prometheus_remote_storage_metadata_retried_total, and prometheus_remote_storage_metadata_bytes_total metrics for Remote Write 2.0 queues. #20080
  • [CHANGE] Remote write receiver: Count Remote Write 2.x samples and histograms ingested without metadata in prometheus_api_remote_write_without_metadata_appended_samples_total even when metadata-wal-records is disabled. #19812
  • [CHANGE] TSDB: Reject exemplars whose label names are not unique, instead of storing them and serving a duplicate JSON key from /api/v1/query_exemplars. #19896
  • [FEATURE] API: Allow overriding PromQL Start Timestamp processing on a per-query basis using the X-Prometheus-Use-Start-Timestamps HTTP header. #19066
  • [FEATURE] Agent: Support metadata-wal-records in Prometheus Agent mode. #19684
  • [FEATURE] PromQL: Add experimental integral() function for computing integral-over-time of range vectors behind the --enable-feature=promql-experimental-functions flag. #14440
  • [FEATURE] PromQL: Add experimental query cost estimation, actual cost reporting, and configurable execution limits, enabled with --enable-feature=query-cost. #20028
  • [FEATURE] PromQL: Smoothed and Anchored vector selectors are now stable and always-on. #19697
  • [FEATURE] PromQL: Use start timestamps to detect counter resets when float timeseries are queried using extended range selector modifiers (anchored, smoothed). This feature is hidden behind use-start-timestamps feature flag. #18966
  • [FEATURE] Promtool: print test filename during promtool tests #18271
  • [FEATURE] PromQL: Allow unquoted Unicode letters and dots behind a feature flag #20162
  • [ENHANCEMENT] Search API: Warn when participating remote-read storage does not support search. #19992
  • [ENHANCEMENT] Remote Read: Add native histogram prometheus_remote_read_handler_gate_wait_duration_seconds to measure concurrency-gate wait duration, including requests canceled while waiting. #18355
  • [ENHANCEMENT] Remote Write: Add experimental flag convert_nhcb_to_classic to convert NHCB to classic histograms for external systems that dont support NHCBs. #17205
  • [ENHANCEMENT] promtool: Add --allow-incompatible-block-duration so users can specify any max-block-duration instead of being restricted to the default Prometheus block durations. #19363
  • [PERF] Remote write: Cache repeated OTLP histogram metric names. #19717
  • [PERF] OpenMetrics 2.0 parser: Reuse classic histogram and summary expansion buffers across scrapes. #19907
  • [PERF] PromQL: Decode only histogram sum/count (not buckets) for timestamp(), start_timestamp() and absent(). #19738
  • [PERF] PromQL: Only select the fixed window for subqueries with an @ modifier. #19863
  • [PERF] Remote write / TSDB: Deduplicate per-series metadata structs in memory with unique.Handle. #20040
  • [PERF] Scrape: Avoid some copies of scrape response bodies. #19394
  • [PERF] TSDB: Improve XOR2 compression and append performance by selecting value windows based on encoding cost. #19962
  • [PERF] TSDB: Reduce memory used writing and reading checkpoint metadata records. #19712
  • [PERF] Scrape: Convert classic histograms to NHCB directly in the OpenMetrics 2.0 parser without wrapping in NHCBParser. #19880
  • [PERF] Scrape: Reduce OpenMetrics 2.0 parser allocations and CPU overhead by lazily constructing composite series and exemplar labels. #19895
  • [BUGFIX] Remote read: Abort failed streaming responses without writing duplicate headers or appending plain-text errors to the protobuf stream #19749
  • [BUGFIX] TSDB: Fix loss of out-of-order samples when a WAL checkpoint drops a series record that the out-of-order write-behind log still needs #19737
  • [BUGFIX] TSDB: Fix queries that seek within a head chunk returning samples committed after the query started #19854
  • [BUGFIX] TSDB: Preserve mapped chunks when WAL replay merges multiple references for the same series, preventing missing out-of-order samples and duplicate in-order chunks after restart #19805
  • [BUGFIX] Fix auto-reload logic to reload after reverting a failed configuration change #19838
  • [BUGFIX] API: Do not match metric family metadata for doubled _total and _info suffixes in experimental search API. #19910
  • [BUGFIX] API: Reject timeout and lookback_delta values that overflow int64 instead of turning them into a negative duration #19658
  • [BUGFIX] API: Resolve metric family metadata for suffixed metric names in search results, in experimental search API. #19824
  • [BUGFIX] AWS SD: Describe each ElastiCache cluster once instead of twice for clusters that are not replication group members. #19434
  • [BUGFIX] Build: Allow installing promtool with version-suffixed go install commands #19754
  • [BUGFIX] Discovery: Fix a panic in Azure service discovery when a VM tag has a null value. #19755
  • [BUGFIX] Federation: fix corruption of float native histograms. #19679
  • [BUGFIX] Fix ts_of_last_over_time for samples before the Unix epoch. #19828
  • [BUGFIX] Histograms: Fix ConvertNHCBToClassic inflating classic bucket counts for integer native histograms whose spans have gaps. #19659
  • [BUGFIX] Logging: Preserve rule and TSDB block values in JSON logs. #19572
  • [BUGFIX] OTLP receiver: Drop exemplars with timestamps more than 10 minutes in the future instead of storing them and blocking subsequent exemplars for that series. #19812
  • [BUGFIX] OTLP: Count only out-of-order exemplars in prometheus_api_otlp_out_of_order_exemplars_total, not every rejected exemplar. #20030
  • [BUGFIX] OTLP: Do not drop exemplars that have a trace_id or span_id filtered attribute in addition to a trace or span ID. The trace context now takes precedence over the colliding attribute, as required by the OpenTelemetry specification. #20004
  • [BUGFIX] OTLP: Do not emit le="+Inf" twice when a histogram's explicit bounds end at +Inf, and warn about the bound. #19425
  • [BUGFIX] OTLP: Stop dropping exemplars that arrive out of timestamp order within a data point. #20029
  • [BUGFIX] OpenMetrics 2.0: Attach histogram exemplars to matching classic _bucket series and preserve them when scraping both native and classic histograms. #20020
  • [BUGFIX] PromQL: Avoid intermediate overflow in rad() and deg() conversions. #19901
  • [BUGFIX] PromQL: Consistently ignore and drop __type__ and __unit__ labels in without aggregations, absent(), info(), and binary operator fill matching. #19986
  • [BUGFIX] PromQL: Do not panic when printing the partial AST returned alongside a parse error. #19797
  • [BUGFIX] PromQL: Drop type and unit in binary operations so they are transparent to users, similar to how name is handled. #18680
  • [BUGFIX] PromQL: Fix ==, !=, changes() and count_values on native histograms giving wrong results inside histogram_count(), histogram_sum() and histogram_avg(). #20024
  • [BUGFIX] PromQL: Fix histogram_fraction returning wrong results for native histograms with custom buckets when a bucket boundary is exactly 0. #19657
  • [BUGFIX] PromQL: Fix histogram_quantile and histogram_quantiles interpolating within the wrong bucket for native histograms whose sum is NaN. #19973
  • [BUGFIX] PromQL: Fix lexing of subqueries whose range is a duration keyword expression, e.g. foo[range():1s]. #19729
  • [BUGFIX] PromQL: Fix warning and error locations for duration expressions min_of and max_of. #19742
  • [BUGFIX] PromQL: Ignore NaN classic histogram bucket boundaries in histogram_quantile, histogram_quantiles and histogram_fraction and return correct value instead of NaN if there are normal buckets. #20057
  • [BUGFIX] PromQL: Preserve infinite values at exact quantile ranks. #19899
  • [BUGFIX] PromQL: Preserve original operand sides for experimental fill modifiers with group_right matching. #19939
  • [BUGFIX] PromQL: Preserve subquery step expressions when printing queries after preprocessing. #19743
  • [BUGFIX] PromQL: Range vector functions no longer raise a spurious "vector cannot contain metrics with the same labelset" error when series have different metric names but the same remaining labels, as long as their timestamps do not overlap within the evaluated range window #18631
  • [BUGFIX] PromQL: do not count subquery materialized samples in total samples statistics #19873
  • [BUGFIX] Remote write: Prevent future-dated exemplars from scaling shards down to the minimum. #19866
  • [BUGFIX] Agent: Prevent future sent timestamps from advancing WAL truncation beyond the minimum retention window. #19866
  • [BUGFIX] Rules: Restore firing alerts with for durations shorter than --rules.alert.for-grace-period after a restart. #19882
  • [BUGFIX] Scrape: fix failing scrape when float histogram is emitted over protobuf with count, zero count and buckets all zero, for example a result of recording rate(x[1m]) over constant histogram. #19682
  • [BUGFIX] Search API: Return the lexically smallest label values when limit is set on /api/v1/search/label_values, instead of an arbitrary subset #19694
  • [BUGFIX] TSDB: Fix WAL watcher permanently skipping checkpoint series garbage collection when lagging behind head truncation. #20041
  • [BUGFIX] Search API: Avoid panics when the requested time range has no participating storage. #19992
  • [BUGFIX] TSDB: Fix a race in selected-series and stale-series compaction where a sample committed after the block was written but before the series was evicted from the head could be silently lost. The fix no longer depends on isolation being enabled. #19666
  • [BUGFIX] TSDB: Fix a rare case where a sample could be lost during selected-series or stale-series compaction if an unrelated write to the same series ran cleanup that erased the evidence needed to protect it. #19672
  • [BUGFIX] TSDB: Fix spurious "unknown series references" warnings during WAL replay after a restart, when the only blocks on disk were produced by selected-series or stale-series compaction. #19734
  • [BUGFIX] TSDB: Increment prometheus_tsdb_wal_corruptions_total when WAL corruption is detected during checkpoint creation, so the metric reflects corruption found at compaction time rather than only after a restart-triggered repair. #19858
  • [BUGFIX] TSDB: Preserve series identities needed to recover exemplars after compaction and restart. #19940
  • [BUGFIX] TSDB: Reject native histograms whose span offsets overflow the int32 bucket index instead of storing them with corrupted buckets. #20034
  • [BUGFIX] TSDB: fix no passing metadata-wal-records to TSDB from main feature flag. #19678
  • [BUGFIX] Templates: Preserve IPv6 addresses with dotted zone identifiers in stripDomain. #19908
  • [BUGFIX] UI: Don't automatically open an autocomplete dropdown after closing a function call body or aggregation operator with a closing parenthesis. #19825
  • [BUGFIX] Web: Fix HTTP/2 negotiation silently falling back to HTTP/1.1 under Go 1.27+ when TLS is enabled with http2: true. The server now correctly advertises h2 via ALPN and multiplexes concurrent requests over a single connection. #19848
  • [BUGFIX] mixin: Fix double-counting of failed samples in the PrometheusRemoteStorageFailures alert denominator. #19877
  • [BUGFIX] promtool: Honor --enable-feature when evaluating rules in test rules. #20046
  • [BUGFIX] Scrape: Ensure UTF-8 works with the experimental OpenMetrics 2.0 #19902
  • [BUGFIX] Scrape: Reject sum-only classic histograms during NHCB conversion #19315
2 days ago
pingora

Pingora 0.9.1

0.9.1 - 2026-11-02

🐛 Bug Fixes

  • Fix a panic on every accepted and outgoing connection with tokio 1.54 and later, which rejects zero-capacity buffered readers (#1059).
  • Fix the docs.rs build of the pingora crate, which failed for 0.9.0 (#1018).
  • Fix a panic in pingora-limits Estimator::incr when a counter overflows in builds with overflow checks enabled (#1041).

🔒 Security

  • Require zstd 0.14.3, and through it zstd-safe 8.2.0 and zstd-sys 2.1.2, so dependency resolution cannot select zstd crates affected by RUSTSEC-2026-0391, RUSTSEC-2026-0395 through RUSTSEC-2026-0406, or RUSTSEC-2026-0410.

⚙️ Miscellaneous Tasks

  • Ignore RustSec advisories for rustls 0.21, webpki-roots 0.26, rustls-webpki 0.101 and crypto-bigint 0.5.5, which reach the lockfile only through optional transitive dependencies and have no compatible fixed release.
  • Update HTTP/2 rejection tests for h2 releases that reject conflicting Content-Length headers in the codec.
2 days ago
telegraf

v1.40.3

v1.40.3 [2026-11-02]

Bugfixes

  • #19958 agent Name v1.41.0 in skip_processors_after_aggregators warning
  • #20026 disk-buffer Shift mask by number of truncated entries
  • #20012 internal Read all process output before closing the pipes
  • #20003 metric Skip adding nonconvertible field values
  • #19920 common.proxy Send CONNECT credentials in Proxy-Authorization
  • #19884 common.proxy Use TLS towards https proxies before sending CONNECT
  • #20007 inputs.docker_log Do not record a zero timestamp for empty log streams
  • #19928 inputs.docker_log Keep log-stream state when stream is cancelled
  • #19915 inputs.http_listener_v2 Limit the body size for every content encoding
  • #19969 inputs.opcua_listener Respect server's MaxMonitoredItemsPerCall limit
  • #19975 inputs.s7comm Reconnect after a failed handshake
  • #19946 outputs.elasticsearch Error out on invalid headers
  • #19947 outputs.elasticsearch Only update index template if necessary
  • #19930 outputs.mqtt Resolve topic template for metrics from tracking inputs
  • #19556 outputs.parquet Order columns deterministically
  • #19977 outputs.parquet Remove the file when creating the writer fails
  • #19876 outputs.postgresql Reject metrics with an empty measurement name
  • #19887 serializers.prometheus Leave out histograms and summaries without count and sum
  • #19882 serializers.prometheusremotewrite Do not seed zero placeholders for split histograms

Dependency Updates

  • #19904 deps Bump cloud.google.com/go/auth from 0.24.0 to 0.24.1
  • #20001 deps Bump cloud.google.com/go/bigquery from 1.85.0 to 1.86.0
  • #19991 deps Bump cloud.google.com/go/monitoring from 1.31.0 to 1.32.0
  • #19985 deps Bump cloud.google.com/go/pubsub/v2 from 2.7.0 to 2.8.0
  • #19989 deps Bump cloud.google.com/go/storage from 1.69.0 to 1.70.0
  • #19942 deps Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.14.1 to 1.15.0
  • #19913 deps Bump github.com/ClickHouse/clickhouse-go/v2 from 2.48.0 to 2.49.0
  • #19894 deps Bump github.com/SAP/go-hdb from 1.19.0 to 1.19.2
  • #19987 deps Bump github.com/SAP/go-hdb from 1.19.2 to 1.19.3
  • #19909 deps Bump github.com/alitto/pond/v2 from 2.7.1 to 2.7.2
  • #19983 deps Bump github.com/alitto/pond/v2 from 2.7.2 to 2.7.3
  • #20014 deps Bump github.com/andybalholm/brotli from 1.2.6 to 1.2.7
  • #19901 deps Bump github.com/antchfx/jsonquery from 1.3.7 to 1.3.8
  • #19899 deps Bump github.com/antchfx/xmlquery from 1.5.1 to 1.5.2
  • #19912 deps Bump github.com/antchfx/xpath from 1.3.8 to 1.3.9
  • #19933 deps Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.338.4 to 1.339.0 in the aws-sdk-go-v2 group
  • #19988 deps Bump github.com/dimchansky/utfbom from 1.1.1 to 1.2.0
  • #19981 deps Bump github.com/go-chi/chi/v5 from 5.3.2 to 5.4.0
  • #20013 deps Bump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6
  • #19910 deps Bump github.com/go-ldap/ldap/v3 from 3.4.14 to 3.4.15
  • #19990 deps Bump github.com/gosnmp/gosnmp from 1.45.0 to 1.47.0
  • #19993 deps Bump github.com/hashicorp/consul/api from 1.34.5 to 1.35.0
  • #19938 deps Bump github.com/klauspost/compress from 1.20.1 to 1.20.3
  • #19995 deps Bump github.com/klauspost/pgzip from 1.2.7 to 1.3.0
  • #19891 deps Bump github.com/moby/moby/client from 0.6.1 to 0.6.2
  • #19934 deps Bump github.com/nats-io/nats-server/v2 from 2.15.0 to 2.15.1
  • #19998 deps Bump github.com/nats-io/nats.go from 1.54.0 to 1.55.0
  • #19895 deps Bump github.com/p4lang/p4runtime from 1.5.0 to 1.6.0
  • #19935 deps Bump github.com/pion/dtls/v3 from 3.1.13 to 3.1.14
  • #19992 deps Bump github.com/pion/dtls/v3 from 3.1.14 to 3.1.15
  • #19893 deps Bump github.com/pion/dtls/v3 from 3.1.9 to 3.1.13
  • #19902 deps Bump github.com/prometheus/client_golang from 1.24.1 to 1.25.0
  • #19906 deps Bump github.com/prometheus/common from 0.71.0 to 0.72.0
  • #19940 deps Bump github.com/prometheus/common from 0.72.0 to 0.72.1
  • #19986 deps Bump github.com/prometheus/procfs from 0.22.0 to 0.23.0
  • #19996 deps Bump github.com/prometheus/prometheus from 0.315.0 to 0.315.1
  • #20000 deps Bump github.com/rabbitmq/amqp091-go from 1.15.0 to 1.16.0
  • #19900 deps Bump github.com/rclone/rclone from 1.75.1 to 1.75.2
  • #19905 deps Bump github.com/redis/go-redis/v9 from 9.22.0 to 9.23.0
  • #19943 deps Bump github.com/tidwall/gjson from 1.19.0 to 1.20.0
  • #19984 deps Bump github.com/vertica/vertica-sql-go from 1.3.8 to 1.3.9
  • #20002 deps Bump github.com/vmware/govmomi from 0.56.0 to 0.56.1
  • #19937 deps Bump go.opentelemetry.io/collector/pdata from 1.68.0 to 1.69.0
  • #19898 deps Bump golang.org/x/mod from 0.41.0 to 0.42.0
  • #19914 deps Bump golang.org/x/net from 0.59.0 to 0.61.0
  • #19939 deps Bump golang.org/x/tools from 0.51.0 to 0.52.0
  • #19897 deps Bump google.golang.org/api from 0.299.0 to 0.301.0
  • #19941 deps Bump google.golang.org/api from 0.301.0 to 0.304.0
  • #19999 deps Bump google.golang.org/api from 0.307.0 to 0.308.0
  • #19994 deps Bump modernc.org/sqlite from 1.60.1 to 1.61.0
  • #19892 deps Bump software.sslmate.com/src/go-pkcs12 from 0.7.3 to 0.7.4
  • #19889 deps Bump srebhan/label-milestone-action from 1.2.0 to 1.2.1
  • #19982 deps Bump the aws-sdk-go-v2 group with 11 updates
  • #19890 deps Bump the aws-sdk-go-v2 group with 11 updates

Packages

Arch Platform Package SHA256
arm64 CentOS telegraf-1.40.3-1.aarch64.rpm fff21ad2ea8c6c6946548bcaf3e4ee23aa0b4983397e4076cc541ba6339c5534
armel CentOS telegraf-1.40.3-1.armel.rpm 19083f2b88a09db7d8815faed345c833c123e79413dd85c2774333e2f6e36483
armv6hl CentOS telegraf-1.40.3-1.armv6hl.rpm 0e6b12795530b285fed65181a41b8d7cbdef12685398c03d29bc33b70eef90ad
i386 CentOS telegraf-1.40.3-1.i386.rpm 654c0ac5efb86688b99731df977e01b9716cc1a3f828cea542820e929661501c
unknown CentOS telegraf-1.40.3-1.loongarch64.rpm ac064eba9d1a531a9186ab175a60736685bdc0d54022b45bb49284776080a8c2
ppc64le CentOS telegraf-1.40.3-1.ppc64le.rpm d7fdfd07bb5b750412fe5c01bf742830db42d4c45388c1800ad9b445a08ac170
riscv64 CentOS telegraf-1.40.3-1.riscv64.rpm 80c50376a334f80d7b55ea623eaab7d5e43b5751e68c6a1bb8cd2822f528b62a
s390x CentOS telegraf-1.40.3-1.s390x.rpm a123b77bc3b8764e82cc48587a15554fb02ccca4b9570cd8ea2bf04f6d2bc9e9
amd64 CentOS telegraf-1.40.3-1.x86_64.rpm 25a606d78e3373460c7a7188a59cd770f35bf6e4f7be374fdd29590cfc6f5e6b
amd64 macOS telegraf-1.40.3_darwin_amd64.dmg 09f9dcf98c7e256e1be761def16a466797fd0dfd2df582cba58421d6d476ccc9
amd64 macOS telegraf-1.40.3_darwin_amd64.tar.gz 416f9b3de5fa8325445ffd31b34131c1121bf8a5a6ae70bb763976fe1e86ab94
arm64 macOS telegraf-1.40.3_darwin_arm64.dmg 5dc17e100ab585d9e8a5689731f517dc0349e6a7cd6fab53ef4e9a56466356e4
arm64 macOS telegraf-1.40.3_darwin_arm64.tar.gz 2d0c1d96bfd4633691585b5e107a4c2c6cfae0ef96d0c91ddd5e28d322b5f5a2
amd64 FreeBSD telegraf-1.40.3_freebsd_amd64.tar.gz e7057800b0f7afe4ba22949311d5a51231dfe355b97eea66a31d81762816d2a2
armv7 FreeBSD telegraf-1.40.3_freebsd_armv7.tar.gz fd5346ecba131b488473e80ed24915621eed1deb70fc4aea31967c5e9b3be38a
i386 FreeBSD telegraf-1.40.3_freebsd_i386.tar.gz 43887d0739b355e15ba98564295a17c667c912c2b0a4115bf2c887b45da3843a
amd64 Linux telegraf-1.40.3_linux_amd64.tar.gz cbb95c43303db6e75e129a4eb8888ab1468009e61f6615e64a1cb82f50b0f4ce
arm64 Linux telegraf-1.40.3_linux_arm64.tar.gz 53aa8a3c5083cd202e2b1140115ee1fd6096d5dc57f455b6dee32d3230432319
armel Linux telegraf-1.40.3_linux_armel.tar.gz 5b3b9c7131899e4702a5de7771602f3f3bde5f0711dd11655ef0f77710d797e9
armhf Linux telegraf-1.40.3_linux_armhf.tar.gz 576bc1d0e80876ef9ba094ea807e08596fc198a9b4238702daa65cb8104b20fd
i386 Linux telegraf-1.40.3_linux_i386.tar.gz 24fe2824cc719121e5330ec77d80b4cc53deb15475215dedc8a762ab11349776
loong64 Linux telegraf-1.40.3_linux_loong64.tar.gz 3a4939e4b5c673d4d4abda12e17dd5b859f4ff614ad68a6103e98b78c89d97e5
mips Linux telegraf-1.40.3_linux_mips.tar.gz e84f4ba61f125368e64223301d592b3e54a2012a5d38fa97401d709a4139a613
mipsel Linux telegraf-1.40.3_linux_mipsel.tar.gz 04c0cda0badc3057ea1ae82a01547314a5cee1e080140db4bbe02b097f5ec139
ppc64le Linux telegraf-1.40.3_linux_ppc64le.tar.gz eb72e456eb2afb72c7ee4732627b2abf5ddc644661da1ff38d89def647a981ff
riscv64 Linux telegraf-1.40.3_linux_riscv64.tar.gz 715d4b9aaf8605fdc6c8b0f84f24dbe0b8dd7afdd85a78b10bb3d8c28d2d8cbe
s390x Linux telegraf-1.40.3_linux_s390x.tar.gz f5119e6f7db9ef0abbc18b443a419182808ab2b8d1c561f07a14092b4367558f
amd64 Windows telegraf-1.40.3_windows_amd64.zip 273867d9bb070625b8fc8627f3189899b1221c2c6540dd98f6e526108a89c9c3
arm64 Windows telegraf-1.40.3_windows_arm64.zip 7414adef8d77866da88af0432ade14603db61926e42b32f7c5dbacab84010ec7
i386 Windows telegraf-1.40.3_windows_i386.zip 4c99879a5fe1384587f29919c1e899c02b2c51486935ecf20c6a2eaebe84d0a5
amd64 Debian telegraf_1.40.3-1_amd64.deb 37d0d621ab25f584b82566de99f9bd140e311804fe9cefbcb4b572b417a615f7
arm64 Debian telegraf_1.40.3-1_arm64.deb 696a9f4e22aeabf73887bc60a10dddd213ff1c3eeec2ae55f64b33a56025faad
armel Debian telegraf_1.40.3-1_armel.deb 6ba87a9ecdb2b722790e25677b818eeb8d0d5f024f69407c86ec65e0e00029d0
armhf Debian telegraf_1.40.3-1_armhf.deb bd8bde74b198868536f49e74c3bded0433af599f90c7e13b5eb1c01e267935c0
i386 Debian telegraf_1.40.3-1_i386.deb 3da18b8056eca8e327a0543ea733da36d96d292ab2f9e5326512e7061e9ca3b0
loong64 Debian telegraf_1.40.3-1_loong64.deb 290467f199939452f3788081127ca7812ba9e15748b9596b4973f624fbdbeb8f
mips Debian telegraf_1.40.3-1_mips.deb befd93ae475229f17167a10bdd5278683fa828c9727cc9ef694cab61782fda77
mipsel Debian telegraf_1.40.3-1_mipsel.deb 62fca0390dee6f5150f58e9cf41a0e2bad43e9d826fd3e094a6b6e25ac4a49e1
ppc64el Debian telegraf_1.40.3-1_ppc64el.deb 28adf8b7a0c2a1fea08c45f64f90ecd1d157036131f58025f26ff1b640a54df8
riscv64 Debian telegraf_1.40.3-1_riscv64.deb 3997309daf98842d24830b7bd3e1ceab26b7b38d78f92e4d2f07374096be53a3
s390x Debian telegraf_1.40.3-1_s390x.deb df6b45f00e3371471f82b6588d04159bb0d9410a0dc3be3f9548c611599960c2
2 days ago
seaweedfs

4.52

What's Changed

New Contributors

Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.51...4.52

2 days ago
MeiliSearch

v1.55.1 🔭

Meilisearch v1.55.1 introduces important security fixes. Upgrading from v1.55.0 and earlier is recommended for all users.

See the release notes for Meilisearch v1.56.1 for details.

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.55.0...v1.55.1

2 days ago
MeiliSearch

v1.56.1 🐫

Meilisearch v1.56.1 introduces important security fixes. Updating from v1.56.0 is recommended for all users.

🦋 Fixes

  • Fix issue with ranking scores greater than 1 by @dureuill in https://github.com/meilisearch/meilisearch/pull/6703

  • Make sure that all nested fields are inserted in field id map by @dureuill in https://github.com/meilisearch/meilisearch/pull/6700

    • Fixes a panic when modifying the list of searchable attributes after an existing document has been updated to insert new nested fields.

    • Existing databases encountering this issue can be fixed by adding a new document containing the new nested fields.

    • Fixes #6636 and fixes #6657

🔒 Security

🔩 Miscellaneous

New Contributors

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.56.0...v1.56.1

3 days ago
redis

8.12 RC2

This is the second Release Candidate of Redis 8.12 in Redis Open Source.

Release Candidates are feature-complete pre-releases. Pre-releases are not suitable for production use.

New Features

  • #16082 Update the Search module to include all RedisSearch-related content that was intended for RC1