changelog
What's shipped
Every entry corresponds to merged, tested work — the same history you can read in the repository.
Faster guided setup
- The guided setup now drops your freshly-minted key straight into the test-ingest snippet — copy and run it as-is, no pasting the key back in.
- A “Send a test frame/report for me” button posts a sample from the browser, so onboarding completes without opening a terminal. Pick your language right in the wizard.
- The wizard adapts to the workspace: an Apps project walks project → source → key → report (no payload rule).
Devices and Apps workspaces
- The console now has a Devices | Apps switch in the header. Devices keeps MCU health, the crash/interrupt log, and datasheet-grounded diagnosis; Apps focuses on reported metrics, grouped errors, and issues.
- A new Metrics explorer charts any metric a source reports — pick fps, latency, or your own custom metric, no setup.
- Your workspace choice is remembered, and a single-domain org lands on the right one automatically.
Compile-checked software patches
- Generated Python, JavaScript, and Go patches are now syntax-checked in the sandbox (py_compile, node --check, gofmt) — parse-only, never executed — instead of format-only.
- When the check passes, the RCA drops the “not compile-validated” disclaimer. TypeScript stays format-only for now and still says so.
Investigate a software issue with the agent
- Enterprise: an “Investigate” button on any issue launches the diagnostics agent on a software crash, grounded in the grouped error’s stack trace, context, and surrounding telemetry.
- It localizes the failing function and drafts a code patch in the failing frame’s language — Python, JavaScript, TypeScript, and Go alongside C and Rust.
- The same guarantees hold: low-confidence runs flag for manual review, it stops at a human-review gate, and it never posts a patch or runs your code. Software patches are format-checked (not yet compile-validated) and the RCA says so.
Issues — grouped crash tracking
- Repeated errors are grouped into issues with an occurrence count, affected sources, and first/last seen.
- Resolve or ignore an issue to clear it; it returns as “regressed” if the same fault fires again.
Monitor web, server, and game projects
- Create an Application project and report metrics, events, and errors as JSON — no bit-packing.
- Copy-paste reporters for browser JS, Node, Python, and any HTTP client that auto-capture uncaught errors.
- A Recent errors panel shows reported crashes with expandable stack traces; error reports also fire your alert rules.
Recent alerts feed
- The Alert rules screen now shows a recent-alerts feed — an org-wide, newest-first list of what has been firing, with device and severity.
Manage alert rules
- Edit an existing alert rule in place instead of deleting and recreating it.
- Scope a rule to a single fleet, or keep it org-wide.
- “Add all” the recommended rules in one click.
Smarter alert suggestions
- Alert templates matching the metrics your devices actually report are surfaced as “Suggested for your devices”.
- When you have no alerts yet, one-click “Recommended to start” rules get you covered instantly.
Alert rule templates
- Start an alert rule from a template — heap low, heap leaking fast, low battery, CPU pegged, stack exhausted, hard fault, watchdog reset, high temperature — instead of a blank form.
- The Alert rules screen adopted the consistent card styling, and the docs now explain templates.
Visual polish
- Consistent card surfaces, spacing, and section headers across setup, team, and billing screens.
Guided device setup
- A new “Connect a device” wizard walks you through fleet → device → key → rule → first frame, and confirms when your data arrives.
- New organizations land straight on it instead of a blank setup screen.
Redesigned navigation
- The console moved from a long strip of tabs to a grouped side navigation (Monitor / Diagnose / Account), with a mobile drawer.
- Per-device views keep the device picker beside them; everything else gets the full width.
Easier device setup
- Every device now shows its copyable device id — the value you need for the ingest call.
- Start a payload rule from a template (simulator frame, MCU health, environmental sensor) instead of a blank layout.
- Ingest keys: revoked keys are tucked away and can be permanently removed, keeping the list clean.
In-app docs, device code snippets, key regeneration
- A Docs link now sits in the console header, not just on the marketing site.
- Every device has a “Send data” button with ready-to-paste ingest code in cURL, Python, JavaScript, Java, Go, and C (ESP32) — device id and URL filled in.
- Ingest keys can be regenerated in place, with a clear explanation that a key’s secret is shown only once and never stored.
Self-serve sign-up
- Create an account directly from the site — a new registration page provisions your organization and signs you in.
- The landing “Get started” button and the login page now link to sign-up.
Live deployment and shareable invite links
- VolatileSys now runs in production — the dashboard, decoder, alerting, and agent are live end to end.
- Team invites now reveal a one-time copyable accept link at creation, so you can hand it to a teammate directly if the email doesn’t arrive.
Own your data: export and delete
- Export your organization’s full control-plane record (members, fleets, devices, rules, datasheets, investigations, RCA reports) as a JSON file — no secrets included.
- Permanently delete your organization and all of its data from a typed-confirmation Danger Zone, with telemetry purged across every plane.
- Privacy and Terms pages rewritten to describe exactly what export and deletion do, now that they are real.
Team invites and member management
- Invite teammates by email to an owner, admin, or member role; they accept from an emailed link after signing in.
- Manage the roster from a new Team tab: change roles, remove members, and revoke pending invites (admins only).
- The last owner of an organization can never be demoted or removed, so an org is never left without an owner.
Self-serve onboarding, production readiness, and launch polish
- Fleet setup UI: create fleets and devices, mint ingest keys (one-time reveal), and a visual payload-rule builder with a live bit-layout and decode preview.
- Deployable backend: Dockerfile, reference production compose, a boot guard that refuses unsafe production config, structured logging, and Sentry (backend + frontend).
- Self-serve upgrade to the Enterprise / Agent tier, surfaced from the gated features.
- Browser-level end-to-end tests for the onboarding flow (which caught a crash before you would have).
Reliability audit, redesigned landing, accessibility controls
- Full-project bug audit: worker resilience (poison-message DLQ, alert consumer survives dead webhooks), fail-open rate limiting, race fixes.
- Landing redesign: blueprint aesthetic, section navigation, live decoder demo, accessibility panel (text size, contrast, motion).
- Cross-tenant isolation test suite extended (WebSocket, investigations, agent ops).
Fleet operations: Slack alerts, anomaly scan, OTA hand-off
- Slack alert channels and sustained-breach escalation policies.
- Periodic anomaly scan emits pre-threshold drift warnings as hardware events.
- C packing-header generation from payload rules — the device-side mirror of the decoder.
- Approved patches can be handed to your OTA pipeline (explicit human action; we never flash firmware).
RCA surfaces: export, share links, citation viewer, agent ops
- Printable HTML export and revocable public share links for approved RCAs.
- Citation viewer renders the exact cited datasheet page beside the retrieved passage.
- Agent ops tab: usage aggregates, eval-run accuracy trend, audit log.
Auth flows and the live demo org
- Email verification and password reset (signed single-purpose tokens).
- One-click read-only demo org from the landing.
Landing launch: agent-led story with real lead capture
- Prerendered marketing site with pricing, trust, and workflow sections.
- Early-access lead capture with rate limiting — no third-party form service.
The autonomous diagnostics agent
- LangGraph investigation pipeline: gather → localize → research → resolve → human review.
- Datasheet RAG with page-cited passages; sandboxed patch validation (syntax only, never execution).
- Guardrails: model-call budgets, low-confidence flagging, append-only audit log.
- Ticketing integrations: inbound webhooks open investigations, approved RCAs post back.
The telemetry foundation
- Bit-packed ingestion over REST and MQTT with fleet-scoped hashed keys.
- The payload decoder engine: declarative bit-field rules, replayable from stored raw frames.
- Live dashboards (heap/stack, CPU, battery), threshold + rate alerting, per-tenant retention.