This release adds 5 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryBroad release touches π§ Changed, AI observability, Anomaly detection, and ai-observability.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds AI Cache & Memory tab for Valkey-native cache/memory metrics. Adds AI Cache & Memory tab for Valkey-native cache/memory metrics. Source: llm_adapter@2026-07-15 Confidence: high |
β |
| Feature | Medium |
Adds AI Traces with OTLP ingestion, waterfall view, and Valkey correlation. Adds AI Traces with OTLP ingestion, waterfall view, and Valkey correlation. Source: llm_adapter@2026-07-15 Confidence: high |
β |
| Feature | Medium |
Adds OTLP `http/protobuf` ingestion support alongside JSON for trace endpoints. Adds OTLP `http/protobuf` ingestion support alongside JSON for trace endpoints. Source: llm_adapter@2026-07-15 Confidence: high |
β |
| Feature | Medium |
Adds magnitude sort (topβN worst offenders) for SLOWLOG and COMMANDLOG queries. Adds magnitude sort (topβN worst offenders) for SLOWLOG and COMMANDLOG queries. Source: llm_adapter@2026-07-15 Confidence: high |
β |
| Feature | Medium |
Redesigns firstβrun connect screen with quick URL paste, localhost oneβclick, and cloud instance creation options. Redesigns firstβrun connect screen with quick URL paste, localhost oneβclick, and cloud instance creation options. Source: llm_adapter@2026-07-15 Confidence: high |
β |
| Feature | Medium |
Adds connectionβsaturation anomaly detection and separates rejected connections from ACL denied events. Adds connectionβsaturation anomaly detection and separates rejected connections from ACL denied events. Source: llm_adapter@2026-07-15 Confidence: low |
β |
| Feature | Medium |
Adds detection for stuck orphaned replicas after primary loss in Valkey clusters. Adds detection for stuck orphaned replicas after primary loss in Valkey clusters. Source: llm_adapter@2026-07-15 Confidence: low |
β |
| Feature | Medium |
Changes Managed Valkey instance sizing to scale pod memory limit (2Γ maxmemory) and volume size (4Γ) with requested instance size; caps maxmemory at 2β―GB and adds a 1β―GB size option. Changes Managed Valkey instance sizing to scale pod memory limit (2Γ maxmemory) and volume size (4Γ) with requested instance size; caps maxmemory at 2β―GB and adds a 1β―GB size option. Source: llm_adapter@2026-07-15 Confidence: low |
β |
| Feature | Low |
Adds OpenAI Agents SDK adapter to integration suite. Adds OpenAI Agents SDK adapter to integration suite. Source: llm_adapter@2026-07-15 Confidence: high |
β |
| Refactor | Low |
Refactors SlowLog storage into shared `SlowLogRepository` across sqlite, postgres, and memory adapters; no behavior change. Refactors SlowLog storage into shared `SlowLogRepository` across sqlite, postgres, and memory adapters; no behavior change. Source: llm_adapter@2026-07-15 Confidence: high |
β |
Full changelog
AI observability lands (Valkey-native cache/memory metrics, OTLP traces with a correlation waterfall), two new Valkey-issue-backed anomaly detectors, worst-offender sorting for the logs, and a redesigned first-run connect screen built to convert.
β¨ Added
AI observability
- AI Cache & Memory tab (#312) - auto-discovers BetterDB agent-cache, semantic-cache, agent-memory, and retrieval instances on the connected Valkey via the
__betterdb:cachesregistry (heartbeat liveness, zero app-side config) and charts hit rate, cost saved, evictions, index size, and history. Per-tick hit rate is derived from counter deltas; samples persist in the newai_cache_samplesstore across sqlite / postgres / memory with tier-based retention.
- AI Traces: OTLP ingestion, waterfall, and Valkey correlation (#313) -
POST /v1/tracesOTLP ingestion (keeps@betterdb/*spans plus roots) feeding an AI Traces waterfall, then correlates spans with live Valkey state to explain why a hit or miss happened. Newotel_spansstore + per-trace summaries across all adapters,GET /ai/traces,GET /ai/traces/:traceId, andGET /ai/traces/:traceId/correlate. Ingest supports an optional bearer token and fails closed on cloud when no token is configured.
- OTLP
http/protobufingestion (#314) -/v1/tracesnow accepts the OTel SDK's defaulthttp/protobufencoding alongsidehttp/json, so exporters work without flipping a config flag. Decodes with a minimal inline proto (fixed64 timestamp precision preserved) and answers protobuf requests with protobuf responses per the OTLP/HTTP spec.
Anomaly detection
- Connection saturation (#317, valkey#3918) - closes the "approaching the wall" gap before
maxclientsexhaustion locks out operators, and unbundlesrejected_connectionsfromACL_DENIEDso a connection-limit event is no longer misread as an auth attack. - Stuck orphaned replicas after primary loss (#310, valkey#2090) - after a primary is replaced by a fresh node (classic k8s pod restart), a surviving replica can keep replicating the dead primary forever. Detects the stuck state and recommends the maintainers' own remediation.
Logs
- Magnitude sort (top-N worst offenders) (#316, valkey#3895) - SLOWLOG and COMMANDLOG queries take
sortBy: 'recent' | 'magnitude'; magnitude returns the worst offenders first (Β΅s for slow, bytes for large-request/large-reply). Because every entry is persisted durably, bursts of mildly-slow commands can't evict the genuine outliers the way Valkey's small in-memory log does.
Onboarding
- Connect-screen redesign for first-time activation (#321) - the no-database screen is rebuilt to convert: quick connect by pasting a
redis:///rediss:///valkey://URL (failures hand off to the prefilled form), contextual per-page headlines instead of one generic dead end, one-click Connect localhost:6379 + Docker one-liner (self-hosted) or Create a 1 GB Valkey instance (cloud), provider setup-guide chips, a read-only trust line, and a troubleshooting link. Pasting a full URL into the Add Connection form's Host field fills every field.
π§ Changed
- Managed Valkey instance sizing (#321, cloud) - pod memory limit (2Γ maxmemory) and volume size (4Γ) now scale with the requested instance size instead of the fixed chart defaults; requested maxmemory is hard-capped at 2gb (DTO + service + sizing clamp) and a 1gb size option was added.
- SlowLog storage refactor (#191) - SLOWLOG persistence extracted into a shared
SlowLogRepositoryacross the sqlite / postgres / memory adapters. No behavior change.
Full changelog: v0.26.0...v0.27.0
What's Changed
- Adding OpenAI Agents SDK adapter by @amitkojha05 in https://github.com/BetterDB-inc/monitor/pull/149
- feat(semantic-cache): add Google AI (Gemini) embedding provider by @Vswaroop04 in https://github.com/BetterDB-inc/monitor/pull/160
- test(storage): skip CI-only-flaky cache_proposals constraint tests by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/309
- feat(anomaly): detect stuck orphaned replicas after primary loss (valkey#2090) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/310
- feat(agent-cache-py): add Pydantic AI adapter by @amitkojha05 in https://github.com/BetterDB-inc/monitor/pull/131
- feat(semantic-cache): runtime-configurable defaultTtl via __config hash by @amitkojha05 in https://github.com/BetterDB-inc/monitor/pull/161
- refactor(storage): extract SlowLogRepository across all three storage adapters by @amitkojha05 in https://github.com/BetterDB-inc/monitor/pull/191
- feat(ai-observability): AI Cache & Memory tab (Valkey-native) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/312
- feat(ai-observability): OTLP traces, waterfall, and Valkey correlation by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/313
- feat(ai-observability): OTLP protobuf ingestion by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/314
- feat(anomaly): connection-saturation detection + unbundle rejected_connections (valkey#3918) by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/317
- feat(logs): magnitude sort (top-N worst offenders) for slow/command log by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/316
- feat(web): redesign no-connection screen for first-time activation by @KIvanow in https://github.com/BetterDB-inc/monitor/pull/321
Full Changelog: https://github.com/BetterDB-inc/monitor/compare/v0.26.0...v0.27.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
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.
Related context
Related tools
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]