0.13.0 - 2026-09-03
✨ New features
- (backend): Send single daily summary per team by @anupcowkur
- (frontend): Add replay events option to copy AI context by @anupcowkur in #4271
🐛 Bug fixes
- (backend): Group journey aggregates by session to bound memory (#4372) by @detj in #4372
- (backend): Return 404 for a missing app in get app filters (#4361) by @detj in #4361
- (backend): Handle null app columns in app populate (#4360) by @detj in #4360
- (backend): Drop the Products field Autumn doesn't send by @anupcowkur
- (backend): Drop the monthly framing from enterprise usage emails by @anupcowkur
- (backend): Reject self-serve plan changes for enterprise teams by @anupcowkur
- (backend): Follow retention when a bespoke plan is replaced by @anupcowkur
- (backend): Update retention when a plan starts without another ending by @anupcowkur
- (backend): Take the longest plan retention, not the pooled sum by @anupcowkur
- (backend): Count one-off purchases when determining a customer's plan by @anupcowkur
- (backend): Write the sdk config cache after row is update (#4350) by @detj in #4350
- (backend): Expire sdk config cache entries after ttl (#4345) by @detj in #4345
- (backend): Bust stale sdk config cache entries on deploy (#4341) by @detj in #4341
- (backend): Keep sdk config cache in sync with database (#4340) by @detj in #4340
- (backend): Aggregate app journey graph in clickhouse to stop oom (#4324) by @detj in #4324
- (backend): Resolve bespoke plans over an attached free product by @anupcowkur in #4319
- (backend): Set sender display name & drop repeated alert copy (#4304) by @detj in #4304
- (backend): Quote ilike patterns in user defined attr filters (#4302) by @detj in #4302
- (backend): Fail ingest boot when the bus producer is unavailable (#4275) by @detj in #4275
- (backend): Report auth infra failures as 500 not 401 (#4269) by @detj in #4269
- (backend): Distinguish absent
num_codefrom a sent zero (#4274) by @detj in #4274 - (backend): Fatal-only journeys & remove deprecated crash/anr apis (#4262) by @detj in #4262
- (backend): Serialize empty thread frames & threads as arrays (#4264) by @detj in #4264
- (backend): Count only fatal exceptions in metrics & filters (#4257) by @detj in #4257
- (backend): Disallow crawling on public services (#4250) by @detj in #4250
- (backend): Pin ingest-worker pubsub ack lease (#4240) by @detj in #4240
- (backend): Double close panic in cleanup service (#4219) by @detj in #4219
- (backend): Set correct content type & encoding for multipart uploads (#4211) by @detj in #4211
- (frontend): Wrap the filter bar to its own line before growing down by @anupcowkur in #4373
- (frontend): Stop replay controls blanking when a layout capture draws by @anupcowkur in #4357
- (frontend): Say ingestion resumes when the allowance resets by @anupcowkur
- (frontend): Show traces plot loading state immediately on filter change by @anupcowkur in #4317
- (frontend): Let tooltip text fill the tooltip width by @anupcowkur
- (frontend): Disallow crawling on non-canonical deployments (#4253) by @detj in #4253
- (frontend): Fumadocs popover scroll overlap by @anupcowkur
🔨 Misc
- (backend): Migrate app_filters to add patch_id by @anupcowkur
- (backend): Add ota patch filters to bug reports by @anupcowkur in #4343
- (backend): Add ota patch filters to traces by @anupcowkur
- (backend): Update billing info comment by @anupcowkur
- (backend): Add test to decode a full Autumn customer response by @anupcowkur
- (backend): Remove lru cache dead code (#4346) by @detj in #4346
- (backend): Drop final from the span custom key listing by @anupcowkur in #4323
- (backend): Order span custom value suggestions deterministically by @anupcowkur
- (backend): Validate timezone in expression filters by @anupcowkur
- (backend): Note the unbounded custom key discovery scans by @anupcowkur in #4313
- (backend): Correct documentation accuracy (#4268) by @detj in #4268
- (backend): Reduce clickhouse reads in issue common path query by @anupcowkur in #4267
- (backend): Restyle metric lines in Slack daily summary by @anupcowkur in #4263
- (backend): Share slack markdown escapers by @anupcowkur
- (backend): Update daily summary email & slack message by @anupcowkur in #4255
- (backend): Remove unused apis from openapi spec (#4234) by @detj in #4234
- (backend): Drop unused postgres tables (#4232) by @detj in #4232
- (backend): Merge build & test jobs across service workflows (#4221) by @detj in #4221
- (backend): Fold public oci workflow (#4220) by @detj in #4220
- (deps): Bump google.golang.org/grpc in /self-host/sessionator (#4388) by @dependabot[bot] in #4388
- (deps): Bump google.golang.org/grpc in /backend/symboloader (#4387) by @dependabot[bot] in #4387
- (deps): Bump google.golang.org/grpc in /backend/libs (#4386) by @dependabot[bot] in #4386
- (deps): Bump google.golang.org/grpc in /backend/cleanup (#4385) by @dependabot[bot] in #4385
- (deps): Bump google.golang.org/grpc in /backend/alerts (#4384) by @dependabot[bot] in #4384
- (deps): Bump google.golang.org/grpc in /backend/agent (#4383) by @dependabot[bot] in #4383
- (deps): Bump google.golang.org/grpc in /backend/ingest-worker (#4382) by @dependabot[bot] in #4382
- (deps): Bump google.golang.org/grpc in /backend/api (#4381) by @dependabot[bot] in #4381
- (deps): Bump google.golang.org/grpc in /backend/ingest (#4380) by @dependabot[bot] in #4380
- (deps): Bump github.com/moby/go-archive in /backend/testinfra (#4277) by @dependabot[bot] in #4277
- (deps): Bump github.com/moby/go-archive in /backend/ingest-worker (#4276) by @dependabot[bot] in #4276
- (frontend): Open the key picker on the selected key's group by @anupcowkur in #4342
- (frontend): Adjust traces list loading bar spacing by @anupcowkur in #4318
- (frontend): Update crashlytics alternative page by @anupcowkur in #4303
- (frontend): Improve network navigation and search (#4292) by @abhaysood in #4292
- (frontend): Noindex markdown twins & thin api reference pages (#4291) by @detj in #4291
- (frontend): Split llms-full.txt by section by @anupcowkur in #4279
- (frontend): Improve comments in llm md generation code by @anupcowkur
- (frontend): Split llms markdown_generator by output by @anupcowkur
- (frontend): Follow sidebar structure in llms.txt by @anupcowkur
- (frontend): Add test for docs meta.json coverage by @anupcowkur
- (frontend): Adjust attr spacing in error details page by @anupcowkur in #4273
- (frontend): Replace radix toast with base ui toast by @anupcowkur in #4266
- (frontend): Match formatKMB with backend by @anupcowkur in #4259
- (frontend): Adjust logo positionings for better alignment by @anupcowkur in #4248
- (frontend): Add porsche logo to landing page by @anupcowkur
- (frontend): Redirect removed docs feature pages by @anupcowkur in #4247
- (frontend): Replace deleted docs path in proxy comment and tests by @anupcowkur
- (frontend): Remove docs pages whose content moved elsewhere by @anupcowkur
- (frontend): Move app launch metrics docs to top level by @anupcowkur
- (frontend): Move top endpoints section into endpoint patterns docs by @anupcowkur
- (frontend): Delete unused url smoke test by @anupcowkur
- (frontend): Add space between API response code boxes in docs by @anupcowkur in #4244
- (frontend): Upgrade fumadocs by @anupcowkur
- (frontend): Gate marketing attribution capture on consent (#4227) by @detj in #4227
- (frontend): Make filter component flags optional by @anupcowkur in #4209
- (kmp): Prepare sdk release 0.2.0 (#4376) by @abhaysood in #4376
- Migrate journeys to use expression filters by @anupcowkur
- Upgrade commitlint & relax commit message rules (#4370) by @detj in #4370
- Declare exempt encryption for TestFlight (#4356) by @abhaysood in #4356
- Add slow memory leak demo to frank (#4353) by @abhaysood in #4353
- Tighten comments across billing code by @anupcowkur in #4352
- Replace pro upgrade CTAs with contact us for enterprise plans by @anupcowkur in #4344
⚡ Performance
- (backend): Push root version conditions into custom attribute subqueries by @anupcowkur
- (backend): Collapse sibling custom span attr filters into one scan by @anupcowkur
♻️ Refactor
- (backend): Consolidate expression filter implementations by @anupcowkur in #4325
- (backend): Split exprfilter entity.go by concern by @anupcowkur in #4312
- (backend): Build alert messages as channel-neutral plain text by @anupcowkur in #4265
- (frontend): Consolidate the filter page mechanics into one hook by @anupcowkur
📚 Documentation
- (backend): Document sampling rate range in open api spec (#4347) by @detj in #4347
- (frontend): Update legal (#4282) by @detj in #4282
- Fix typo by @anupcowkur
- Fix stale links in README by @anupcowkur
- Point contributor profiles at GitHub by @anupcowkur