Releases: monoscope-tech/monoscope
v0.6.22
CLI
events search -o jsonnow preserves JSON types: numbers stay numbers, bools stay bools, thesummarycolumn comes back as a clean array of strings instead of a doubly-encoded JSON blob withfield;style⇒valuemarkup. Empty cells collapse tonullso agents can distinguish absent from empty.
v0.6.21
v0.6.20
What's Changed
- Improve MCP and CLI (#368)
- feat: expose monoscope as MCP server at /api/v1/mcp (#367)
- refactor: CLI agent-mode hardening + cross-cutting LOC reduction (#365)
- refactor: replace PGArray with V.Vector for array-typed columns
- Various dependency bumps (npm, github-actions)
Full Changelog: v0.6.19...v0.6.20
Monoscope v0.6.19
What's Changed
- .github/workflows: Migrate workflows to Blacksmith runners by @blacksmith-sh[bot] in #364
Full Changelog: v0.6.16...v0.6.19
Monoscope v0.6.18
Full Changelog: v0.6.16...v0.6.18
v0.6.2 — session bucket bar height fix
Fixes
- Log explorer: session bucket bars now fill the full container height (
h-fulladded soflex-col-reversechildren align correctly).
Chores
- Refresh
web-components/package-lock.json.
Full changelog: v0.6.1...v0.6.2
v0.6.1 — docker-compose fresh clone fix
Fix
-
docker-compose / libpq keyword/value connection strings:
addKeepaliveParamswas appending?keepalives=1&…to every connection string, which only works for URI-form URLs. With the docker-compose defaultDATABASE_URL=host=… sslmode=disable, the?glued onto the last keyword's value and libpq rejected startup with:libpq: failed (invalid sslmode value: "disable?keepalives=1&keepalives_idle=15&...")The helper now detects URI vs keyword/value form and joins with the right separator (
?/&vs space). The TimescaleDBoptions=…append inSystem.Configwas routed through the same helper, so a freshdocker compose upnow boots cleanly.
Full changelog: v0.6.0...v0.6.1
v0.6.0 — Notification overhaul
Highlights
Major overhaul of Slack and Discord notifications for runtime errors, monitors, new endpoints, log patterns, and scheduled reports — denser, clearer, less wasted vertical space, and more actionable.
Slack alerts
- Severity color bar via
attachmentswrapper — red/orange/amber/blue/green/slate applied consistently across all alert types - Compact titles —
{emoji} *{label}* · {errorType} in {project}(no more triple-duplicated error headers) - Top stack frame inlined in the body for file/line context at a glance
- Secondary action button —
View traceappears alongside🔍 Investigatewhen a traceId is present, jumping into Log Explorer filtered by trace_id - Single context block (was up to three), empty fields dropped instead of rendering as empty backticks
- First seen now shows compact relative + absolute time (e.g.
3m ago · Apr 14 4:17 PM) - Field labels standardized:
Environment/Route/Rate/Runtime/Trace - Monitor alert: passive
🤖 Alert triggered for X→ active🚨 Monitor alerting: X; resolved state gets green bar + clickable title - New endpoints: proper singular/plural, redundant body prose removed
- Log-volume rate change: signed change (
+42%/-18%), amber on spike / blue on drop - Report: merged context blocks, terse image titles, explicit
Open reportbutton
Discord alerts
- Per-severity embed colors matching Slack palette
- Monitor content and titles aligned with Slack wording
- Removed redundant body intros on log-pattern and rate-change embeds
- New-endpoint plural fixed
Chart rendering fix
- ECharts bars rendered as a fused "square blob" due to
showBackgroundpainting empty buckets — removed, addedbarCategoryGap: 30%,barMaxWidth: 10, and roundedborderRadiusso columns read as distinct rounded bars
Incidental fixes
- Trace viewer: orphan spans whose parent isn't in the current batch are normalized to roots instead of being silently dropped
- Span timing bar chart: guard against non-finite
maxDurationwhen all bars share the same start
v0.5.0
Highlights
- Migrate from postgresql-simple to hasql-interpolate — new DB query layer with better type safety and performance
- Extraction worker — new background worker for model query consolidation and error handling
- Query editor improvements — autocomplete with real facet data, query library popover, popular search chips, inline parse errors
- Sidebar flyout submenus — flyout navigation for Monitors, Settings, and other nav items
- Endpoint stats redesign — tabbed dashboard with full-depth downstream queries
- Trace waterfall polish — display labels, tooltips, resizable timeline
- Log explorer improvements — dark mode contrast, chart theming, a11y, detail panel polish
- Metered overage billing — BYOS plan checkout with overage support
- Free tier usage warnings — OTLP rate limiting and usage notifications
- Project audit log — tracking critical project operations
- OpenTelemetry metrics — support all OTLP metric types (Sum, Histogram, ExponentialHistogram, Summary)
- Standard OpenTelemetry HTTP spans in API catalog
Stability & Performance
- Fix OOM crash loop: add strictness, bounded RTS, and O(n) algorithms
- Reduce memory usage: skip unused JSONB columns, Drain logIds, RTS tuning
- Fix memory leaks in background jobs and ingestion pipeline
- Supervise service threads to prevent cascading crashes
- Catch exceptions in gRPC OTLP handlers to prevent server crashes
- Optimize query pagination and lazy-load command palette
- Reduce allocations in OTLP ingestion and query paths
- Cache Kafka producer, cap field/format value sizes
Fixes
- Fix project authorization: enforce membership checks on all handlers
- Fix accidental project deletion from settings navigation
- Fix Slack notifications going to default channel
- Fix LemonSqueezy billing: case mismatch, empty string guard, webhook safety net
- Fix monitor recovery on empty results and default time window
- Fix endpoint extraction: handle numeric status codes, http.host fallback
- Two-tier error fingerprinting with framework-error rollup
- Fix settings forms breaking after first submit
v0.4.1
Fixes
- Fix onboarding pricing page: clicking "Continue with Open Source" now redirects to dashboard instead of showing toast
- Fix pricing button styling broken by DaisyUI v5
@apply btnincompatibility - Fix Enterprise "Contact us" button styling
- Don't disable plan buttons during onboarding so users can always proceed