• v0.4.7 9004a113da

    v0.4.7 Stable

    franz released this 2026-09-20 16:49:10 +00:00 | 0 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Added

    • Org-wide trace list spanning every project
    • aarch64 Linux builds, signed with SLSA provenance

    Fixed

    • Transaction summary pages took minutes to load on busy projects

    Changed

    Downloads
  • v0.4.6 ca066cfe17

    v0.4.6 Stable

    franz released this 2026-09-19 06:57:36 +00:00 | 5 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Added

    • Page footer showing the release version and copyright

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

    Downloads
  • v0.4.5 c8e42396f2

    v0.4.5 Stable

    franz released this 2026-09-18 16:20:53 +00:00 | 7 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Added

    • Trace page showing every project on a trace, not just one
    • Project legend and a ?projects= filter on the trace page
    • Per-project trace pages link to the full trace when other projects appear on it

    Fixed

    • Pasting the id of a trace that spans several projects fell through to the event list
    • Trace ids that were not a full 32 hex characters rendered a page instead of a 404

    Changed

    • Transactions store their span id, parent span id and start time as columns

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

    Downloads
  • v0.4.4 506a74bd29

    v0.4.4 Stable

    franz released this 2026-09-17 04:24:44 +00:00 | 11 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Security

    • Updated rustls for RUSTSEC-2026-0285

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

    Downloads
  • v0.4.3 605edde868

    v0.4.3 Stable

    franz released this 2026-09-16 16:01:37 +00:00 | 13 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Changed

    • Stylesheets and scripts are served compressed

    Fixed

    • Fonts, stylesheets and scripts were refetched on every page load

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

    Downloads
  • v0.4.2 a8e4634753

    v0.4.2 Stable

    franz released this 2026-09-12 07:55:26 +00:00 | 15 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Added

    • Time range filter on spans, replays, client reports, logs, profiles and user reports

    Fixed

    • The default time range was ignored on transactions, release health and releases
    • Bulk "delete selected" never submitted the ticked rows on events, client reports, user reports and monitor check-ins
    • Picking "All time" reverted to the default time range when paging

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

    Downloads
  • v0.4.1 326be4930e

    v0.4.1 Stable

    franz released this 2026-09-06 02:01:09 +00:00 | 18 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Security

    • Issues, discards and tag counts are keyed by project and fingerprint, so a crafted fingerprint collision from one project can no longer rewrite or hide an issue in another. The SQLite migration rebuilds the issues, discarded_fingerprints and issue_tag_values tables; back up your database before upgrading.
    • An invite created for an email address can only be accepted by an account with that verified email
    • The integrations list is owner-only; the URLs it shows are credentials for Slack and most webhooks
    • No-auth loopback mode uses a random per-process CSRF token instead of a constant
    • Unsigned webhook deliveries log only the destination host
    • The container runs as an unprivileged user

    Changed

    • The licence's organisation limit is enforced when creating an organisation or provisioning one from the IdP
    • Admin and web requests time out after five minutes
    • stackpit-bench is built from its own directory (--manifest-path stackpit-bench/Cargo.toml)

    Fixed

    • Aggregation flushes wrote user sketches one row at a time while holding the write lock
    • Profile items were fully parsed on ingest to read a few header fields
    • The issue page ran its reads one after another and recounted events on every render

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

    Downloads
  • v0.4.0 27f9269a37

    v0.4.0 Stable

    franz released this 2026-09-05 06:43:11 +00:00 | 20 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Breaking

    • Existing issue-tracker configuration stops working. A tracker no longer stores an owner/repo (or a GitLab project id) of its own; which repository it files into now comes from the project's repositories, under Project settings → Repositories. Old targets and per-project tracker overrides are not migrated and are no longer read, so issue filing stops until each project has a repository whose URL matches the tracker's forge and host. Set the repository once and it serves both source links and issue filing.
    • The SQLite migration rebuilds the integrations table, which every install has. It brings SQLite in line with PostgreSQL (UNIQUE(org_id, name) plus the missing organisation foreign key) and adds the org-wide routing flag. Back up your database before upgrading.
    • Slack, webhook and issue-tracker integrations now require a commercial license. Existing installs without one keep their configuration and credentials, but delivery through those channels stops on upgrade; each refusal is logged rather than dropped silently. Email alerting — new issues, regressions, thresholds and digests — stays free and is unaffected. A lapsed license keeps delivering for a 30-day grace window and only blocks adding, editing, enabling or testing an integration. Nothing is ever deleted, and everything resumes on renewal. See docs/commercial/integrations.md.

    Taken together, a free install upgrading through this release loses Slack, webhook and tracker integrations and has to reconfigure any tracker it was using.

    Added

    • Integrations can deliver to every project in the organisation, with a per-project exclusion list
    • Each integration has a page showing where it delivers, where it is customised and where it is excluded
    • Email integrations carry a default recipient, used where a project has not set its own
    • Failed notifications are queued and retried for 24 hours, then wait on Settings → Delivery queue to be replayed or discarded
    • Trackers file into any of the project's repositories, and ask when more than one matches
    • Repositories take a forge-type override, for self-hosted instances the hostname can't identify
    • Filed issue links survive deleting their integration, and can be unlinked individually
    • Issue stream: filter by environment (also in the JSON API and MCP)
    • Transaction summary: span breakdown, related issues, and a percentile trend with regression markers
    • Replay list: duration, URL, user, browser/OS and error count
    • Traces table now pages past its first 25 rows
    • Stack traces: runs of library frames collapse behind one control, plus an in-app-only filter, order toggle and per-frame copy
    • Breadcrumbs: bounded scroll area and a category filter

    Changed

    • A repository can carry a stack-path prefix, so a multi-repo project links each frame to the right repository. Once any repository in a project has a prefix, only prefix matching applies and repositories without one stop producing source links.
    • Self-hosted GitHub, Gitea and Forgejo hostnames are detected, repairing source links that were silently missing
    • Durations read 1.59s and 484ms instead of raw milliseconds
    • Every list page offers the same eight time ranges
    • Sidebar, heading and breadcrumb agree on each page's name; the core sections show on every project
    • Sortable columns now look sortable, and the active one is marked
    • Delete all N requires an explicit "select all N matching this filter" step
    • xhr and fetch breadcrumbs read GET https://… [200] instead of showing an empty message

    Fixed

    • A multi-byte character in an event, trace or span id crashed the page it appeared on; ids are now validated at ingest
    • The "All events" and "All releases" pages were empty for users whose active organisation owns no projects
    • Trace waterfall drew the root span full-width regardless of its duration, and the header undercounted spans
    • Issue-stream chart labelled its most recent bucket with the previous day
    • /web/projects/{id}/issues/ returned 404 instead of opening the issue stream
    • Long tag values ran underneath their count badge
    • Issues sharing an exception type were indistinguishable in the list

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

    Downloads
  • v0.3.26 7e102cd5a2

    v0.3.26 Stable

    franz released this 2026-08-04 19:35:57 +00:00 | 29 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Changed

    • Errors differing only by an id, hash or key=123 value now group together

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

    Downloads
  • v0.3.25 e294644e46

    v0.3.25 Stable

    franz released this 2026-08-04 16:31:45 +00:00 | 32 commits to master since this release

    Signed by franz
    GPG key ID: 1B3418BA53820C4C

    Fixed

    • MCP: bearer tokens without an audience claim were accepted
    • MCP: token not-before (nbf) was not validated
    • MCP: openid was missing from the advertised scopes

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

    Downloads