| Name | Modified | Size | Downloads / 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/emailclient 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 theList-Unsubscribeheader 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 whenTRACEROOT_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, withspan_kindandstatusvalues interpolated from the core constants so they cannot drift, and thecreate_alerttool names the allowed values. The old test asserted the stale string itself, which is why it passed. (#2547) - The
migrate-clickhouseimage carried two HIGH findings ongolang.org/x/cryptoandx/netinside 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_MODELSfor 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 throughe.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_keyas the run-grouping key; TypeScript SDK flushing, shutdown and top-level model and usage onupdateCurrentSpan; 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.exampleand passed through bydocker-compose.prod.yml:RESEND_API_KEY,RESEND_PRODUCT_TOPIC_ID,TRACEROOT_UPDATES_EMAIL_FROM,TRACEROOT_UPDATES_EMAIL_REPLY_TOandTRACEROOT_UNSUBSCRIBE_TOKEN_SECRETfor the welcome email;TRACEROOT_SIGNUP_SLACK_WEBHOOK_URL,POSTHOG_PERSONAL_API_KEY,POSTHOG_PROJECT_IDandPOSTHOG_API_HOSTfor 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 anddocker-compose.prod.ymlrun it before pods roll. @traceroot/coreexports./emailand@traceroot/slackexports./block-kit.
What's Changed
- docs(tracing): pass model and usage top-level in TS updateCurrentSpan by @Saisharathchandranandnetha in https://github.com/traceroot-ai/traceroot/pull/2330
- fix(docker): build goose against patched golang.org/x/crypto and x/net by @GabrielDrapor in https://github.com/traceroot-ai/traceroot/pull/2531
- chore(ui): keep PostHog links working through the proxy by @lqiu03 in https://github.com/traceroot-ai/traceroot/pull/2521
- docs(typescript-sdk): add flushing and shutdown guidance by @Saisharathchandranandnetha in https://github.com/traceroot-ai/traceroot/pull/2331
- docs(integrations): add required Python packages by @AbdulSamad94 in https://github.com/traceroot-ai/traceroot/pull/2333
- docs(evals): document evaluation_key as the run-grouping key by @Saisharathchandranandnetha in https://github.com/traceroot-ai/traceroot/pull/2451
- docs(cli): document read-only SQL gateway by @AbdulSamad94 in https://github.com/traceroot-ai/traceroot/pull/2356
- docs(byok): document the BYOK model catalog by @Saisharathchandranandnetha in https://github.com/traceroot-ai/traceroot/pull/2376
- docs(integrations): document OpenAI-compatible providers (xAI, Moonshot, Z.AI) by @chiliec in https://github.com/traceroot-ai/traceroot/pull/2352
- docs(tracing): explain data capture controls by @AbdulSamad94 in https://github.com/traceroot-ai/traceroot/pull/2354
- docs(integrations): qualify cost tracking claims by @AbdulSamad94 in https://github.com/traceroot-ai/traceroot/pull/2355
- docs: retitle as the Open Source AI Agent Improvement Platform by @XinweiHe in https://github.com/traceroot-ai/traceroot/pull/2545
- docs(byok): sync the model catalog table with ADAPTER_MODELS by @dark-sorceror in https://github.com/traceroot-ai/traceroot/pull/2544
- feat(core): email client, opt-out token and send record by @lqiu03 in https://github.com/traceroot-ai/traceroot/pull/2505
- feat(ui): notify on sign-up from the user-create hook by @lqiu03 in https://github.com/traceroot-ai/traceroot/pull/2506
- feat(ui): welcome email on sign-up, with opt-out by @lqiu03 in https://github.com/traceroot-ai/traceroot/pull/2507
- docs(alerts): rewrite Alerts as an overview and a rule reference by @lqiu03 in https://github.com/traceroot-ai/traceroot/pull/2549
- fix(agent): describe spans with their real fields and span_kind values by @lqiu03 in https://github.com/traceroot-ai/traceroot/pull/2547
New Contributors
- @chiliec made their first contribution in https://github.com/traceroot-ai/traceroot/pull/2352
Full Changelog: https://github.com/traceroot-ai/traceroot/compare/v1.2.1...v1.2.2