Releases: franzos/stackpit
Releases · franzos/stackpit
Release list
v0.3.15
v0.3.14
Added
- Issue detail renders breadcrumbs, user, and extra context
- Span operation aggregation on the spans page
- Transaction duration distribution
- Cross-links between replays and traces
- Error-free sessions in Release Health
Changed
- Styled 404 page
v0.3.13
Added
- Per-release detail page: session health plus the release's issues
- Expandable spans with metadata in the trace waterfall
- Minified-stacktrace hint linking to source-map settings
Changed
- Release Health errored/crashed counts link through to the release
- Trace waterfall compresses long idle gaps
- Client reports show per-report dropped counts and reasons
- Release versions rendered as short hashes
- Issue breadcrumbs expanded by default
Fixed
- Long issue titles no longer overflow the issues table
v0.3.12
Security
- crossbeam-epoch bumped for RUSTSEC-2026-0204
Fixed
- Environment filter on an integration no longer drops all its notifications
- Global email "Test" button no longer a no-op with SMTP
- Org deletion no longer undercounts alert rules and digest schedules
v0.3.11
Added
- Commercial license infrastructure (offline Ed25519 verification, admin activation page)
- Prometheus
/metricsendpoint, token-authed and license-gated (Observability) [email] enabledswitch to configure a mailer but skip sending
Changed
- Email config now uses polymail's provider schema (
configfeature, polymail 0.1.6). Breaking: the[email.smtp]block collapses into[email], and its fields are renamed:username/password->user/pass,starttls->start_tls. Omit the whole[email]section to leave mail unconfigured.
Fixed
- Graceful shutdown no longer discards events that were already acknowledged
- Failed write batches retry with backoff instead of being dropped
- Sourcemap bundle assembly caps total size at 512 MiB
- Open mode: a failed key auto-registration returns 500 instead of accepting events
v0.3.10
Added
- SMTP email provider via a new
[email.smtp]block - Test button on per-project integrations sends a real notification
- Test button on digest schedules sends a real or sample digest
- Notification emails link back to the issue and project pages
Changed
- polymail updated to 0.1.3 (SMTP backend)
Fixed
- Per-project "To address" field no longer shows the raw config JSON
- Recipient is validated as an email address on submit
- Missing
[filter]config no longer rejects all ingest
v0.3.9
Security
- Source maps are now isolated per project. They were keyed globally by debug id, so one tenant could read or overwrite another tenant's source maps and original source
- Ingest authentication caches denials and the open-mode project count, and caps per-IP authentication-failure floods, so a stream of unknown-key requests can no longer hammer the database
Added
- Concurrent ingest writers, configurable via
ingest_writers(PostgreSQL) - Configurable ingest write batch size via
ingest_batch_size stackpit-bench: open-loop ingestion benchmark (ramp to knee, soak, CSV + SVG chart)
Fixed
- Event batches that hit a transient write failure and retry no longer double-count issue, tag, session, and transaction metrics, lose counts, or store unreadable double-compressed payloads
- Retried SDK envelopes no longer inflate counts; the ingest endpoint now accepts a whole envelope or none
- Retention deletion reconciles issue counts against exactly the rows it deletes
- Writer shutdown is no longer lost under a full queue, and a flush failure during drain no longer drops events without accounting
Changed
- Payloads are compressed on the accept path instead of on the writer, raising sustained ingest throughput
- Per-project navigation badge counts are cached briefly instead of recomputed on every page render
- The writer bounds queued memory by bytes, not just message count, to avoid running out of memory under bursts of large payloads
- Admin bulk deletes run in chunks so they no longer stall ingestion
- Organization, auth, and background writes go through the write pool, and the read pool is enforced read-only
Full Changelog: v0.3.8...v0.3.9
v0.3.8
Fixed
- PostgreSQL: release-health daily sessions chart crashed on a column decode error
- Docker images failed to build after the library-crate split
Full Changelog: v0.3.7...v0.3.8
v0.3.7
Added
- Transaction performance monitoring: duration percentiles (p50/p75/p95), throughput, and failure rate rolled up hourly, with a transactions list and per-transaction instances view (slowest first)
- Distributed tracing: embedded child spans extracted into a spans table, and a trace detail view rendered as a time-positioned span waterfall with correlated error events
- Web Vitals card (LCP, FCP, CLS, TTFB) on event detail, derived from transaction measurements
- Release Health: crash-free users (distinct-user crash rate via HLL) and a daily sessions trend chart
- Client Reports outcomes summary (dropped events by category and reason)
- User report detail surfaces feedback fields (name, email, comments, related event) above the raw JSON
Changed
- Transactions no longer create error-style issues; they feed a dedicated performance rollup
- Transactions tab badge now counts distinct transaction names
- Event and session charts scale to the full container width
Fixed
- Release Health counts aggregated
sessionsenvelopes instead of dropping them, no longer counts errored sessions as crashes, and dates sessions by their own start time - Session
release/environmentnow read fromattrs(were silently null) - Tag facet bars render as background fills instead of pushing values out of line
Full Changelog: v0.3.6...v0.3.7