• v0.3.9 bc34bd22ad

    v0.3.9 Stable

    franz released this 2026-07-04 08:11:07 +00:00 | 94 commits to master since this release

    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

    Builds, checksums and packages: https://github.com/franzos/stackpit/releases/tag/v0.3.9

    Downloads