Skip to content

BetterDB-inc/monitor

v0.26.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 18d Monitoring & Metrics
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

prometheus monitoring obsevability redis valkey

Summary

AI summary

Anomaly detection expanded, latency P99 regression guard added, bulk delete-by-pattern implemented, webhook retries made adaptive, and telemetry reliability improved across retrieval, agent-cache, and MCP.

Full changelog

Anomaly-detection expansion (three new Valkey-issue-backed detectors), a P99 latency regression guard, client-side bulk delete-by-pattern, and faster webhook retries.

✨ Added

Anomaly detection

  • Split-brain - duplicate primaries in a shard (#305, valkey#2261 (https://github.com/valkey-io/valkey/issues/2261)) - flags a hash-slot range claimed by more than one master-flagged node and names the phantom primary (lower configEpoch). Emits a CRITICAL CLUSTER_TOPOLOGY anomaly, deduped per conflict signature and re-armed once resolved.
  • Stalled BGSAVE / AOF persistence forks (#294, valkey#2322 (https://github.com/valkey-io/valkey/issues/2322)) - tracks RDB/AOF fork children from INFO persistence. CRITICAL when progress freezes (MONITOR_PERSISTENCE_STALL_SEC, 60s), elapsed exceeds the ceiling (MONITOR_PERSISTENCE_CRIT_SEC, 600s), or last-save status flips ok → err; WARNING past MONITOR_PERSISTENCE_WARN_SEC (120s) while still advancing.
  • Data-loss guard for empty-primary full resync (#302, valkey#579 (https://github.com/valkey-io/valkey/issues/579), Pro) - Rule A alerts when a persistence-less primary restarts empty with restart evidence (replid change / uptime reset / offset regression); Rule B confirms a replica whose keyspace collapsed ≥90% after a replid change. Same-replid FLUSHALL is not flagged. Adds the data.loss.detected webhook + dashboard banner.

Latency

  • P99 regression guard for version upgrades (#304, valkey#3527 (https://github.com/valkey-io/valkey/issues/3527), Pro) - a version change opens a 24h window; when a command's P99 stays ≥1.5× its pre-upgrade baseline (and ≥1ms above) for 5 consecutive samples, fires one aggregated command_p99 anomaly + the latency.regression.detected webhook. Adds a latencystats poller (60s/7d), the latency_stats_samples store across all adapters, and GET /metrics/latencystats/summary + /history (Community).

Data management

  • Bulk delete-by-pattern (client-side SCANDEL) (#308, valkey#2623 (https://github.com/valkey-io/valkey/issues/2623), Pro) - client-driven SCAN + per-key UNLINK with dry-run preview, maxKeys cap + truncation reporting, pacing, cooperative cancel, and cluster fan-out (per-key UNLINK avoids CROSSSLOT). Catch-all * requires explicit confirmation. Gated behind the bulkDelete feature.

🔧 Changed

  • Adaptive webhook retry polling (#157) - self-scheduling loop: 2s while retries pend, 10s when idle (same DB load), with a shutdown guard. Backoff retries (1s/2s/4s) now picked up in ~2s instead of up to 10s.
  • Centralized ENV_DEFAULT_ID (#156) - replaces 28+ hardcoded 'env-default' literals with one constant.

🐛 Fixed

  • MCP info endpoint (#280) - passes the section parameter through to the underlying INFO call.

Full changelog: v0.25.0...v0.26.0

What's Changed

  • fix(telemetry-py): reliable event delivery and per-install identity by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/292
  • fix(telemetry): reliable delivery + per-install identity in TS packages by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/293
  • fix(telemetry): serverless-aware event delivery for TS SDKs by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/301
  • feat(retrieval): LongMemEval lever ablation foundation by @jamby77 in https://github.com/BetterDB-inc/monitor/pull/284
  • feat(retrieval): structured context assembly (Issue 1) by @jamby77 in https://github.com/BetterDB-inc/monitor/pull/285
  • feat(retrieval): query-time temporal resolver (Issue 2, slim) by @jamby77 in https://github.com/BetterDB-inc/monitor/pull/287
  • fix(mcp): pass section param through to info endpoint by @AruneshDwivedi in https://github.com/BetterDB-inc/monitor/pull/280
  • fix(mcp): report package version from metadata by @RitwijParmar in https://github.com/BetterDB-inc/monitor/pull/222
  • feat(agent-cache/ai): cache streaming LLM responses via wrapStream by @amitkojha05 in https://github.com/BetterDB-inc/monitor/pull/262
  • chore(agent-cache): release v0.11.0 (streaming cache) + fix TS build by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/306
  • feat(anomaly): detect duplicate primaries in a shard (split-brain) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/305
  • feat(anomaly): detect stalled BGSAVE/AOF persistence forks by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/294
  • feat(retrieval): LongMemEval question-type filter + stratified slice by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/300
  • refactor: replace hardcoded 'env-default' strings with ENV_DEFAULT_ID by @Vswaroop04 in https://github.com/BetterDB-inc/monitor/pull/156
  • feat(webhooks): implement adaptive polling in WebhookProcessorService by @Vswaroop04 in https://github.com/BetterDB-inc/monitor/pull/157
  • feat(agent-memory): opt-in write-time fact consolidation by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/299
  • feat(anomaly): data-loss guard for empty-primary full resync (valkey#579) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/302
  • feat(bulk-delete): incremental delete-by-pattern (client-side SCANDEL) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/308
  • feat(latency): P99 latency regression guard for version upgrades (valkey#3527) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/304

New Contributors

  • @AruneshDwivedi made their first contribution in https://github.com/BetterDB-inc/monitor/pull/280
  • @RitwijParmar made their first contribution in https://github.com/BetterDB-inc/monitor/pull/222

Full Changelog: https://github.com/BetterDB-inc/monitor/compare/v0.25.0...v0.26.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track BetterDB-inc/monitor

Get notified when new releases ship.

Sign up free

About BetterDB-inc/monitor

Valkey-first observability with Redis compatibility. Query real-time metrics, analyze slow commands, detect hot keys, and investigate performance issues directly from AI coding assistants.

All releases →

Related context

Earlier breaking changes

  • vagent-cache-py-v0.7.0 Cache keys changed for tool-using requests on the LlamaIndex adapter; existing cached entries will miss once after upgrade.
  • vagent-cache-v0.7.0 Cache keys for tool-using requests changed on Vercel and LlamaIndex adapters; existing entries become one-time misses.
  • vagent-v1.5.0 TLS is now mandatory; agent exits with error if `--valkey-tls true` is not set for IAM auth mode.

Beta — feedback welcome: [email protected]