Download Latest Version v1.3.3 - Scoped API keys, terminal-first onboarding source code.zip (15.7 MB) Google Add to Preferred Sources
Home / v1.2.2
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-10-13 6.6 kB
v1.2.2 - Marketing Email Infra source code.tar.gz 2026-10-13 15.1 MB
v1.2.2 - Marketing Email Infra source code.zip 2026-10-13 16.4 MB
Totals: 3 Items   31.5 MB 0

This release adds a sign-up fan-out for the hosted service: a welcome email with one-click opt-out and an optional Slack post for each new account, both off unless configured and never run on self-hosted installs. The in-app agent now describes spans with the real fields and span_kind values, so the alerts it creates match. The ClickHouse migration image is rebuilt against patched Go modules, and the docs gain nine pages across tracing, integrations, BYOK, evals and the CLI.

New Features

Welcome email and sign-up notice

  • A new server-only @traceroot/core/email client sends product mail through Resend's HTTP API with idempotency keys, a product topic so Resend enforces opt-out at send time, and a send record keyed by (user, campaign) so a send can never deliver twice. Every welcome carries the List-Unsubscribe header pair and a token link to /api/email/unsubscribe; the token has no expiry and the secret rotates by comma-separated list. The fan-out runs from the user-create hook only when TRACEROOT_CLOUD=true, skips staff-provisioned users, and never rejects, so a failed arm cannot turn a committed sign-up into an error. An optional Slack incoming webhook posts each registration with the sign-up method, invite status, account count and, with a PostHog personal key, the person's city, device and referrer. SMTP for invites, usage notices and digests is untouched. (#2505, [#2506], [#2507])

Bug Fixes

  • The agent created alerts that could never match. Its system prompt described a schema the product does not have, with span_kind = GENERATION, so an alert it wrote on that filter stayed on No Data. The prompt now lists the real trace and span fields, with span_kind and status values interpolated from the core constants so they cannot drift, and the create_alert tool names the allowed values. The old test asserted the stale string itself, which is why it passed. (#2547)
  • The migrate-clickhouse image carried two HIGH findings on golang.org/x/crypto and x/net inside the goose binary. goose 3.28.0 still pins the vulnerable versions, so the Dockerfile builds it inside a throwaway module that raises both. Same goose version, patched modules. (#2531)
  • The BYOK catalog table in the docs drifted from the code, which turned the Tests workflow red after a docs PR merged without a rebase. The table now matches ADAPTER_MODELS for OpenAI, Anthropic and xAI. (#2544)

Improvements

  • PostHog through the proxy. The init sets ui_host, so the toolbar and links still open PostHog once events route through e.traceroot.ai. (#2521)
  • Docs. Alerts rewritten as an overview plus a rule reference; the BYOK model catalog documented; OpenAI-compatible providers (xAI, Moonshot, Z.AI); required Python packages per integration; cost-tracking claims qualified; data capture controls; the read-only SQL gateway for the CLI; evaluation_key as the run-grouping key; TypeScript SDK flushing, shutdown and top-level model and usage on updateCurrentSpan; and the repo retitled as the Open Source AI Agent Improvement Platform. (#2549, [#2376], [#2352], [#2333], [#2355], [#2354], [#2356], [#2451], [#2331], [#2330], [#2545])

Upgrade notes

  • New optional environment variables, all documented in .env.example and passed through by docker-compose.prod.yml: RESEND_API_KEY, RESEND_PRODUCT_TOPIC_ID, TRACEROOT_UPDATES_EMAIL_FROM, TRACEROOT_UPDATES_EMAIL_REPLY_TO and TRACEROOT_UNSUBSCRIBE_TOKEN_SECRET for the welcome email; TRACEROOT_SIGNUP_SLACK_WEBHOOK_URL, POSTHOG_PERSONAL_API_KEY, POSTHOG_PROJECT_ID and POSTHOG_API_HOST for the Slack post. Leave them unset on a self-hosted install; the fan-out does not run there regardless.
  • One Postgres migration creates email_sends. The Helm hook and docker-compose.prod.yml run it before pods roll.
  • @traceroot/core exports ./email and @traceroot/slack exports ./block-kit.

What's Changed

New Contributors

Full Changelog: https://github.com/traceroot-ai/traceroot/compare/v1.2.1...v1.2.2

Source: README.md, updated 2026-10-13