# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.15.0] - 2026-11-10 ### :sparkles: New features - (**backend**): Render Slack agent charts in-repo by @anupcowkur in #4863 - (**frontend**): Add session replays to the funnels demo by @anupcowkur ### :bug: Bug fixes - (**backend**): Render bold Slack text with asterisks safely by @anupcowkur in #4862 - (**backend**): Harden agent SQL rules & redact JWTs in tool output by @detj in #4860 - (**frontend**): Equalize MCP consent button widths by @detj in #4865 - (**frontend**): Evaluate `isDev` per call in auth cookie helpers by @detj in #4864 ### :hammer: Misc - (**backend**): Report truncated funnel event name results by @anupcowkur - (**backend**): Clarify error categories in the agent schema primer by @anupcowkur in #4849 - (**backend**): Add MCP tool to list profiles by @anupcowkur in #4838 - (**backend**): Include device name in profiles list by @anupcowkur in #4837 - (**backend**): Add MCP tool to list builds by @anupcowkur in #4836 - (**backend**): Align testinfra with dbmate 2.37.0 by @anupcowkur in #4833 - (**backend**): Pass `libs` build context to symboloader image build by @detj in #4800 - (**deps**): Bump the e2e group in /e2e-tests with 4 updates by @dependabot[bot] in #4839 - (**deps**): Bump github.com/AfterShip/clickhouse-sql-parser by @dependabot[bot] - (**deps**): Bump gradle/actions from 3 to 6 by @dependabot[bot] in #4697 - (**deps**): Resolve react native minimatch to 11.x by @adwinross in #4843 - (**deps**): Bump gradle/gradle-build-action from 2 to 3 by @dependabot[bot] in #4698 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace by @dependabot[bot] in #4755 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc by @dependabot[bot] in #4754 - (**deps**): Bump subosito/flutter-action by @dependabot[bot] in #4696 - (**deps**): Bump cloud.google.com/go/pubsub/v2 in /backend/agent by @dependabot[bot] in #4692 - (**deps**): Tidy backend/agent for clickhouse-go v2.50.0 by @detj in #4842 - (**deps**): Bump github.com/ClickHouse/clickhouse-go/v2 by @dependabot[bot] - (**deps**): Bump actions/setup-java from 3 to 6 by @dependabot[bot] in #4699 - (**deps**): Bump the dashboard group by @dependabot[bot] in #4840 - (**deps**): Bump typescript from 5.9.3 to 7.0.2 in /e2e-tests by @dependabot[bot] in #4690 - (**deps**): Bump @types/node from 22.19.19 to 26.6.5 in /e2e-tests by @dependabot[bot] in #4689 - (**deps**): Bump execa from 9.6.1 to 10.1.1 in /e2e-tests by @dependabot[bot] - (**deps**): Bump the e2e group across 1 directory with 7 updates by @dependabot[bot] - (**deps**): Update vulnarable react native and frank app dependancies by @adwinross in #4812 - (**frontend**): Include the profiles hint in the description by @anupcowkur in #4861 - (**frontend**): Constrain empty state content width by @anupcowkur - (**frontend**): Show skeleton rows while event names load by @anupcowkur in #4857 - (**frontend**): Explain how to retry a failed event names load by @anupcowkur - (**frontend**): Wait 500 ms before searching funnel event names by @anupcowkur - (**frontend**): Show when funnel event names are truncated by @anupcowkur - (**frontend**): Filter launch profiles by trigger by @anupcowkur in #4852 - (**frontend**): Standardize chart sizing, spacing, and number formats by @anupcowkur in #4835 - (**frontend**): Add October 2026 what's new blog by @abhaysood in #4834 - (**frontend**): Recapture crash screenshots by @anupcowkur in #4818 - (**frontend**): Use more space on large screens by @anupcowkur - (**frontend**): Move funnel controls into plot toolbars by @anupcowkur - (**frontend**): Fit usage chart on small screens by @anupcowkur - (**frontend**): Stack app thresholds on small screens by @anupcowkur - (**frontend**): Align list and section spacing by @anupcowkur - (**frontend**): Remove hover highlight from team rows by @anupcowkur - (**frontend**): Add app hangs to the sandbox by @anupcowkur in #4802 - Search custom filter keys on the server by @anupcowkur in #4858 - Add device model filters to product entities by @anupcowkur in #4845 - Gzip event batch requests (#4767) by @abhaysood in #4780 - Unref the e2e emulator through execa 10's child process by @abhaysood in #4691 - Format e2e tests with prettier by @abhaysood in #4687 - Hide session replay button when no replay is available by @anupcowkur in #4809 ### :recycle: Refactor - (**backend**): Share crash and handled error SQL conditions by @anupcowkur in #4847 - (**backend**): Remove BugReportDisplay type by @anupcowkur in #4811 - (**frontend**): Split session replay into modules by @anupcowkur in #4804 ### :books: Documentation - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #4866 - Update README.md [skip ci] by @allcontributors[bot] ## [0.14.0] - 2026-11-05 ### :sparkles: New features - (**backend**): Symbolicate and group android native crashes (#4615) by @abhaysood - (**backend**): Ingest and query app hangs by @adwinross - (**backend**): Show reporter user id in bug report alerts by @anupcowkur in #4600 - (**backend**): Add profiles api (#4550) by @abhaysood - (**backend**): Parse and group ANR thread dumps (#4542) by @abhaysood - (**backend**): Add memory filters and share device memory tiers by @abhaysood - (**backend**): Ingest and query memory monitoring data (#4477) by @abhaysood - (**frontend**): Show native crashes and document them (#4615) by @abhaysood in #4615 - (**frontend**): Show app hangs in session timeline by @adwinross in #4577 - (**frontend**): Restyle charts by @anupcowkur in #4576 - (**frontend**): Add profiles page (#4550) by @abhaysood - (**frontend**): Show ANR thread dumps and update docs (#4542) by @abhaysood in #4542 - (**frontend**): Show Dashboard in marketing CTAs when signed in by @anupcowkur in #4533 - (**frontend**): Add empty states across dashboard pages by @anupcowkur in #4530 - (**frontend**): Use info icon for memory breadcrumb by @abhaysood - (**frontend**): Move memory app state into the filter bar by @abhaysood - (**frontend**): Query common path only on user request by @anupcowkur in #4522 - (**frontend**): Rework markdown content negotiation for agents by @anupcowkur in #4505 - (**frontend**): Add sandbox by @anupcowkur in #4497 - (**frontend**): Add memory monitoring dashboard and controls (#4477) by @abhaysood in #4477 - (**frontend**): Add error session replay and sampling adaptive config (#4355) by @abhaysood in #4355 - (**kmp**): Add shake to report API by @abhaysood in #4525 ### :bug: Bug fixes - (**backend**): Pin self-host iggy to 0.7.0 (#4682) by @detj in #4682 - (**backend**): Cap exception & ANR messages at 8 KiB (#4659) by @detj in #4659 - (**backend**): Report correct custom.name length limit by @anupcowkur in #4651 - (**backend**): Symbolicate jvm frames innermost first (#4644) by @abhaysood in #4644 - (**backend**): Renumber app hang clickhouse migrations by @anupcowkur in #4610 - (**backend**): Renumber app hang sdk config migration by @anupcowkur in #4607 - (**backend**): State the requested numbers in agent replies with charts by @anupcowkur in #4546 - (**backend**): Keep filter keys and crash fallback out of agent answers by @anupcowkur - (**backend**): Leave metrics without data out of get_metrics by @anupcowkur - (**backend**): Store unknown memory readings as -1 instead of null (#4541) by @abhaysood in #4541 - (**backend**): Use different dev secrets for access and refresh tokens by @anupcowkur in #4510 - (**backend**): Detect dashboard refresh token reuse by @anupcowkur in #4509 - (**backend**): Allow mcp refresh token reuse within a short window by @anupcowkur - (**backend**): Add missing version label space in errors overview plot by @anupcowkur in #4495 - (**backend**): Expect descending version order in mcp filter values test by @anupcowkur in #4484 - (**backend**): Restart containers when the Iggy client loses its session by @anupcowkur in #4476 - (**backend**): Round the suggestion window start down to the hour by @anupcowkur in #4466 - (**backend**): Expand session arrays with an ARRAY JOIN clause by @anupcowkur - (**backend**): Bind the suggestion window start as a query parameter by @anupcowkur in #4464 - (**backend**): Round crash free percentages instead of rounding up (#4409) by @NotAFlightRisk in #4409 - (**frontend**): Keep dashboard tables readable on narrow screens by @anupcowkur in #4797 - (**frontend**): Stop funnel chart parts flashing on hover by @anupcowkur in #4796 - (**frontend**): Install ca-certificates in dashboard builder stage by @detj in #4793 - (**frontend**): Keep chart tooltips aligned on scroll by @anupcowkur in #4792 - (**frontend**): Show chart tooltips before acting on touch taps by @anupcowkur in #4789 - (**frontend**): Keep chart tooltips inside the window by @anupcowkur in #4788 - (**frontend**): Hide backend URL behind API route handler (#4735) by @detj in #4735 - (**frontend**): Count partial days for usage page in sandbox by @anupcowkur in #4720 - (**frontend**): Tighten the gap between paginator buttons by @anupcowkur in #4673 - (**frontend**): Stop highlighting build rows on hover by @anupcowkur in #4671 - (**frontend**): Stop highlighting table headers on hover by @anupcowkur in #4672 - (**frontend**): Keep app hang filters from the URL on error details by @anupcowkur in #4666 - (**frontend**): Handle error details with no matching events by @anupcowkur - (**frontend**): Use resolved theme for chart colours and theme toggle by @anupcowkur in #4652 - (**frontend**): Fix september blog preview image (#4613) by @abhaysood in #4613 - (**frontend**): Match apps settings error to other settings pages by @anupcowkur in #4608 - (**frontend**): Reset usage page redirect buttons on back navigation by @anupcowkur in #4599 - (**frontend**): Match notification prefs save button to other save buttons by @anupcowkur in #4597 - (**frontend**): Make the sandbox user a developer by @anupcowkur - (**frontend**): Match session replay event marks to pill colours by @anupcowkur in #4586 - (**frontend**): Add gradle plugin step to android onboarding by @anupcowkur - (**frontend**): Remove row hover from memory by device table by @anupcowkur in #4554 - (**frontend**): Stop scrollbar flashing on errors table trend hover by @anupcowkur in #4553 - (**frontend**): Put amber second in the chart palette by @anupcowkur in #4548 - (**frontend**): Remove extra gap after hyphen in plot tooltips by @anupcowkur in #4502 - (**frontend**): Remove extra braces and brackets in errors overview list by @anupcowkur in #4487 - (**frontend**): Keep a filter chip when its operator or key is changed first by @anupcowkur in #4445 - (**frontend**): Keep focus in the value input after changing an operator by @anupcowkur in #4442 - (**frontend**): Keep focus in the value input after picking a filter key by @anupcowkur in #4440 - (**frontend**): Build absolute URLs from the deploy's own origin (#4435) by @detj in #4435 - (**frontend**): Correct social share images & apple touch icon (#4424) by @detj in #4424 - (**frontend**): Cut Custom Range timestamps to the minute by @anupcowkur in #4389 - (**frontend**): Keep a date being edited until the input loses focus by @anupcowkur - (**frontend**): Keep focus in the text editor when the filter is cleared by @anupcowkur - (**frontend**): Do not judge a filter by the previous app's keys by @anupcowkur - (**frontend**): Keep timestamps out of a relative date request by @anupcowkur - (**frontend**): Ignore a pick that leaves the request unchanged by @anupcowkur - (**frontend**): Keep a pick made while a URL write is in flight by @anupcowkur - (**frontend**): Show the custom range the URL carries after Back by @anupcowkur - (**frontend**): Write the URL for an app that has no traces by @anupcowkur - (**frontend**): Make the URL the source of truth for the filter bar by @anupcowkur ### :hammer: Misc - (**backend**): Sync autumn customer name on team rename by @anupcowkur in #4798 - (**backend**): Switch country lookup to IPinfo Lite database by @detj in #4784 - (**backend**): Replace journey sampling with analytics sampling (#4764) by @abhaysood - (**backend**): Remove nonexistent column from events migration by @anupcowkur in #4773 - (**backend**): Add codec to warm_launch.app_visible_uptime by @anupcowkur in #4745 - (**backend**): Add terminated to lifecycle_app.type comment by @anupcowkur in #4744 - (**backend**): Reject out-of-range sdk config values (#4711) by @adwinross in #4711 - (**backend**): Upgrade to clickhouse 26.8 (#4719) by @detj in #4719 - (**backend**): Check go.mod is tidy with `go.work` off (#4718) by @detj in #4718 - (**backend**): Ignore go work sum (#4705) by @detj in #4705 - (**backend**): Bump Go to 1.27.3 (#4646) by @detj in #4646 - (**backend**): Bump Go to 1.27.1 (#4587) by @detj in #4587 - (**backend**): Upgrade clickhouse go driver & other deps (#4580) by @detj in #4580 - (**backend**): Upgrade to clickhouse 26.6 (#4579) by @detj in #4579 - (**backend**): Grade agent eval claims with an llm judge by @anupcowkur - (**backend**): Use installation id for errors user count by @anupcowkur in #4538 - (**backend**): Add memory MCP tools (#4535) by @abhaysood in #4535 - (**backend**): Remove deprecated low_memory event by @abhaysood in #4528 - (**backend**): Add agent evals for answers and compaction by @anupcowkur in #4512 - (**backend**): Remove redundant backend gitignore which is already covered by project one by @anupcowkur in #4511 - (**backend**): Default memory sampling to 0.01% by @abhaysood - (**backend**): Sort version filter suggestions in descending order by @anupcowkur in #4482 - (**backend**): Migrate mcp to 2.0 (#4478) by @anupcowkur in #4478 - (**backend**): Trace filter key and value reads by @anupcowkur - (**backend**): Order filter keys the same way in every entity by @anupcowkur - (**backend**): Simplify filters by @anupcowkur - (**backend**): Remove the legacy filter code by @anupcowkur in #4472 - (**backend**): Add configurable concurrent Iggy processing (#4311) by @chaoliextern in #4311 - (**deps**): Bump eslint from 9.39.4 to 10.13.0 in /frontend/dashboard by @dependabot[bot] in #4759 - (**deps**): Bump the dashboard group across 1 directory with 5 updates by @dependabot[bot] in #4766 - (**deps**): Hold dashboard typescript at 5.x by @anupcowkur in #4756 - (**deps**): Bump msw from 2.13.2 to 3.0.3 in /frontend/dashboard by @dependabot[bot] - (**deps**): Bump lottie-react in /frontend/dashboard by @dependabot[bot] - (**deps**): Bump lucide-react in /frontend/dashboard by @dependabot[bot] in #4752 - (**deps**): Bump the dashboard group by @dependabot[bot] in #4748 - (**deps**): Update dependabot assignees by @anupcowkur in #4747 - (**deps**): Bump undici from 6.28.1 to 8.12.2 in /frontend/dashboard by @dependabot[bot] - (**deps**): Bump @c15t/scripts in /frontend/dashboard by @dependabot[bot] in #4704 - (**deps**): Bump next by @dependabot[bot] in #4728 - (**deps**): Bump @testing-library/jest-dom in /frontend/dashboard by @dependabot[bot] in #4701 - (**deps**): Bump the dashboard group across 1 directory with 39 updates by @dependabot[bot] - (**deps**): Bump github.com/valkey-io/valkey-go in /backend/agent (#4730) by @dependabot[bot] in #4730 - (**deps**): Bump go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin (#4731) by @dependabot[bot] in #4731 - (**deps**): Tidy go modules & refresh indirect deps (#4742) by @detj in #4742 - (**deps**): Bump github.com/go-jose/go-jose/v4 (#4741) by @dependabot[bot] in #4741 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/ingest (#4740) by @dependabot[bot] in #4740 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/symboloader (#4737) by @dependabot[bot] in #4737 - (**deps**): Bump github.com/go-jose/go-jose/v4 (#4736) by @dependabot[bot] in #4736 - (**deps**): Bump github.com/ClickHouse/clickhouse-go/v2 (#4694) by @dependabot[bot] in #4694 - (**deps**): Bump fumadocs-openapi in /frontend/dashboard (#4702) by @dependabot[bot] in #4702 - (**deps**): Bump the dashboard-framework group (#4688) by @dependabot[bot] in #4688 - (**deps**): Bump amacneil/dbmate in /self-host in the self-host group (#4684) by @dependabot[bot] in #4684 - (**deps**): Bump cloud.google.com/go/cloudsqlconn in /backend/agent (#4686) by @dependabot[bot] in #4686 - (**deps**): Bump github.com/go-analyze/charts in /backend/agent (#4695) by @dependabot[bot] in #4695 - (**deps**): Bump the root-tooling group with 3 updates (#4685) by @dependabot[bot] in #4685 - (**deps**): Bump esbuild from 0.28.0 to 0.28.2 in /e2e-tests (#4675) by @dependabot[bot] in #4675 - (**deps**): Bump sharp from 0.35.4 to 0.35.5 in /frontend/dashboard (#4618) by @dependabot[bot] in #4618 - (**deps**): Bump source-map-js in /frontend/dashboard (#4617) by @dependabot[bot] in #4617 - (**deps**): Bump github actions to latest majors (#4588) by @detj in #4588 - (**deps**): Bump dompurify from 3.4.14 to 3.4.16 in /frontend/dashboard (#4574) by @dependabot[bot] in #4574 - (**deps**): Bump fast-uri from 3.1.7 to 3.1.8 in /frontend/dashboard (#4572) by @dependabot[bot] in #4572 - (**deps**): Bump brace-expansion in /frontend/dashboard (#4571) by @dependabot[bot] in #4571 - (**deps**): Bump next from 16.3.4 to 16.3.8 in /frontend/dashboard (#4570) by @dependabot[bot] in #4570 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4569) by @dependabot[bot] in #4569 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4568) by @dependabot[bot] in #4568 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp (#4567) by @dependabot[bot] in #4567 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4566) by @dependabot[bot] in #4566 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp (#4565) by @dependabot[bot] in #4565 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4562) by @dependabot[bot] in #4562 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4563) by @dependabot[bot] in #4563 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp (#4561) by @dependabot[bot] in #4561 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4560) by @dependabot[bot] in #4560 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp (#4559) by @dependabot[bot] in #4559 - (**deps**): Bump go.opentelemetry.io/otel/sdk in /backend/libs (#4558) by @dependabot[bot] in #4558 - (**deps**): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#4557) by @dependabot[bot] in #4557 - (**deps**): Bump go.opentelemetry.io/otel/sdk in /self-host/sessionator (#4556) by @dependabot[bot] in #4556 - (**deps**): Bump sharp from 0.35.3 to 0.35.4 in /frontend/dashboard (#4460) by @dependabot[bot] in #4460 - (**deps**): Bump next from 16.3.0 to 16.3.4 in /frontend/dashboard (#4459) by @dependabot[bot] in #4459 - (**deps**): Bump google.golang.org/grpc in /backend/ingest (#4458) by @dependabot[bot] in #4458 - (**deps**): Bump google.golang.org/grpc in /backend/api (#4457) by @dependabot[bot] in #4457 - (**deps**): Bump google.golang.org/grpc in /backend/ingest-worker (#4456) by @dependabot[bot] in #4456 - (**deps**): Bump google.golang.org/grpc in /backend/agent (#4455) by @dependabot[bot] in #4455 - (**deps**): Bump google.golang.org/grpc in /backend/alerts (#4454) by @dependabot[bot] in #4454 - (**deps**): Bump google.golang.org/grpc in /backend/cleanup (#4453) by @dependabot[bot] in #4453 - (**deps**): Bump google.golang.org/grpc in /backend/libs (#4452) by @dependabot[bot] in #4452 - (**deps**): Bump google.golang.org/grpc in /backend/symboloader (#4451) by @dependabot[bot] in #4451 - (**deps**): Bump google.golang.org/grpc in /self-host/sessionator (#4450) by @dependabot[bot] in #4450 - (**deps**): Bump dompurify from 3.4.6 to 3.4.14 in /frontend/dashboard (#4399) by @dependabot[bot] in #4399 - (**deps**): Bump fflate from 0.4.8 to 0.4.9 in /frontend/dashboard (#4398) by @dependabot[bot] in #4398 - (**deps**): Bump valibot and @c15t/nextjs in /frontend/dashboard (#4397) by @dependabot[bot] in #4397 - (**deps**): Bump fast-uri from 3.1.5 to 3.1.7 in /frontend/dashboard (#4396) by @dependabot[bot] in #4396 - (**deps**): Bump browserslist in /frontend/dashboard (#4395) by @dependabot[bot] in #4395 - (**deps**): Bump lodash from 4.17.21 to 4.18.1 in /frontend/dashboard (#4394) by @dependabot[bot] in #4394 - (**deps-dev**): Bump brace-expansion from 5.0.6 to 5.0.12 in /e2e-tests (#4674) by @dependabot[bot] in #4674 - (**deps-dev**): Bump undici in /frontend/dashboard (#4573) by @dependabot[bot] in #4573 - (**deps-dev**): Bump js-yaml in /frontend/dashboard (#4461) by @dependabot[bot] in #4461 - (**deps-dev**): Bump undici in /frontend/dashboard (#4400) by @dependabot[bot] in #4400 - (**frontend**): Replace journey with analytics sampling (#4764) by @abhaysood in #4764 - (**frontend**): Upgrade c15t to v3 by @anupcowkur in #4772 - (**frontend**): Look up markdown twins on disk by @anupcowkur in #4763 - (**frontend**): Remove vercel leftovers by @anupcowkur in #4762 - (**frontend**): Build dashboard on pull requests by @anupcowkur in #4761 - (**frontend**): Run MSW integration tests on msw 3 by @anupcowkur in #4751 - (**frontend**): Move landing hero to lottie-react 3 API by @anupcowkur in #4750 - (**frontend**): Add MessagePort to jest fetch polyfill by @anupcowkur in #4703 - (**frontend**): Format with prettier 3.9.10 by @anupcowkur in #4732 - (**frontend**): Remove dialog test page by @anupcowkur in #4677 - (**frontend**): Add introductory blog for funnels by @anupcowkur in #4676 - (**frontend**): Use a download icon on the builds page by @anupcowkur in #4670 - (**frontend**): Specify which page each view event came from by @anupcowkur in #4663 - (**frontend**): Replace deprecated form event handler types by @anupcowkur in #4658 - (**frontend**): Shorten profiles filter bar placeholder by @anupcowkur in #4657 - (**frontend**): Retitle docs introduction page by @anupcowkur in #4655 - (**frontend**): Restyle usage page plan cards by @anupcowkur in #4598 - (**frontend**): Darken light mode accent and muted text by @anupcowkur in #4596 - (**frontend**): Restyle pricing plan cards by @anupcowkur in #4595 - (**frontend**): Update pricing calculator for sdk config options by @anupcowkur in #4594 - (**frontend**): Add September 2026 what's new blog by @abhaysood in #4581 - (**frontend**): Add app_launch trace to the sandbox by @anupcowkur in #4549 - (**frontend**): Increase session replay bottom padding by @anupcowkur in #4547 - (**frontend**): Cancel link navigation in the Get Started link test by @anupcowkur in #4539 - (**frontend**): Noindex API URLs instead of disallowing them by @anupcowkur in #4534 - (**frontend**): Remove unused beta badge popup by @abhaysood in #4508 - (**frontend**): Update common path request copy by @anupcowkur in #4524 - (**frontend**): Hide divider under expanded stack traces by @anupcowkur in #4523 - (**frontend**): Move common path after stacktraces by @anupcowkur - (**frontend**): Noindex auth pages instead of disallowing them by @anupcowkur in #4503 - (**frontend**): Change "Get Started For Free" to "Get Started" in CTAs by @anupcowkur in #4501 - (**frontend**): Update memory loading state and attr description (#4488) by @abhaysood in #4488 - (**frontend**): Refine Android memory blog explanations by @abhaysood in #4485 - (**frontend**): Add Android memory monitoring blog by @abhaysood - (**frontend**): Match dashboard sidebar spacing with docs by @anupcowkur in #4481 - (**frontend**): Simplify the filter bar pickers by @anupcowkur in #4475 - (**frontend**): Remove the legacy filter bar by @anupcowkur - (**frontend**): Restore onboarding on the expression filter pages by @anupcowkur in #4471 - (**frontend**): Replace the legacy filter bar on the apps page by @anupcowkur in #4468 - (**frontend**): Drop unused initConfig prop from Onboarding by @anupcowkur - (**frontend**): Keep touch indicators on the correct replay screen (#4436) by @abhaysood in #4436 - (**kmp**): Rename trackHandledException to trackError by @adwinross in #4794 - (**kmp**): Prepare sdk release 0.3.0 by @abhaysood in #4506 - Order backfill replay by `events` sorting key (#4769) by @detj in #4769 - Add weekly releases and jit vs aot blogs (#4680) by @abhaysood in #4680 - Add why android and ios apps crash blog (#4635) by @abhaysood in #4635 - Add dependabot & pin docker image tags (#4681) by @detj in #4681 - Add android trigger-based profiling blog (#4629) by @abhaysood in #4629 - Add anrs on android blog (#4584) by @abhaysood in #4584 - Update September blog (#4585) by @abhaysood in #4585 - Record workspace sums for recent dependency bumps by @anupcowkur in #4575 - Fix android next-version workflow (#4492) by @abhaysood in #4492 - Drop the expr qualifier from the filter code by @anupcowkur in #4473 - Migrate overview to expression filters by @anupcowkur in #4470 - Use SPDX license name & valid distribution in sdk packages (#4462) by @detj in #4462 - Migrate errors and details pages to expression filters by @anupcowkur in #4467 - Record workspace sums for the grpc dependency bumps by @anupcowkur in #4465 - Migrate session replays to expr filter by @anupcowkur in #4441 - Migrate network to expression filters by @anupcowkur in #4427 - Migrate alerts to expression filters by @anupcowkur in #4417 ### :zap: Performance - (**backend**): Replay `analytics_events` backfill by day (#4775) by @detj in #4775 - (**backend**): Read value suggestions from raw tables for 30 days only by @anupcowkur in #4446 ### :recycle: Refactor - (**frontend**): Remove refs that stop view events repeating by @anupcowkur in #4661 - (**frontend**): Export the journeys demo as its own component by @anupcowkur in #4425 - (**frontend**): Keep expr filter state in the URL only by @anupcowkur in #4407 ### :books: Documentation - (**frontend**): Simplify v0.14.x self-host migration steps by @detj in #4799 - (**frontend**): Add minimum compose ui version for android by @abhaysood in #4715 - Clarify spike thresholds are defaults by @anupcowkur in #4779 - Add expo release step to release checklist by @anupcowkur in #4578 - Add gradle plugin step to cross-platform getting started guides by @anupcowkur - Add next steps section to getting started guide by @abhaysood in #4529 - Update MCP docs with tabbed instructions for popular clients by @anupcowkur in #4480 - Point documentation links at website (#4439) by @abhaysood in #4439 - Add new badges on readme (#4411) by @detj in #4411 - Add chaoliextern as a contributor for code, and test (#4412) by @allcontributors[bot] in #4412 - Add NotAFlightRisk as a contributor for code, and test (#4410) by @allcontributors[bot] in #4410 - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #4408 - Update README.md [skip ci] by @allcontributors[bot] - Add quxaa as a contributor for security (#4401) by @allcontributors[bot] in #4401 ## [0.13.0] - 2026-09-03 ### :sparkles: 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: 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_code` from 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 ### :hammer: 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 ### :zap: Performance - (**backend**): Push root version conditions into custom attribute subqueries by @anupcowkur - (**backend**): Collapse sibling custom span attr filters into one scan by @anupcowkur ### :recycle: 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 ### :books: 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 ## [0.12.1] - 2026-08-06 ### :hammer: Misc - (**frontend**): Remove duplicate frontend tests by @anupcowkur in #4207 ### :books: Documentation - (**backend**): Update migration guide (#4208) by @detj in #4208 ## [0.12.0] - 2026-08-06 ### :sparkles: New features ### :bug: Bug fixes - (**backend**): Remove redundant version sql sort (#4206) by @detj in #4206 ### :books: Documentation - (**backend**): Update contributing guide (#4195) by @detj in #4195 - Update builds fetch api spec with patch_version info by @anupcowkur in #4201 - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #4198 - Update README.md [skip ci] by @allcontributors[bot] ## [0.11.0] - 2026-08-06 ### :sparkles: New features - (**backend**): Implement logging (#4021) by @abhaysood - (**backend**): Allow removing owners from their default team by @anupcowkur in #4059 - (**backend**): Enforce clickhouse row-level team isolation policy (#4026) by @detj in #4026 - (**backend**): Support agent questions across multiple apps by @anupcowkur in #4006 - (**backend**): Give agent ability to reply with graphs by @anupcowkur in #3995 - (**backend**): Raise agent turn budget to 25 calls with a forced answer by @anupcowkur in #3994 - (**backend**): Deliver slack agent events in per-thread order by @anupcowkur in #3992 - (**backend**): Ask for content on slack file attachments by @anupcowkur in #3991 - (**backend**): Link dashboard mentions in agent replies by @anupcowkur in #3990 - (**backend**): Implement agent by @anupcowkur in #3986 - (**backend**): Support OTA symbolication (#3938) by @detj in #3938 - (**backend**): Track app OS names as a single-family set) by @anupcowkur in #3839 - (**backend**): Add unified errors API & react native symbolication support (#3623) by @detj in #3623 - (**backend**): Use autumn for metering and billing by @anupcowkur in #3534 - (**frontend**): Implement session replay by @anupcowkur in #4163 - (**frontend**): Add json-ld structured data to marketing, blog and docs pages by @anupcowkur - (**frontend**): Add blog by @anupcowkur in #4075 - (**frontend**): Implement logging (#4021) by @abhaysood - (**frontend**): Move docs to fumadocs by @anupcowkur in #4035 - (**frontend**): Update docs ui by @anupcowkur in #4011 - (**frontend**): Add KMP logo to supported platforms (#3953) by @abhaysood in #3953 - (**frontend**): Add KMP onboarding (#3952) by @abhaysood in #3952 - (**frontend**): Add manual input to pricing calculator by @anupcowkur in #3944 - (**frontend**): Add platform pages by @anupcowkur in #3934 - (**frontend**): Copy ai context as markdown with more details by @anupcowkur in #3807 - (**frontend**): Capture and show label and semantic label for gestures (#3788) by @abhaysood in #3788 - (**frontend**): Move info text to info tooltips by @anupcowkur in #3778 - (**frontend**): Add 3d view for layout snapshots by @anupcowkur in #3761 - (**frontend**): Update light & dark themes by @anupcowkur - (**frontend**): Update trace ui by @anupcowkur - (**frontend**): Consolidate crashes and ANRs into Errors page by @anupcowkur - (**frontend**): Update filters ui by @anupcowkur in #3653 - (**frontend**): Serve markdown for marketing & docs pages to agents by @anupcowkur in #3621 - (**frontend**): Add onboarding flow by @anupcowkur in #3613 - (**frontend**): Make dashboard header sticky on scroll by @anupcowkur in #3489 - (**kmp**): Implement logging (#4021) by @abhaysood - (**kmp**): Implement KMP sdk (#3503) by @abhaysood in #3503 ### :bug: Bug fixes - (**backend**): Escape user-supplied values in email HTML by @anupcowkur in #4193 - (**backend**): Add misssing authz check in app retention fetch by @anupcowkur in #4191 - (**backend**): Fail fast on unreachable valkey at boot (#4162) by @detj in #4162 - (**backend**): Map mcp oauth cb errors to proper status codes (#4161) by @detj in #4161 - (**backend**): Symboloader dedup gate `patch_id` failure (#4124) by @detj in #4124 - (**backend**): Stream cloud build file downloads with chunked encoding (#4121) by @detj in #4121 - (**backend**): Drop undeliverable slack alerts on channel_not_found by @anupcowkur in #4119 - (**backend**): Only preserve slack channels if same workspace is reconnected by @anupcowkur - (**backend**): Return 409 when slack workspace is taken by another team by @anupcowkur - (**backend**): Preserve slack alert channels on reconnect by @anupcowkur - (**backend**): Exclude session_start-only sessions from list endpoints (#4102) by @detj in #4102 - (**backend**): Return attribute for session_start-only sessions (#4098) by @detj in #4098 - (**backend**): Failing slack auth status test (#4094) by @detj in #4094 - (**backend**): Route network queries through row-policy reader pool (#4047) by @detj in #4047 - (**backend**): Cap error body capture & share middleware across services (#4046) by @detj in #4046 - (**backend**): Store one build_mappings row per extracted artifact (#4041) by @detj in #4041 - (**backend**): Record stored object size for build mappings (#4037) by @detj in #4037 - (**backend**): Rename ios related typo (#4027) by @detj in #4027 - (**backend**): Validate paired version filters in MCP tools by @anupcowkur in #4010 - (**backend**): Change agent tools' version default from latest to all versions by @anupcowkur - (**backend**): Prevent email logo inversion in gmail dark mode by @anupcowkur in #3965 - (**backend**): Adds experimental gmail logo fix by @anupcowkur in #3960 - (**backend**): Restore measure logo png by @anupcowkur in #3957 - (**backend**): Update email url to use webp by @anupcowkur in #3955 - (**backend**): Redact source secrets in symbolicator request logs by @anupcowkur in #3908 - (**backend**): Restrict bug report status updates roles by @anupcowkur in #3897 - (**backend**): Cache autumn billing checks in alerts by @anupcowkur in #3863 - (**backend**): Include message to group js errors (#3865) by @detj in #3865 - (**backend**): Verify slack webhooks by @anupcowkur in #3861 - (**backend**): Fix bug report status description in table comment + code by @anupcowkur in #3859 - (**backend**): Correct p99 quantile level in span_metrics by @anupcowkur in #3855 - (**backend**): Guard against nil team in MCP app resolution by @anupcowkur in #3841 - (**backend**): Return thread_name in error detail responses (#3830) by @abhaysood in #3830 - (**backend**): Per-severity error group counts (#3827) by @detj in #3827 - (**backend**): Accept ipados as a valid os_name value (#3816) by @detj in #3816 - (**backend**): Avoid whole-tuple in query (#3805) by @detj in #3805 - (**backend**): Prevent panic in apple symbolication (#3804) by @detj in #3804 - (**backend**): Send iam auth token for js symbolication (#3799) by @detj in #3799 - (**backend**): Improve js stacktrace appearance (#3791) by @detj in #3791 - (**backend**): Attachment urls were broken in error details (#3743) by @detj in #3743 - (**backend**): Set correct severity for error details (#3725) by @detj in #3725 - (**backend**): Unify severity filter across errorGroups endpoints (#3723) by @detj in #3723 - (**backend**): Handled exceptions were incorrectly grouped (#3708) by @detj in #3708 - (**backend**): Add missing notif pref creation step for new user in mcp auth by @anupcowkur in #3705 - (**backend**): Allow anr source when custom filter is active (#3671) by @detj in #3671 - (**backend**): Resolve issues in error event retrieval (#3664) by @detj in #3664 - (**backend**): Intelligently sort app versions (#3642) by @detj in #3642 - (**backend**): Prevent occasional panic in apple symbolication (#3628) by @detj in #3628 - (**backend**): Group crashes by fingerprint, ignore app version (#3631) by @abhaysood in #3631 - (**backend**): Journey api fails sometimes (#3586) by @detj in #3586 - (**backend**): Preserve casing of app's unique id on onboard (#3542) by @detj in #3542 - (**backend**): App versions may not appear properly sorted (#3540) by @detj in #3540 - (**backend**): Semver version sort was not stable for ios (#3538) by @detj in #3538 - (**backend**): Preserve role name encoding under pgx simple protocol (#3522) by @detj in #3522 - (**backend**): Type & exception field were not being set correctly (#3507) by @detj in #3507 - (**backend**): Use deterministic order in crash & anr list (#3498) by @detj in #3498 - (**backend**): Use correct field names for span attrs by @anupcowkur in #3481 - (**backend**): Handle a symbolication edge case to prevent panics (#3475) by @detj in #3475 - (**backend**): Always fetch fresh mappings to prevent false positives (#3464) by @detj in #3464 - (**backend**): Improve foreground or background session detection (#3459) by @detj in #3459 - (**frontend**): Wrap long text inside dialogs by @anupcowkur in #4194 - (**frontend**): Skip standalone output on Vercel by @anupcowkur in #4187 - (**frontend**): Narrow build file tracing to the dashboard by @anupcowkur - (**frontend**): Keep network timeline readable at wide slider ranges by @anupcowkur in #4182 - (**frontend**): Use canvas chart for network status distribution plot by @anupcowkur in #4181 - (**frontend**): Fix footer blog link by @anupcowkur in #4175 - (**frontend**): Show slack integration state to non-owners on team page by @anupcowkur in #4108 - (**frontend**): Show 404 page for invalid or inaccessible team URLs by @anupcowkur in #4103 - (**frontend**): Treat cancelled fetches as query errors by @anupcowkur in #4097 - (**frontend**): Strip HTML tags iteratively in docs link test by @anupcowkur in #4018 - (**frontend**): Add missing React keys when rendering docs callouts by @anupcowkur - (**frontend**): Make layout snapshot drag work inside demo iframe by @anupcowkur in #3943 - (**frontend**): Strip HTML comments to a fixed point in docs by @anupcowkur in #3907 - (**frontend**): Show error code, meta, and num_code when available by @anupcowkur in #3828 - (**frontend**): Give session timeline events unique React keys by @anupcowkur in #3826 - (**frontend**): Refresh app display after api key rotation by @anupcowkur in #3819 - (**frontend**): Fix dark/light measure logo in docs sidebar by @anupcowkur in #3777 - (**frontend**): Correct docs page TOC anchor links by @anupcowkur in #3774 - (**frontend**): Limit KMB formatting to 2 decimals by @anupcowkur in #3770 - (**frontend**): Hide empty user def attr in session timeline event cell by @anupcowkur in #3748 - (**frontend**): Make layout snapshots visible in light mode by @anupcowkur in #3710 - (**frontend**): Add missing hover accent color to error type filter by @anupcowkur - (**frontend**): Hide errors/anrs pills on error detail page by @anupcowkur - (**frontend**): Drop type/severity/custom filters on error details by @anupcowkur - (**frontend**): Use type=error,anr on filters endpoint for Errors by @anupcowkur - (**frontend**): Forward error filters to group plot endpoint by @anupcowkur - (**frontend**): Match cmd and K sizes in docs search by @anupcowkur - (**frontend**): Remove unused prose-custom class by @anupcowkur - (**frontend**): Expand sidebar docs section when child is open by @anupcowkur in #3633 - (**frontend**): Skip hosting guide on slack error for non cloud users by @anupcowkur - (**frontend**): Hydrate teams cache on create to fix post-nav crash by @anupcowkur in #3622 - (**frontend**): Iterate HTML tag strip to drain nested-tag residue by @anupcowkur in #3617 - (**frontend**): Pin pricing calculator locale and widen slider ranges by @anupcowkur in #3596 - (**frontend**): Restore social preview image on landing pages by @anupcowkur in #3594 - (**frontend**): Block framing to prevent clickjacking by @anupcowkur in #3499 - (**frontend**): Remove overflow-auto from inner main to fix scroll hitch by @anupcowkur in #3488 - (**frontend**): Make journeys panel open only on nodes with issues by @anupcowkur in #3487 - (**frontend**): Reset store before navigation instead of per-page guards by @anupcowkur in #3483 - (**frontend**): Prevent stale router.replace during team switch by @anupcowkur in #3482 - (**frontend**): Fix create app and team dialog issues by @anupcowkur in #3480 - (**frontend**): Update trace viz panel height by @anupcowkur in #3476 ### :hammer: Misc - (**backend**): Upgrade posthog-go to v1.22.0 by @anupcowkur in #4185 - (**backend**): Sync all go dependencies (#4137) by @detj in #4137 - (**backend**): Update go dependencies (#4133) by @detj in #4133 - (**backend**): Delete queued slack alerts when slack connection is removed by @anupcowkur - (**backend**): Pin slack reauth prompts to missing scopes only by @anupcowkur - (**backend**): Add optional patch_version to ota builds (#4078) by @detj in #4078 - (**backend**): Ensure strict team isolation (#4077) by @detj in #4077 - (**backend**): Add max memory limit to agent clickhouse queries by @anupcowkur in #4064 - (**backend**): Make mcp ask_question stateless by @anupcowkur - (**backend**): Enforce one membership per user per team by @anupcowkur - (**backend**): Return 403 or 404 instead of 500 for missing memberships by @anupcowkur - (**backend**): Add comment explaing no email case for SyncBillingEmailOnOwnerExit by @anupcowkur - (**backend**): Validate agent run_sql on a parsed AST by @anupcowkur in #4051 - (**backend**): Format symboloader symsync files (#4049) by @detj in #4049 - (**backend**): Harden agent SQL validator against scope bypasses by @anupcowkur in #4048 - (**backend**): Rename agent LLM env vars (#4045) by @anupcowkur in #4045 - (**backend**): Add ota builds support in sessionator (#4036) by @detj in #4036 - (**backend**): Remove platform attribute usage (#4007) by @detj in #4007 - (**backend**): Add topic guidance to agent system prompt by @anupcowkur in #4003 - (**backend**): Add AGENT_ENABLED flag by @anupcowkur in #4002 - (**backend**): Improve slack app resolution and name the app in replies by @anupcowkur in #3999 - (**backend**): Consume Slack events via push (#3998) by @detj in #3998 - (**backend**): Do not reply to deleted agent slack msgs by @anupcowkur in #3997 - (**backend**): Rename agent origin env var (#3993) by @detj in #3993 - (**backend**): Remove deprecated platform attribute (#3989) by @abhaysood in #3989 - (**backend**): Drop unused config from agent (#3988) by @detj in #3988 - (**backend**): Make agent service deploy ready (#3987) by @detj in #3987 - (**backend**): Modify ota symbolication (#3985) by @detj in #3985 - (**backend**): Change sampling rate defaults for SDK config (#3982) by @abhaysood in #3982 - (**backend**): Add cloud sql iam database authn (#3975) by @detj in #3975 - (**backend**): Drop `patch_id` from `PUT /builds` (#3968) by @detj in #3968 - (**backend**): Extend cleanup to cover all resources (#3954) by @detj in #3954 - (**backend**): Support JSON ingest APIs in record (#3948) by @detj in #3948 - (**backend**): Add `data_exports` postgres table (#3902) by @detj in #3902 - (**backend**): Skip JVM symbolication when no proguard mapping exists by @abhaysood in #3899 - (**backend**): Use docker secrets (#3862) by @detj in #3862 - (**backend**): Make mcp tool description more accurate by @anupcowkur in #3860 - (**backend**): Update mcp tools by @anupcowkur in #3858 - (**backend**): Remove unused schema.sql files by @anupcowkur in #3856 - (**backend**): Limit to 5 event attachments (#3833) by @detj in #3833 - (**backend**): Switch to pgsty minio (#3831) by @detj in #3831 - (**backend**): Upgrade to clickhouse 26.2 (#3808) by @detj in #3808 - (**backend**): Build and use new api for app health plot by @anupcowkur in #3780 - (**backend**): Update email template by @anupcowkur in #3749 - (**backend**): Tidy go modules and prune go.work.sum by @anupcowkur in #3739 - (**backend**): Send user defined attributes in error details (#3738) by @detj in #3738 - (**backend**): Updates posthog versions in dashborard and backend by @anupcowkur in #3737 - (**backend**): Add analytics events by @anupcowkur in #3724 - (**backend**): Updates alerts to use new error page route by @anupcowkur - (**backend**): Update usage of handled (#3689) by @detj in #3689 - (**backend**): Set severity as fatal for anr events (#3687) by @detj in #3687 - (**backend**): Expand session filtering & storage for exception severities (#3685) by @detj in #3685 - (**backend**): Expand severity & error types in app filter (#3663) by @detj in #3663 - (**backend**): Use multi-value error types for session filtering (#3661) by @detj in #3661 - (**backend**): Refactor app filters to use multi-value error types (#3660) by @detj in #3660 - (**backend**): Support muli-value for error & severity filtering (#3659) by @detj in #3659 - (**backend**): Reduce iggy consumer poll interval (#3620) by @detj in #3620 - (**backend**): Use UUID for autumn customer ids by @anupcowkur in #3546 - (**backend**): Support symbolication of iOS system frameworks (#3495) by @detj in #3495 - (**backend**): Switch to bearer token auth for reading gcs symbols (#3509) by @detj in #3509 - (**backend**): Skip all alerts for ingestion blocked teams by @anupcowkur in #3477 - (**backend**): Support stripe trails by @anupcowkur in #3471 - (**backend**): Remove unused env var from symboloader (#3466) by @detj in #3466 - (**backend**): Remove unused file (#3465) by @detj in #3465 - (**backend**): Upgrade symbolicator to newer working version (#3436) by @detj in #3436 - (**backend**): Remove auth gatekeeping (#3437) by @detj in #3437 - (**backend**): Upgrade all go dependencies (#3425) by @detj in #3425 - (**backend**): Add missing additional contexts for docker builds (#3424) by @detj in #3424 - (**backend**): Fix dashboard docker build (#3423) by @detj in #3423 - (**deps**): Bump github.com/quic-go/quic-go in /backend/libs (#4132) by @dependabot[bot] in #4132 - (**deps**): Bump google.golang.org/grpc in /backend/alerts (#4131) by @dependabot[bot] in #4131 - (**deps**): Bump google.golang.org/grpc in /backend/cleanup (#4130) by @dependabot[bot] in #4130 - (**deps**): Bump google.golang.org/grpc in /backend/libs (#4129) by @dependabot[bot] in #4129 - (**deps**): Bump google.golang.org/grpc in /backend/symboloader (#4128) by @dependabot[bot] in #4128 - (**deps**): Bump google.golang.org/grpc in /self-host/sessionator (#4127) by @dependabot[bot] in #4127 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/cleanup (#3531) by @dependabot[bot] in #3531 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/email (#3530) by @dependabot[bot] in #3530 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/api (#3529) by @dependabot[bot] in #3529 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/alerts (#3528) by @dependabot[bot] in #3528 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/billing (#3527) by @dependabot[bot] in #3527 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/metering (#3526) by @dependabot[bot] in #3526 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/ingest-worker (#3525) by @dependabot[bot] in #3525 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/libs (#3524) by @dependabot[bot] in #3524 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/ingest (#3523) by @dependabot[bot] in #3523 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/symboloader (#3521) by @dependabot[bot] in #3521 - (**deps**): Bump github.com/jackc/pgx/v5 in /backend/testinfra (#3520) by @dependabot[bot] in #3520 - (**deps**): Bump github.com/jackc/pgx/v5 in /self-host/sessionator (#3519) by @dependabot[bot] in #3519 - (**frontend**): Upgrade jest to v30 by @anupcowkur in #4190 - (**frontend**): Move the tailwind config into css by @anupcowkur in #4189 - (**frontend**): Drop the top-level sharp dependency by @anupcowkur in #4188 - (**frontend**): Upgrade nextjs to 16.3.0 by @anupcowkur - (**frontend**): Move blog to top level header tab by @anupcowkur in #4186 - (**frontend**): Move posthog config defaults to 2026-06-25 by @anupcowkur - (**frontend**): Upgrade posthog frontend SDKs by @anupcowkur - (**frontend**): Switch to canvas rendering for all line plots by @anupcowkur in #4184 - (**frontend**): Center digits optically in the cost estimator inputs by @anupcowkur in #4183 - (**frontend**): Left-align pricing header to match feature pages by @anupcowkur - (**frontend**): Merge landing highlight boxes into one rounded card by @anupcowkur - (**frontend**): Align footer sections with the new nav structure by @anupcowkur - (**frontend**): Restructure landing nav into product and resources menus by @anupcowkur - (**frontend**): Use canvas charts for network details plots by @anupcowkur - (**frontend**): Update header with more links by @anupcowkur in #4179 - (**frontend**): Resolve tailwind lint warnings by @anupcowkur in #4178 - (**frontend**): Improve mobile layouts by @anupcowkur in #4177 - (**frontend**): Update improve docs CTA spacing by @anupcowkur in #4174 - (**frontend**): Add twitter card tags to docs and marketing pages by @anupcowkur in #4168 - (**frontend**): Update toast colours to match theme by @anupcowkur in #4167 - (**frontend**): Update cta to "Get Started For Free" by @anupcowkur in #4164 - (**frontend**): Match docs theme switcher to rest of app by @anupcowkur in #4143 - (**frontend**): Add bluesky & discord links to footer by @anupcowkur in #4142 - (**frontend**): Remove unused anim file by @anupcowkur - (**frontend**): Require site-relative blog cover image paths by @anupcowkur in #4120 - (**frontend**): Remove builds page from side nav by @anupcowkur in #4106 - (**frontend**): Update global error and 404 pages by @anupcowkur in #4099 - (**frontend**): Document 404 for member remove & role change endpoints by @anupcowkur in #4069 - (**frontend**): Update agent demo with repro steps by @anupcowkur in #4068 - (**frontend**): Update the agent demo user name by @anupcowkur in #4065 - (**frontend**): Verify internal docs links resolve by @anupcowkur - (**frontend**): Derive docs test samples instead of hardcoding page names by @anupcowkur - (**frontend**): Remove custom text colours for docs by @anupcowkur in #4013 - (**frontend**): Throw when required env vars are missing by @anupcowkur in #4009 - (**frontend**): Add KMP landing page (#3956) by @abhaysood in #3956 - (**frontend**): Add missing type by @anupcowkur in #3945 - (**frontend**): Rename next.config.js to next.config.mjs by @anupcowkur in #3942 - (**frontend**): Place icons on right of platform page titles by @anupcowkur in #3941 - (**frontend**): Convert png + jpeg to webp by @anupcowkur in #3940 - (**frontend**): Update docs by @anupcowkur in #3939 - (**frontend**): Update measure description by @anupcowkur in #3921 - (**frontend**): Update comparison pages by @anupcowkur in #3918 - (**frontend**): Add expo as separate onboarding tab by @anupcowkur in #3909 - (**frontend**): Remove "soon" from RN landing icon by @anupcowkur in #3905 - (**frontend**): Show RN onboarding tab by @anupcowkur - (**frontend**): Add posthog sourcemap upload for dashboard (#3857) by @detj in #3857 - (**frontend**): Format dashboard with new prettier config by @anupcowkur in #3854 - (**frontend**): Set up prettier formatting for the dashboard by @anupcowkur - (**frontend**): Hide RN onboarding tab by @anupcowkur in #3853 - (**frontend**): Updating react native onboarding snippet by @anupcowkur - (**frontend**): Add alternative pages by @anupcowkur in #3852 - (**frontend**): Hide custom errors toggle by @anupcowkur in #3840 - (**frontend**): Update stacktrace in demo timeline by @anupcowkur in #3802 - (**frontend**): Update colours by @anupcowkur in #3800 - (**frontend**): Upgrade React and NextJs by @anupcowkur in #3795 - (**frontend**): Remove REST apis from docs site by @anupcowkur in #3773 - (**frontend**): Standardise and consolidate tooltips by @anupcowkur in #3772 - (**frontend**): Update layout snapshot tooltip style by @anupcowkur in #3766 - (**frontend**): Show code, num_code, user_def_attribute in error details if present by @anupcowkur in #3745 - (**frontend**): Use yellow tint for handled error pills by @anupcowkur in #3735 - (**frontend**): Show details btn & images for non fatal errors in timelines by @anupcowkur in #3734 - (**frontend**): Update session timeline attrs ui to match trace panel attrs by @anupcowkur in #3693 - (**frontend**): Update disclaimer text style for cross paltform onboarding by @anupcowkur in #3691 - (**frontend**): Extract RN sdk version for onboarding by @anupcowkur - (**frontend**): Disable text selection on pills by @anupcowkur - (**frontend**): Label session timeline events by severity by @anupcowkur - (**frontend**): Update session timeline UI by @anupcowkur - (**frontend**): Add RN steps to onboarding by @anupcowkur - (**frontend**): Split error sessions by severity in timeline filter by @anupcowkur - (**frontend**): Redirect /crashes and /anrs to /errors by @anupcowkur - (**frontend**): Open type popover from errors-types pill click by @anupcowkur - (**frontend**): Consolidate chips into one Pill component by @anupcowkur - (**frontend**): Update bug report status badge by @anupcowkur - (**frontend**): Combine anr+error pills, default to both types by @anupcowkur - (**frontend**): Set error page default to ANRs + Fatal errors by @anupcowkur - (**frontend**): Nest custom only inside type filter popover by @anupcowkur - (**frontend**): Set errors page defaults to fata errors only by @anupcowkur - (**frontend**): Add badges to errors list by @anupcowkur - (**frontend**): Apply more filters only on save by @anupcowkur - (**frontend**): Hide c15t branding by @anupcowkur in #3641 - (**frontend**): Use c15t cookie banner by @anupcowkur in #3640 - (**frontend**): Improve line height comment by @anupcowkur in #3635 - (**frontend**): Improve line heights by @anupcowkur - (**frontend**): Update header star count by @anupcowkur in #3634 - (**frontend**): Show non-blocking msg on no apps in usage by @anupcowkur in #3625 - (**frontend**): Refactor filters by @anupcowkur - (**frontend**): Add highlights to stacktraces & common path by @anupcowkur in #3618 - (**frontend**): Improve docs by @anupcowkur - (**frontend**): Update titles & descriptions for docs + website pages by @anupcowkur in #3616 - (**frontend**): Update crashlytics alternative page description by @anupcowkur in #3608 - (**frontend**): Drop "cloud" in pages by @anupcowkur in #3607 - (**frontend**): Update pricing page copy and tests by @anupcowkur in #3606 - (**frontend**): Use consitent formatting for self host by @anupcowkur in #3605 - (**frontend**): Update landingp page by @anupcowkur in #3604 - (**frontend**): Update why-measure page and tests by @anupcowkur in #3603 - (**frontend**): Add crashlytics alternative page by @anupcowkur in #3602 - (**frontend**): Update social preview image by @anupcowkur in #3595 - (**frontend**): Add reo by @anupcowkur in #3592 - (**frontend**): Remove emojis from description in landing + README by @anupcowkur in #3591 - (**frontend**): Update website and README by @anupcowkur in #3558 - (**frontend**): Integrate leadsy by @anupcowkur in #3551 - (**frontend**): Manage cookie consent in a dedicated provider by @anupcowkur in #3550 - (**frontend**): Unify "Data" line across plan cards by @anupcowkur in #3549 - (**frontend**): Handle enterprise plan display in billing page by @anupcowkur in #3547 - (**frontend**): Use @next/third-parties GTM component by @anupcowkur in #3508 - (**frontend**): Show "Usage & Billing" label on cloud by @anupcowkur in #3502 - (**frontend**): Make session timelines first in features by @anupcowkur in #3501 - (**frontend**): Add Google Tag Manager to website by @anupcowkur in #3500 - (**frontend**): Use breadcrumbs in place of page headings by @anupcowkur in #3496 - (**frontend**): Use skeletons instead of loading spinners by @anupcowkur in #3485 - (**frontend**): Link blog in website header & footer by @anupcowkur in #3484 - (**frontend**): React to team change in filters by @anupcowkur in #3479 - (**frontend**): Use zustand for state management by @anupcowkur in #3470 - (**frontend**): Fix lint error in login page test file by @anupcowkur in #3453 - (**frontend**): Add frontend tests by @anupcowkur in #3447 - (**frontend**): Add docs sidebar tests (#3445) by @anupcowkur in #3445 - (**frontend**): Add missing number utils tests by @anupcowkur in #3444 - (**frontend**): Add tests for data components by @anupcowkur in #3443 - (**frontend**): Remove login page alpha disclaimer by @anupcowkur in #3442 - (**frontend**): Add dashboard tests by @anupcowkur in #3441 - (**frontend**): Add tests for create app & team components by @anupcowkur in #3440 - (**frontend**): Add tests for user_def_attr_selector component by @anupcowkur in #3439 - (**frontend**): Add tests for filters component by @anupcowkur in #3438 - (**frontend**): Add api latency tracking posthog events by @anupcowkur in #3431 - (**kmp**): Make log severity shorthands members of Measure by @abhaysood in #4151 - (**kmp**): Prepare sdk release 0.1.0 (#3959) by @abhaysood in #3959 - (**kmp**): Init submodules in pinned iOS release worktree (#3936) by @abhaysood in #3936 - (**kmp**): Prepare sdk release 0.1.0-alpha.1 (#3935) by @abhaysood in #3935 - (**kmp**): Pin native SDK versions and simplify CI/release (#3933) by @abhaysood in #3933 - (**kmp**): Prepare sdk release 0.1.0-alpha.1 (#3932) by @abhaysood in #3932 - (**kmp**): Update documentation and improve release workflow (#3930) by @abhaysood in #3930 - Show server error messages for test Slack alert failures by @anupcowkur in #4141 - Group mapping files into builds on the builds page by @anupcowkur in #4043 ### :recycle: Refactor - (**backend**): Remove unused code & streamline sessionator (#4034) by @detj in #4034 - (**frontend**): Throw from api fetchers instead of returning status objects by @anupcowkur in #4173 - (**frontend**): Use shared helper for marketing page metadata by @anupcowkur - (**frontend**): Templatize product pages by @anupcowkur - (**frontend**): Refactor onboarding and it's store by @anupcowkur in #3912 - (**frontend**): Rename middleware to proxy for Next 16 by @anupcowkur in #3844 - (**frontend**): Clarify onboarding first-event poll effect by @anupcowkur in #3843 - (**frontend**): Consolidate pill styling by @anupcowkur in #3771 - (**frontend**): Inline errors_type_filter into filters by @anupcowkur - (**frontend**): Switch session filter to type=error,anr by @anupcowkur ### :books: Documentation - (**backend**): Update team isolation in contributing (#4033) by @detj in #4033 - (**backend**): Add usage notes for patch_id (#3793) by @detj in #3793 - (**backend**): Add error fields matrix (#3701) by @detj in #3701 - (**backend**): Update dashboard api docs (#3686) by @detj in #3686 - (**frontend**): Add migration guide for 0.11.x (#4192) by @detj in #4192 - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #4172 - Update README.md [skip ci] by @allcontributors[bot] - Explain self host tradeoffs better by @anupcowkur in #4166 - Update README by @anupcowkur - Split getting started into per-platform pages by @abhaysood in #4067 - Remove old flow/architecture md files by @anupcowkur in #4136 - Document logs feature and configuration (#4021) by @abhaysood - Keep repo file links relative and drop docs backlinks from scripts by @anupcowkur - Move symbol upload instructions to a new Uploading Symbols page by @anupcowkur - Update readme image links by @anupcowkur in #3958 - Add RN support in README by @anupcowkur in #3917 - Consolidate contributing guide into repo root by @anupcowkur in #3798 - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3797 - Update README.md [skip ci] by @allcontributors[bot] - Add ashyyhere as a contributor for maintenance, and doc (#3794) by @allcontributors[bot] in #3794 - Add contribution guidelines and update README link (#3764) by @ashyyhere in #3764 - Update readme screenshots by @anupcowkur in #3768 - Fix broken contribution guide link in README by @anupcowkur in #3704 - Update sdk documentation (#3690) by @abhaysood in #3690 - Update self hosting guidance by @anupcowkur in #3700 - Fix RN title mistake by @anupcowkur - Remove empty line in code snippet by @anupcowkur - Remove FAQ, data retention, contributing and versioning pages by @anupcowkur - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3587 - Update README.md [skip ci] by @allcontributors[bot] - Use screenshots in README by @anupcowkur in #3584 - Add new contributors by @anupcowkur in #3582 - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3580 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3579 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3578 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3577 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3576 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3575 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3574 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3573 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3572 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3571 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3570 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3569 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3568 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3567 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3566 - Update README.md [skip ci] by @allcontributors[bot] - Update .all-contributorsrc [skip ci] by @allcontributors[bot] in #3565 - Update README.md [skip ci] by @allcontributors[bot] ## [0.10.0] - 2026-04-06 ### :sparkles: New features - (**backend**): Implement user notification preferences by @anupcowkur in #3295 - (**backend**): Implement MCP server by @anupcowkur in #3254 - (**backend**): Add ingest service (#3249) by @detj in #3249 - (**backend**): Add error rate spike thresholds prefs & make threshold prefs app specific by @anupcowkur in #3233 - (**backend**): Implement app api key rotation by @anupcowkur in #3188 - (**backend**): Send alerts on bug reports by @anupcowkur in #3183 - (**backend**): Add test Slack alerts by @anupcowkur in #2898 - (**backend**): Add common path for Crashes and ANRs by @anupcowkur in #2894 - (**frontend**): Add network performance tab (#3281) by @abhaysood in #3281 - (**frontend**): Add llms.txt and llms-full.txt by @anupcowkur in #3289 - (**frontend**): Add docs to website by @anupcowkur in #3284 - (**frontend**): Implement dynamic config (#3007) by @abhaysood in #3007 ### :bug: Bug fixes - (**backend**): Handle lost valkey connection while fetching sdk config (#3417) by @detj in #3417 - (**backend**): Panic when dart exceptions is missing (#3414) by @detj in #3414 - (**backend**): Order crash/ANR details by descending timestamp by @anupcowkur in #3393 - (**backend**): Prevent SSRF in proxy attachment and symbol endpoints by @anupcowkur in #3390 - (**backend**): Skip daily snapshots for non-billable teams by @anupcowkur in #3388 - (**backend**): Calculate correct month names for usage chart by @anupcowkur in #3372 - (**backend**): Account for retention in billing meter by @anupcowkur in #3357 - (**backend**): Add missing libs in alerts dockerfile (#3304) by @detj in #3304 - (**backend**): Allow more characters for screen view event (#3301) by @detj in #3301 - (**backend**): Handle panic for unsolvable malformed sdk request (#3278) by @detj in #3278 - (**backend**): Add `team_id` to app retention query in cleanup (#3236) by @detj in #3236 - (**backend**): Journey api would return inaccurate results sometimes (#3213) by @detj in #3213 - (**backend**): Crash/anr groups list api would return inaccurate results sometimes (#3212) by @detj in #3212 - (**backend**): Onboard app synchronously during ingest (#3205) by @detj in #3205 - (**backend**): Populate session attributes for trace only sessions (#3196) by @detj in #3196 - (**backend**): Fix syntax error in migration (#3181) by @detj in #3181 - (**backend**): Migrate ingestion metrics synchronously (#3180) by @detj in #3180 - (**backend**): Update migration for device manufacturer attribute (#3097) by @detj in #3097 - (**backend**): Allow larger values for device manufacturer attribute (#3094) by @detj in #3094 - (**backend**): Issue free metrics would not show for some cases (#3093) by @detj in #3093 - (**backend**): Update migrations for 0.10.x release (#3084) by @abhaysood in #3084 - (**backend**): Support empty filters in certain dashboard apis by @detj in #3043 - (**backend**): Size metrics will fail sometimes (#3035) by @detj in #3035 - (**backend**): Handle panic on invalid exception payload (#3031) by @detj in #3031 - (**backend**): Prevent duplicate sessions on search (#3026) by @detj in #3026 - (**backend**): Improve handling of launch metrics delta nans by @detj in #2985 - (**backend**): Only show sessions having many events (#2979) by @detj in #2979 - (**backend**): Fix broken remember query (#2971) by @detj in #2971 - (**backend**): Some attachments were not getting uploaded (#2967) by @detj in #2967 - (**backend**): Move to async ingestion flow for higher throughput (#2964) by @detj in #2964 - (**backend**): Fix default user auth error on clickhouse 25.8 migration (#2925) by @anupcowkur in #2925 - (**backend**): Avoid long running database transaction during ingest (#2929) by @detj in #2929 - (**backend**): Only use request context till parsing of body in ingest (#2927) by @detj in #2927 - (**backend**): Update last_seen for API key by @anupcowkur in #2903 - (**frontend**): Fix cookie banner privacy policy link by @anupcowkur in #3397 - (**frontend**): Show full date in monthly plot x-axis labels by @anupcowkur in #3387 - (**frontend**): Replace invalid

nesting with

in network overview by @anupcowkur in #3378 - (**frontend**): Render HTML tags in markdown with rehype-raw by @anupcowkur in #3373 - (**frontend**): Fix overlapping text in session timeline (#3313) by @abhaysood in #3313 - (**frontend**): Fix illegible text colour in user profile initials by @anupcowkur in #3279 - (**frontend**): Copy correct api base url based on env variable by @anupcowkur in #3268 - (**frontend**): Fix plot render errors by @anupcowkur in #3207 - (**frontend**): Set posthog blocked status to true by default by @anupcowkur in #3179 - (**frontend**): Handle posthog canary fetch non-200 status case by @anupcowkur in #3177 - (**frontend**): Fix cookie banner issues by @anupcowkur in #3154 - (**frontend**): Fix date filters by @anupcowkur in #3116 - (**frontend**): Suppress theme change hydration warnings by @anupcowkur in #3101 - (**frontend**): Take users to overview page on team change by @anupcowkur in #2885 ### :hammer: Misc - (**backend**): Update production compose.yml (#3421) by @detj in #3421 - (**backend**): Update all workflow dependencies (#3420) by @detj in #3420 - (**backend**): Modify validation of ingest batch size (#3415) by @detj in #3415 - (**backend**): Update root go work (#3412) by @detj in #3412 - (**backend**): Remove unknown file (#3403) by @detj in #3403 - (**backend**): Remove ingestion from api service (#3402) by @detj in #3402 - (**backend**): Update go.mod files again (#3400) by @detj in #3400 - (**backend**): Update go dependencies (#3399) by @detj in #3399 - (**backend**): Add workflow for ingest-worker (#3395) by @detj in #3395 - (**backend**): Update ingest-worker go dependencies (#3394) by @detj in #3394 - (**backend**): Introduce event driven ingestion pipeline via iggy & pub/sub (#3314) by @detj in #3314 - (**backend**): Use attachment size from SDK when available by @anupcowkur in #3385 - (**backend**): Tidy billing deps by @anupcowkur in #3358 - (**backend**): Add more billing tests by @anupcowkur in #3344 - (**backend**): Revert validations for http urls (#3326) by @abhaysood in #3326 - (**backend**): Fix invalid urls in session data (#3322) by @abhaysood in #3322 - (**backend**): Update billing to GB days by @anupcowkur in #3319 - (**backend**): Upgrade to clickhouse v25.12 (#3307) by @detj in #3307 - (**backend**): Add missing libs to alerts in compose.yml (#3305) by @abhaysood in #3305 - (**backend**): Fix migrations & ready for next release (#3288) by @detj in #3288 - (**backend**): Show unit-days used in pro plan by @anupcowkur in #3282 - (**backend**): Remove clickhouse read pool from alerts (#3273) by @detj in #3273 - (**backend**): Remove proxy symbol method from ingest service (#3276) by @detj in #3276 - (**backend**): Reverse proxy urls using recommended api (#3274) by @detj in #3274 - (**backend**): Close readonly connection pool in api service (#3271) by @detj in #3271 - (**backend**): Use clickhouse read pool in api service (#3270) by @detj in #3270 - (**backend**): Add ingest allow check tests to ingest service by @anupcowkur in #3267 - (**backend**): Add session start time attribute to events and spans (#3240) by @abhaysood in #3240 - (**backend**): Add usage threshold banners by @anupcowkur in #3223 - (**backend**): Reset free plan limit to 1M units by @anupcowkur in #3222 - (**backend**): Reduce free plan limit to 1000 for testing by @anupcowkur in #3220 - (**backend**): Remove max_threads setting (#3218) by @detj in #3218 - (**backend**): Replace deprecated async insert to modern alternative (#3217) by @detj in #3217 - (**backend**): Add actor to cloud-deploy dispatch trigger job (#3214) by @detj in #3214 - (**backend**): Implements custom error thresholds by @anupcowkur in #3210 - (**backend**): Use dynamic time groupings for plots by @anupcowkur in #3206 - (**backend**): Update daily summary time range and email by @anupcowkur in #3198 - (**backend**): Update authz roles & UI checks by @anupcowkur in #3189 - (**backend**): Update self-host gitignore (#3187) by @detj in #3187 - (**backend**): Use additional context for inter dependencies in go services (#3156) by @detj in #3156 - (**backend**): Implement cloud billing by @anupcowkur in #3151 - (**backend**): Optimize & improve dashboard read queries (#3139) by @detj in #3139 - (**backend**): Update /usage api response in docs by @anupcowkur in #3108 - (**backend**): Update ingestion metrics by @anupcowkur in #3107 - (**backend**): Update go dependencies (#3098) by @detj in #3098 - (**backend**): Update retention periods by @anupcowkur in #3091 - (**backend**): Add migration guide entry for v0.10.x (#3074) by @abhaysood in #3074 - (**backend**): Sync go.work (#3050) by @detj in #3050 - (**backend**): Update go image tag (#3032) by @detj in #3032 - (**backend**): Handle an invalid payload condition to debug panics (#3029) by @detj in #3029 - (**backend**): Fix a code comment (#2981) by @detj in #2981 - (**backend**): No waiting for background tasks in debug (#2980) by @detj in #2980 - (**backend**): Remove redis command from production compose (#2983) by @detj in #2983 - (**backend**): Integrate with redis-go (#2973) by @abhaysood in #2973 - (**backend**): Improve ingest flow & tracing (#2970) by @detj in #2970 - (**backend**): Set exec bit for postgres init script (#2921) by @detj in #2921 - (**backend**): Set execute bit for clickhouse init script (#2918) by @detj in #2918 - (**backend**): Fix shebang in clickhouse init script (#2916) by @detj in #2916 - (**backend**): Upgrade to latest clickhouse lts version (#1982) by @detj in #1982 - (**backend**): Use correct ddl state for fresh installs (#2914) by @detj in #2914 - (**backend**): Improve robustness of ingestion de-duplication (#2891) by @detj in #2891 - (**backend**): Delete pending alerts older than 24 hours by @anupcowkur in #2902 - (**backend**): Stop Slack channel removal on `channel_not_found` by @anupcowkur in #2900 - (**deps**): Bump go.opentelemetry.io/otel/sdk in /backend/libs (#3411) by @dependabot[bot] in #3411 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/symboloader (#3410) by @dependabot[bot] in #3410 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/cleanup (#3409) by @dependabot[bot] in #3409 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/api (#3408) by @dependabot[bot] in #3408 - (**deps**): Bump github.com/go-jose/go-jose/v4 (#3407) by @dependabot[bot] in #3407 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/libs (#3406) by @dependabot[bot] in #3406 - (**deps**): Bump github.com/go-jose/go-jose/v4 in /backend/ingest (#3405) by @dependabot[bot] in #3405 - (**deps**): Bump github.com/go-jose/go-jose/v4 (#3404) by @dependabot[bot] in #3404 - (**deps**): Bump github.com/modelcontextprotocol/go-sdk (#3401) by @dependabot[bot] in #3401 - (**deps**): Bump google.golang.org/grpc in /self-host/sessionator (#3398) by @dependabot[bot] in #3398 - (**deps**): Bump google.golang.org/grpc in /backend/libs (#3396) by @dependabot[bot] in #3396 - (**deps**): Bump golang.org/x/crypto in /backend/api (#3023) by @dependabot[bot] in #3023 - (**deps**): Bump golang.org/x/crypto in /self-host/sessionator (#3022) by @dependabot[bot] in #3022 - (**deps**): Bump golang.org/x/crypto in /backend/alerts (#3021) by @dependabot[bot] in #3021 - (**deps**): Bump golang.org/x/crypto in /backend/cleanup (#3020) by @dependabot[bot] in #3020 - (**deps**): Bump golang.org/x/crypto in /backend/metering (#3019) by @dependabot[bot] in #3019 - (**deps**): Bump golang.org/x/crypto in /backend/symboloader (#3018) by @dependabot[bot] in #3018 - (**frontend**): Display kv pairs as pills by @anupcowkur in #3418 - (**frontend**): Refactor pricing calculator & add tests by @anupcowkur in #3386 - (**frontend**): Add stripe portal link in usage page by @anupcowkur in #3382 - (**frontend**): Update landing page logos & display by @anupcowkur in #3377 - (**frontend**): Remove http method from generic filters (#3323) by @abhaysood in #3323 - (**frontend**): Reverse proxy all dashboard posthog requests (#3298) by @detj in #3298 - (**frontend**): Add and link slack integration feature doc by @anupcowkur in #3297 - (**frontend**): Remove custom colour override for slack switch by @anupcowkur in #3296 - (**frontend**): Update llms.txt title by @anupcowkur in #3290 - (**frontend**): Update search term dark highlight colour by @anupcowkur in #3286 - (**frontend**): Improve pricing card UI by @anupcowkur in #3280 - (**frontend**): Add test for ingest url fallback display by @anupcowkur in #3266 - (**frontend**): Show subscription info for pro plans by @anupcowkur in #3234 - (**frontend**): Show billing usage progress bar for free plans by @anupcowkur - (**frontend**): Add billing unit explanation to usage page by @anupcowkur - (**frontend**): Remove uneeded filters from api calls by @anupcowkur in #3224 - (**frontend**): Update pricing breakdown labels by @anupcowkur in #3112 - (**frontend**): Change label size of usage pie chart by @anupcowkur in #3111 - (**frontend**): Show combined events in usage by @anupcowkur in #3110 - (**frontend**): Update layout snapshot rendering (#3106) by @abhaysood in #3106 - (**frontend**): Update layout snapshot rendering by @anupcowkur in #3104 - (**frontend**): Disable team name change ui for below admin users by @anupcowkur in #3099 - (**frontend**): Update website by @anupcowkur in #2968 - (**frontend**): Add note to session list about filtering by @anupcowkur in #3049 - (**frontend**): Show size metric with disclaimer on multi app version select by @anupcowkur in #3048 - (**frontend**): Send empty filters when all values are selected by @anupcowkur - (**frontend**): Default to latest app version filter by @anupcowkur in #3034 - (**frontend**): Update next js to 14.2.35 (#3024) by @anupcowkur in #3024 - (**frontend**): Show app size delta using appropriate size units (#2997) by @detj in #2997 - (**frontend**): Handle nan for delta & value separately in launch metrics by @anupcowkur in #2989 - (**frontend**): Rename DangerConfirmationModal to DangerConfirmationDialog by @anupcowkur in #2901 - Add biome config (#3300) by @detj in #3300 ### :zap: Performance - (**backend**): Pre-sign attachment urls async in batches (#3200) by @detj in #3200 - (**backend**): Fetch user defined attribute keys concurrently (#3186) by @detj in #3186 - (**backend**): Improve performance of read queries (#3042) by @detj in #3042 ### :books: Documentation - (**backend**): Update v0.10.x migration guide (#3419) by @detj in #3419 - Update billing flow diagram to include env var by @anupcowkur in #3176 - Add upgrade docs for sdks (#3142) by @abhaysood in #3142 - Update sdk integration guide (#3109) by @abhaysood in #3109 - Clarify http headers collection (#3133) by @abhaysood in #3133 - Update outdated sdk docs (#3004) by @abhaysood in #3004 - Fix placeholder key for API URL (#2896) by @Shabinder in #2896 ## [0.9.2] - 2025-10-30 ### :bug: Bug fixes - (**backend**): Add missing values in daily summary metrics query by @anupcowkur in #2869 - (**backend**): Update daily summary email by @anupcowkur in #2866 - (**backend**): Run cleanup job at the strike of each hour (#2859) by @detj in #2859 - (**backend**): Scheduling of daily & hourly alert jobs (#2854) by @detj in #2854 ### :hammer: Misc - (**backend**): Fix github release create (#2879) by @detj in #2879 - (**backend**): Fix release workflow (#2878) by @detj in #2878 - (**backend**): Correct a code comment (#2872) by @detj in #2872 - (**backend**): Update go dependencies (#2871) by @detj in #2871 - (**backend**): Improve error handling & logging (#2861) by @detj in #2861 - (**deps**): Bump github.com/wneessen/go-mail in /backend/api (#2868) by @dependabot[bot] in #2868 - (**deps**): Bump github.com/wneessen/go-mail in /self-host/sessionator (#2867) by @dependabot[bot] in #2867 - (**deps**): Bump github.com/wneessen/go-mail in /backend/alerts (#2865) by @dependabot[bot] in #2865 ## [0.9.1] - 2025-10-28 ### :bug: Bug fixes - (**backend**): Escape & unescape single quote in user def attr strings (#2843) by @detj in #2843 - (**backend**): Avoid panic when uploading some attachments (#2830) by @detj in #2830 - (**backend**): Enable ScreenView sequential chaining in journey (#2826) by @abhaysood in #2826 - (**backend**): Update measure logo url in email template by @anupcowkur in #2803 ### :hammer: Misc - (**backend**): Remove hierarchical logic from journey (#2835) by @abhaysood in #2835 - (**backend**): Update invite validity to 7 days & show it in email by @anupcowkur in #2840 - (**backend**): Deploy to staging cloud on frontend changes (#2834) by @detj in #2834 - (**frontend**): Update invalid invite copy by @anupcowkur in #2847 - (**frontend**): Only validate invite id if provided by @anupcowkur in #2846 - (**frontend**): Validate invites on login page by @anupcowkur in #2845 - (**frontend**): Hide attachments on fetch failure by @anupcowkur in #2844 - (**frontend**): Fallback to initials on user avatar load failure by @anupcowkur in #2842 - (**frontend**): Remove "Account" title from user avatar menu by @anupcowkur in #2841 - (**frontend**): Fix alpha disclaimer typo by @anupcowkur in #2832 - (**frontend**): Fix landing header button spacing for mobile by @anupcowkur in #2818 - (**frontend**): Reset posthog on redirect to login by @anupcowkur in #2817 - (**frontend**): Make "cloud" -> "Cloud" in alpha disclaimer by @anupcowkur in #2797 ### :books: Documentation - (**backend**): Update self host guide with updated nginx config info (#2821) by @detj in #2821 - (**backend**): Improve messaging (#2819) by @detj in #2819 - (**backend**): Update contribution guide (#2813) by @detj in #2813 - (**backend**): Improve slack integration guide (#2809) by @detj in #2809 ## [0.9.0] - 2025-10-22 ### :sparkles: New features - (**backend**): Implement slack alerts by @anupcowkur in #2646 - (**backend**): Make the project compatible for cloud deployment (#2608) by @detj in #2608 - (**backend**): Add ability to set custom email domain by @anupcowkur in #2465 - (**backend**): Use screen view events to build journey (#2460) by @abhaysood in #2460 ### :bug: Bug fixes - (**backend**): Fix google login for some users (#2795) by @detj in #2795 - (**backend**): Drop and recreate public schema after successful migration (#2750) by @detj in #2750 - (**backend**): Grant sufficient permissions to clickhouse role (#2735) by @detj in #2735 - (**backend**): Cloud fix symbolication (#2733) by @detj in #2733 - (**backend**): Improve concurrency safety of attachment upload operation (#2729) by @detj in #2729 - (**backend**): Grant appropriate permissions for cleanup service (#2720) by @detj in #2720 - (**backend**): Show first available user ID in session timeline by @anupcowkur in #2648 - (**backend**): Correctly load lifecycle app and fragment events (#2638) by @abhaysood in #2638 - (**backend**): Insert metrics asynchronously (#2613) by @detj in #2613 - (**backend**): Update builds upload endpoint in sessionator (#2612) by @detj in #2612 - (**frontend**): Fix journey crash when no nodes found while search text filtering by @anupcowkur in #2650 - (**frontend**): Fix typo by @anupcowkur in #2595 - (**frontend**): Update span display to accomodate large values by @anupcowkur in #2527 - (**frontend**): Prevent span cutoff by @anupcowkur in #2483 - (**frontend**): Select timeline event even when no graph is present by @anupcowkur in #2482 - (**frontend**): Add tick rotation to fix overview sessions vs exceptions graph date overlap by @anupcowkur in #2458 ### :hammer: Misc - (**backend**): Make alerts compatible with cloud (#2783) by @detj in #2783 - (**backend**): Expose posthog environment variables so they become accessible (#2766) by @detj in #2766 - (**backend**): Add smtp related env vars for upgrading users (#2765) by @detj in #2765 - (**backend**): Add newly added slack & posthog env vars (#2761) by @detj in #2761 - (**backend**): Improve clickhouse settings for ingestion (#2749) by @detj in #2749 - (**backend**): Only deploy on staging on backend changes (#2748) by @detj in #2748 - (**backend**): Return attachment URLs for already seen requests (#2746) by @abhaysood in #2746 - (**backend**): Improve symbolicator error logging (#2740) by @abhaysood in #2740 - (**backend**): Make slack creds prompt optional by @anupcowkur in #2739 - (**backend**): Add option to wait for build processing in sessionator (#2738) by @detj in #2738 - (**backend**): Remove unused variable for dashboard service (#2722) by @detj in #2722 - (**backend**): Support json events request (#2710) by @abhaysood in #2710 - (**backend**): Fix postgres connection for all services (#2717) by @detj in #2717 - (**backend**): Pin go version for all services (#2715) by @detj in #2715 - (**backend**): Use go 1.25.0-alpine for api service (#2713) by @detj in #2713 - (**backend**): Implement an allowlist for filtering authentication (#2711) by @detj in #2711 - (**backend**): Dispatch deploy on main push (#2699) by @detj in #2699 - (**backend**): Use attachments for json layout snapshots by @anupcowkur in #2698 - (**backend**): Implement json layout snapshots by @anupcowkur in #2675 - (**backend**): Improve scaling by incorporating learnings from load tests (#2668) by @detj in #2668 - (**backend**): Update daily summary email schedule & header by @anupcowkur in #2622 - (**backend**): Check for alerts at start of every hour by @anupcowkur in #2621 - (**backend**): Implement metering by @anupcowkur in #2591 - (**backend**): Ingest session start event (#2581) by @abhaysood in #2581 - (**backend**): Drop crash + anr groups tables from postgres by @anupcowkur in #2452 - (**backend**): Implement alerts by @anupcowkur in #2418 - (**deps**): Bump form-data from 4.0.2 to 4.0.4 in /frontend/dashboard (#2636) by @dependabot[bot] in #2636 - (**deps**): Bump github.com/ulikunitz/xz in /self-host/sessionator (#2635) by @dependabot[bot] in #2635 - (**frontend**): Update measure logos in website and email by @anupcowkur in #2794 - (**frontend**): Remove console error log by @anupcowkur in #2760 - (**frontend**): Hide cloud actions + messaging in self host by @anupcowkur in #2759 - (**frontend**): Add posthog for analytics and error tracking by @anupcowkur in #2743 - (**frontend**): Update landing copy by @anupcowkur in #2732 - (**frontend**): Update landing & auth pages by @anupcowkur in #2731 - (**frontend**): Always show login button on dashboard homepage (#2708) by @detj in #2708 - (**frontend**): Show api level for Android in crash & anr distribution plots by @anupcowkur in #2596 - (**frontend**): Update milis to human readable display format by @anupcowkur in #2529 - (**frontend**): Improve os name & version display formatting by @anupcowkur in #2500 - (**frontend**): Remove "v" prefix from app version by @anupcowkur in #2499 ### :coffin: Removed - (**backend**): Remove fly deploy (#2721) by @detj in #2721 ### :books: Documentation - (**backend**): Improve slack integration guide (#2791) by @detj in #2791 - (**backend**): Update self host guide (#2764) by @detj in #2764 - (**backend**): Update contribution guide (#2763) by @detj in #2763 - (**backend**): Fix typo and format slack guide (#2736) by @detj in #2736 - (**backend**): Update slack docs by @anupcowkur in #2647 - (**backend**): Update sessionator example config (#2615) by @detj in #2615 - (**backend**): Add faq on updating environment variables (#2484) by @detj in #2484 - Document attribute key restrictions (#2485) by @detj in #2485 - Update configuration options documentation (#2446) by @abhaysood in #2446 ## [0.8.2] - 2025-07-22 ### :hammer: Misc - (**backend**): Brand team invite, removal & role change emails by @anupcowkur in #2422 - (**frontend**): Update landing page videos & flutter availability by @anupcowkur in #2431 - Ignore flutter tags in cliff config (#2440) by @detj in #2440 - Revert unwanted changes to root changelog (#2439) by @detj in #2439 ### :books: Documentation - Update README with flutter support inclusion by @anupcowkur in #2441 - Update README with new feature videos by @anupcowkur in #2432 ## [0.8.1] - 2025-07-15 ### :bug: Bug fixes - (**backend**): Builds api would fail when no mappings present (#2420) by @detj in #2420 ### :hammer: Misc - (**backend**): Upgrade to orhun/git-cliff-action@v4 (#2417) by @detj in #2417 ## [0.8.0] - 2025-07-15 ### :sparkles: New features - (**backend**): Support error in ios handled exceptions by @detj - (**backend**): Add flutter exception symbolication (#2166) by @abhaysood in #2166 - (**backend**): Implement email invites by @anupcowkur in #2091 - (**frontend**): Show ios handled exceptions in session timeline by @detj in #2314 - (**frontend**): Update charts UIs by @anupcowkur in #2178 - (**frontend**): Add collapsible sidebar with submenus by @anupcowkur in #2148 - (**frontend**): Show profile pic of logged in user by @anupcowkur in #2115 - (**frontend**): Show logged in user avatar by @anupcowkur in #2110 ### :bug: Bug fixes - (**backend**): Members were not ordered in a predictable manner (#2246) by @detj in #2246 - (**backend**): Validate & sort by os specific versioning (#2240) by @detj in #2240 - (**backend**): Remove unwanted warning on sessionator record (#2231) by @detj in #2231 - (**backend**): Metrics fetch would fail sometimes (#2191) by @detj in #2191 - (**backend**): Auto rotate compose logs (#2112) by @detj in #2112 - (**backend**): Check user & member role in team member removal, role change, invite resend & invite revoke by @anupcowkur in #2103 - (**backend**): Prevent removal or role change of member in their default team by @anupcowkur in #2071 - (**backend**): Get own team correctly when user is owner of multiple teams by @anupcowkur in #2069 - (**frontend**): Check window before accessing persisted filters by @anupcowkur in #2284 - (**frontend**): Show google login after nonce calculation by @anupcowkur in #2283 - (**frontend**): Fix sidebar inset padding by @anupcowkur in #2224 - (**frontend**): Fix misaligned chevron in dropdown select by @anupcowkur in #2222 - (**frontend**): Fixes selected app version not updating correctly by @anupcowkur in #2190 - (**frontend**): Update member roles after role change by @anupcowkur in #2176 - (**frontend**): Fix tooltip chevron colour by @anupcowkur in #2174 - (**frontend**): Fix sidebar colour by @anupcowkur in #2172 - (**frontend**): Allow concurrent GET requests by @anupcowkur in #2168 - (**frontend**): Fix infinite loop in dropdown select by @anupcowkur in #2163 - (**frontend**): Fix incorrect parsing of url filters by @anupcowkur in #2150 - (**frontend**): Fix error on app name change by @anupcowkur in #2149 - (**frontend**): Add missing css semicolons by @anupcowkur in #2129 - (**frontend**): Fix metadata for social preview links by @anupcowkur in #2122 - (**frontend**): Select first root span available if url span invalid by @anupcowkur in #2119 - (**frontend**): Update filters on ready state change by @anupcowkur in #2116 - (**frontend**): Relaxes cookie restricitions in dev by @anupcowkur in #2096 - (**frontend**): Improve teams error UI on change role & remove member errors by @anupcowkur in #2072 - (**frontend**): Filters not updating on no data/not onboarded states by @anupcowkur in #2066 ### :hammer: Misc - (**backend**): Modify production dashboard compose (#2410) by @detj in #2410 - (**backend**): Reverse proxy all dashbaord apis using nextjs rewrites (#2406) by @detj in #2406 - (**backend**): Update sessionator clean commands by @anupcowkur in #2352 - (**backend**): Add versioning column for bug reports table by @anupcowkur in #2332 - (**backend**): Handle empty dir cases in sessionator (#2329) by @detj in #2329 - (**backend**): Move crash + anr groups to clickhouse by @anupcowkur in #2323 - (**backend**): Improve workflow security (#2255) by @detj in #2255 - (**backend**): Remove unused ios session data (#2254) by @detj in #2254 - (**backend**): Upgrade go dependencies (#2252) by @detj in #2252 - (**backend**): Remove "Own Team Id" from access token by @anupcowkur in #2121 - (**backend**): Delete stale auth sessions in cleanup by @anupcowkur in #2120 - (**backend**): Use cookies to store access + refresh tokens by @anupcowkur in #2064 - (**deps**): Bump golang.org/x/net from 0.37.0 to 0.38.0 in /backend/api (#2127) by @dependabot[bot] in #2127 - (**deps**): Bump golang.org/x/net in /backend/cleanup (#2126) by @dependabot[bot] in #2126 - (**deps**): Bump golang.org/x/net in /self-host/sessionator (#2124) by @dependabot[bot] in #2124 - (**frontend**): Use circle checkbox for multi select dropdown for clearer selected state differentiation by @anupcowkur in #2335 - (**frontend**): Save journey type as part of url by @anupcowkur in #2330 - (**frontend**): Fix typo in bug reports search placeholder by @anupcowkur in #2296 - (**frontend**): Replace journey with sessions graph in overview by @anupcowkur in #2291 - (**frontend**): Organise imports by @anupcowkur in #2281 - (**frontend**): Update positive toast text copy by @anupcowkur in #2280 - (**frontend**): Select new team on team create by @anupcowkur in #2279 - (**frontend**): Show toast on team name change by @anupcowkur in #2278 - (**frontend**): Adjust apps and teams pages UIs by @anupcowkur in #2275 - (**frontend**): Move team creation to dialog by @anupcowkur in #2273 - (**frontend**): Update loading and error states by @anupcowkur in #2265 - (**frontend**): Use loading spinner instead of loading text by @anupcowkur in #2263 - (**frontend**): Move app creation to dialog flow by @anupcowkur in #2261 - (**frontend**): Update integration guide link by @anupcowkur in #2251 - (**frontend**): Update apps page UI by @anupcowkur in #2248 - (**frontend**): Update session mem & cpu graphs by @anupcowkur in #2245 - (**frontend**): Update apps page ui with better section differentiation by @anupcowkur in #2243 - (**frontend**): Reduce loading spinner size by @anupcowkur in #2239 - (**frontend**): Avoid page reload on app name change by @anupcowkur in #2237 - (**frontend**): Avoid table reload during members, roles & invites updates in team page by @anupcowkur in #2236 - (**frontend**): Remove redundant 'rounded-md' in buttons by @anupcowkur in #2233 - (**frontend**): Update teams page UI by @anupcowkur in #2227 - (**frontend**): Add toasts by @anupcowkur in #2226 - (**frontend**): Update positive & negative toast variants by @anupcowkur in #2225 - (**frontend**): Use new alert dialogs and toasts by @anupcowkur in #2211 - (**frontend**): Make table rows links by @anupcowkur in #2208 - (**frontend**): Make metrics card larger in small screens by @anupcowkur in #2206 - (**frontend**): Update metrics UI by @anupcowkur in #2192 - (**frontend**): Update stacktrace bg + line height by @anupcowkur in #2185 - (**frontend**): Update table UIs by @anupcowkur in #2182 - (**frontend**): Update stack trace UI by @anupcowkur in #2180 - (**frontend**): Standardise buttons, links, inputs using Button component and standard styles by @anupcowkur in #2165 - (**frontend**): Update filter pills ui by @anupcowkur in #2162 - (**frontend**): Show filters focus ring only on keyboard nav by @anupcowkur in #2160 - (**frontend**): Update filters ui by @anupcowkur in #2159 - (**frontend**): Use Button component in sidebar by @anupcowkur in #2158 - (**frontend**): Update social preview links metadata by @anupcowkur in #2125 - (**frontend**): Move gsi client script inside google-sign-in component by @anupcowkur in #2123 ### :books: Documentation - (**backend**): Fix incorrect command in contributing guide (#2414) by @detj in #2414 - (**backend**): Add smtp configuration to self host guide (#2412) by @detj in #2412 - (**backend**): Update sdk api documentation by @detj - (**backend**): Update clickhouse migration docs (#2264) by @detj in #2264 - (**backend**): Add low memory note for podman on macos (#2169) by @detj in #2169 - (**backend**): Add faq for nginx conf in self host guide (#2146) by @detj in #2146 - (**backend**): Update self host guide (#2139) by @detj in #2139 - (**backend**): Add banner in contributing (#2101) by @detj in #2101 - Improve SDK documentation (#2256) by @abhaysood in #2256 - Format sdk api docs (#2144) by @detj in #2144 - Add a faqs page in docs (#2141) by @detj in #2141 - Remove defunct command from contribution guide (#2137) by @detj in #2137 - Update github-oauth.md (#2131) by @DominatorVbN in #2131 ## [0.7.0] - 2025-04-15 ### :sparkles: New features - (**frontend**): Handle nav link clicks on same page by @anupcowkur in #2033 - (**frontend**): Update iOS availability on landing page by @anupcowkur in #2006 - (**frontend**): Update landing page with bug reports feature by @anupcowkur in #2003 ### :bug: Bug fixes - (**backend**): Add podman support (#2055) by @detj in #2055 ### :hammer: Misc - (**frontend**): Refactor auth utils to MeasureAuth by @anupcowkur in #2054 - (**frontend**): Save page state using urls by @anupcowkur in #2031 ### :books: Documentation - Update sdk api readme (#2045) by @adwinross in #2045 - Update bug reports feature video from mov to webm by @anupcowkur in #2016 - Update iOS availability in README by @anupcowkur in #2015 - Update README with bug reports feature by @anupcowkur in #2005 ## [0.6.1] - 2025-03-28 ### :bug: Bug fixes - (**backend**): Broken builds api for older android sdks (#1984) by @detj in #1984 ## [0.6.0] - 2025-03-27 ### :sparkles: New features - (**backend**): Symbolicate ttid span classes (#1947) by @detj in #1947 - (**backend**): Integrate new cross-platform symbolicator with ios support (#1800) by @detj in #1800 - (**backend**): Implement bug reports by @anupcowkur in #1815 - (**backend**): Add user defined attrs to spans by @anupcowkur in #1788 - (**backend**): Support dsym mapping type in sessionator (#1774) by @detj in #1774 - (**backend**): Add support for iOS exceptions (#1726) by @detj in #1726 - (**frontend**): Update bug report details desc text size by @anupcowkur in #1856 - (**frontend**): Adjust bug report table text sizes by @anupcowkur in #1855 - (**frontend**): Update website description by @anupcowkur in #1846 - (**frontend**): Show bug reports in session timeline by @anupcowkur in #1833 - (**frontend**): Show user def attrs in bug report details by @anupcowkur in #1832 - (**frontend**): Add build number to session replay attr display by @anupcowkur in #1831 - (**frontend**): Match bug report attr display style with others by @anupcowkur in #1830 - (**frontend**): Rename button to "Close/Re-Open Bug Report" by @anupcowkur in #1828 - (**frontend**): None selection option in filters dropdown by @vunder in #1752 - (**frontend**): Implement ud attr filters by @anupcowkur in #1739 - (**frontend**): Add discord support link to dashboard nav by @anupcowkur in #1715 ### :bug: Bug fixes - (**backend**): Incorrect data backfill script (#1978) by @detj in #1978 - (**backend**): Mismatch and duplicate sessions (#1974) by @detj in #1974 - (**backend**): Filter duplicate ud attribute keys (#1967) by @detj in #1967 - (**backend**): Broken session pagination with user defined attrs (#1948) by @detj in #1948 - (**backend**): Anr exception type was not symbolicated (#1944) by @detj in #1944 - (**backend**): Remove mapping file size validation (#1935) by @detj in #1935 - (**backend**): Fix partial android symbolication (#1933) by @detj in #1933 - (**backend**): Fix a panic during anr symbolication (#1927) by @detj in #1927 - (**backend**): Fix issue with sessionator clean-all flag (#1924) by @detj in #1924 - (**backend**): Fixed an issue where clock_speed validation was failing for iOS (#1907) by @detj in #1907 - (**backend**): Fix errors in sessionator record & ingest (#1902) by @detj in #1902 - (**backend**): Codeql integer conversion error (#1897) by @detj in #1897 - (**backend**): Sessionator would fail deleting objects (#1891) by @detj in #1891 - (**backend**): Svg layout attachments are not visible sometimes (#1777) by @detj in #1777 - (**backend**): Clean up event batches stuck for a long time (#1770) by @detj in #1770 - (**backend**): Only apply span statuses where clause if available by @anupcowkur in #1764 - (**backend**): Query all user defined attributes (#1738) by @detj in #1738 - (**frontend**): Improve crash display for ios (#1916) by @detj in #1916 - (**frontend**): Handle session timeline with no events by @anupcowkur in #1898 - (**frontend**): Handle no events selected case in session timeline by @anupcowkur in #1836 - (**frontend**): Make user def attr dropdown stay in viewport by @anupcowkur in #1784 - (**frontend**): Hide filter pill when no span statuses are selected by @anupcowkur in #1765 - (**frontend**): Set default session type to All by @anupcowkur in #1746 ### :hammer: Misc - (**backend**): Add data backfill for upcoming release (#1977) by @detj in #1977 - (**backend**): Change compose command detection logic (#1962) by @detj in #1962 - (**backend**): Update migration script for seamless migration (#1937) by @detj in #1937 - (**backend**): Support .dylib mapping files in ios (#1914) by @detj in #1914 - (**backend**): Send attachments for more gesture events by @detj - (**backend**): Clean more resources in sessionator (#1899) by @detj in #1899 - (**backend**): Update go deps (#1896) by @detj in #1896 - (**backend**): Update go toolchain version (#1894) by @detj in #1894 - (**backend**): Update ci changelog (#1893) by @detj in #1893 - (**backend**): Rename span api endpoints for consistency by @anupcowkur in #1864 - (**backend**): Refactor event, attachment & span cleanup by @anupcowkur in #1861 - (**backend**): Cleanup stale bug reports by @anupcowkur in #1839 - (**backend**): Tidy sessionator `go.mod` (#1776) by @detj in #1776 - (**backend**): Add sessionator data (#1772) by @adwinross in #1772 - (**backend**): Add lifecycle app type for ios (#1767) by @detj in #1767 - (**backend**): Add `--skip-apps` option (#1744) by @detj in #1744 - (**backend**): Replace email with new user login log by @anupcowkur in #1719 - (**backend**): Sync `go.work.sync` (#1717) by @detj in #1717 - (**backend**): Update go dependencies (#1716) by @detj in #1716 - (**backend**): Update dependencies (#1714) by @detj in #1714 - (**backend**): Log email instead of sending to waitlist by @anupcowkur in #1712 - (**backend**): Support `flutter` & `rn` in cliff config (#1705) by @detj in #1705 - (**backend**): Add new scopes to commitlint (#1703) by @detj in #1703 - (**deps**): Bump github.com/golang-jwt/jwt/v5 in /backend/api (#1964) by @dependabot[bot] in #1964 - (**deps**): Bump cross-spawn from 7.0.3 to 7.0.6 in /frontend/dashboard (#1711) by @dependabot[bot] in #1711 - (**deps**): Bump next from 14.2.13 to 14.2.22 in /frontend/dashboard (#1710) by @dependabot[bot] in #1710 - (**deps**): Bump nanoid from 3.3.7 to 3.3.8 in /frontend/dashboard (#1708) by @dependabot[bot] in #1708 - (**deps**): Bump golang.org/x/crypto in /backend/cleanup (#1707) by @dependabot[bot] in #1707 - (**deps**): Bump golang.org/x/crypto in /backend/api (#1701) by @dependabot[bot] in #1701 - (**frontend**): Update next js to 14.2.26 by @anupcowkur in #1966 - (**frontend**): Render attachments for more gesture events by @detj in #1910 - (**frontend**): Refactor FiltersApiType to FilterSource by @anupcowkur in #1883 - (**frontend**): Upgrade to nivo 0.88 by @anupcowkur in #1880 - (**frontend**): Update to tailwind 4.0 with dashboard container file sync by @anupcowkur in #1870 - (**frontend**): Change font-sans to font-body by @anupcowkur in #1862 - (**frontend**): Refactor details link fetch in session timeline event details by @anupcowkur in #1860 - (**frontend**): Rename session 'replay' to 'timeline' by @anupcowkur in #1859 - (**frontend**): Remove 'font-regular' by @anupcowkur in #1858 - (**frontend**): Rename font variables by @anupcowkur in #1845 - (**frontend**): Add .node-version by @anupcowkur in #1818 - (**frontend**): Update iOS lifecycle events display name by @anupcowkur in #1766 - (**frontend**): Rename "None" to "Clear" by @anupcowkur in #1762 - (**frontend**): Allow unchecking last item in dropdown select if "None" is available by @anupcowkur in #1760 - (**frontend**): Remove "None" for app version selection by @anupcowkur in #1757 - (**frontend**): Update landing page + readme with perf traces by @anupcowkur in #1697 - Add wikipedia sessionator data (#1936) by @adwinross in #1936 - Add wikipedia sessionator data (#1929) by @adwinross in #1929 - Add sessionator data (#1911) by @adwinross in #1911 - Add sessionator data (#1908) by @adwinross in #1908 - Improve automated changelog formatting (#1706) by @detj in #1706 ### :books: Documentation - (**backend**): Update sdk api docs (#1918) by @detj in #1918 - (**backend**): Improve self hosting faq section (#1728) by @detj in #1728 - (**backend**): Address clickhouse high cpu usage (#1727) by @detj in #1727 - Update sdk readme (#1118) by @adwinross in #1118 - Update readme by @anupcowkur in #1699 - (**readme**): Update banner image by @gandharva in #1768 ## [0.5.0] - 2025-01-06 ### :sparkles: New features - (**backend**): Show traces in session timeline by @anupcowkur in #1643 - (**backend**): Ios session timeline (#1624) by @detj in #1624 - (**backend**): Support ios event ingestion (#1587) by @detj in #1587 - (**backend**): Add span support by @anupcowkur in #1559 - (**backend**): Support custom events (#1554) by @detj in #1554 - (**backend**): Support user defined attributes (#1529) by @detj in #1529 - (**frontend**): Add memory usage absolute plot in session timeline (#1625) by @detj in #1625 - (**frontend**): Make whole checkbox container clickable in dropdown select component by @anupcowkur in #1584 - (**frontend**): Show user defined attrs in session timeline by @anupcowkur in #1567 ### :bug: Bug fixes - (**backend**): Log extra info during ingestion failure (#1686) by @detj in #1686 - (**backend**): Duplicate sessions shown in sessions overview (#1668) by @detj in #1668 - (**backend**): Nil pointer dereference in remove apps (#1654) by @detj in #1654 - (**backend**): Dashboard no longer depends on api service (#1653) by @detj in #1653 - (**backend**): Handle large numbers in user defined attributes gracefully (#1644) by @detj in #1644 - (**backend**): Add session id to free text search by @anupcowkur in #1646 - (**backend**): Sessionator ingestion failure (#1622) by @detj in #1622 - (**backend**): Handle checkpoint parsing in GetTrace by @anupcowkur in #1606 - (**backend**): Unexpected shortcodes gets created sometimes (#1603) by @detj in #1603 - (**backend**): Improve ios support (#1599) by @detj in #1599 - (**backend**): Format checkpoints for ingestion by @anupcowkur in #1593 - (**backend**): Make span name query param by @anupcowkur in #1591 - (**backend**): Validate required event & span attributes (#1590) by @detj in #1590 - (**backend**): Discard batch if it contains duplicate event or span ids (#1588) by @detj in #1588 - (**backend**): Filter versions and os versions securely (#1563) by @detj in #1563 - (**frontend**): Handle incorrect http event display in session timeline by @anupcowkur in #1684 - (**frontend**): Show memory usage in mbs in session timeline (#1679) by @detj in #1679 - (**frontend**): Made api key input read only to fix warnings (#1657) by @detj in #1657 - (**frontend**): Check onboarding status after filters api call by @anupcowkur in #1640 - (**frontend**): Fix span sorting & null checkpoints handling by @anupcowkur in #1609 - (**frontend**): Place span durations above bar by @anupcowkur in #1604 - (**frontend**): Retain overflowing span name bg color by @anupcowkur in #1601 - (**frontend**): Round millis to nearest int by @anupcowkur in #1582 - (**frontend**): Fix root span names api call by @anupcowkur in #1571 - (**frontend**): Handle empty user_defined_attrs in session timeline by @anupcowkur in #1569 - (**frontend**): Don't update filters on selectedApp change by @anupcowkur in #1558 ### :hammer: Misc - (**backend**): Remove unneeded log lines (#1687) by @detj in #1687 - (**backend**): Update user defined attributes sample session by @abhaysood in #1666 - (**backend**): Cleanup expired resources (#1655) by @detj in #1655 - (**backend**): Remove all app resources in sessionator (#1647) by @detj in #1647 - (**backend**): Update sessionator example config (#1632) by @detj in #1632 - (**backend**): Add new sessions by @abhaysood in #1405 - (**backend**): Add span limits by @anupcowkur in #1611 - (**backend**): Revert deletion of session data with spans by @abhaysood in #1573 - (**backend**): Support layout_snapshot attachments for gesture click by @abhaysood - (**backend**): Made span queries secure (#1566) by @detj in #1566 - (**backend**): Update sessionator deps (#1553) by @detj in #1553 - (**backend**): Remove unused code (#1545) by @detj in #1545 - (**backend**): Add sample sessions by @abhaysood in #1525 - (**backend**): Ingest low power and thermal throttling attributes by @abhaysood - (**frontend**): Remove "|| null" from empty metrics sample by @anupcowkur in #1693 - (**frontend**): Remove old journey code by @anupcowkur in #1688 - (**frontend**): Remove clarity by @anupcowkur in #1650 - (**frontend**): Clear span statuses in filters by @anupcowkur in #1641 - (**frontend**): Improve custom event ui in session timeline by @anupcowkur in #1618 - (**frontend**): Improve user def attrs spacing by @anupcowkur in #1617 - (**frontend**): Adjust dropdown select popup position & width by @anupcowkur in #1610 - (**frontend**): Remove cursor pointer style by @anupcowkur in #1585 - (**frontend**): Support attachments for gesture click by @abhaysood in #1551 - (**frontend**): Truncate class names in session timeline event titles by @anupcowkur in #1570 - (**frontend**): Delete unused url filters code by @anupcowkur in #1565 ### :recycle: Refactor - (**backend**): Use aws-sdk-go-v2 for object uploads (#1675) by @detj in #1675 ### :books: Documentation - (**backend**): Document short filters api (#1552) by @detj in #1552 - (**backend**): Document rename app api (#1547) by @detj in #1547 ## [0.4.1] - 2024-11-11 ### :bug: Bug fixes - (**backend**): Use specific clickhouse image version (#1517) by @detj in #1517 ### :books: Documentation - (**backend**): Fix typos and missing info (#1513) by @detj in #1513 ## [0.4.0] - 2024-11-07 ### :sparkles: New features - (**backend**): Use short codes for list filters by @anupcowkur in #1476 ### :bug: Bug fixes - (**backend**): Validate limit to not be zero (#1500) by @detj in #1500 - (**backend**): Incorrect pagination when no data (#1499) by @detj in #1499 - (**backend**): Optimize session detail apis and overall loading experience (#1490) by @detj in #1490 - (**frontend**): Handle no data case for sessions list by @anupcowkur in #1496 - (**frontend**): Truncate matched free text by @anupcowkur in #1494 - (**frontend**): Better pagination in session detail (#1491) by @detj in #1491 - (**frontend**): Handle empty attr distributions by @anupcowkur in #1488 ### :hammer: Misc - (**backend**): Add migration guide & script for next version (#1512) by @detj in #1512 - (**backend**): Remove backfilling migrations (#1511) by @detj in #1511 - (**backend**): Change postgres compose config (#1509) by @detj in #1509 - (**backend**): Change index type in sessions table (#1505) by @detj in #1505 - (**backend**): Add skip indexes for sessions table (#1492) by @detj in #1492 - (**frontend**): Set default session type filter to all issues by @anupcowkur in #1481 - (**frontend**): Update landing page exceptions video by @anupcowkur in #1473 - (**frontend**): Standardise paginator UI by @anupcowkur in #1472 - (**frontend**): Cancel in-flight requests by @anupcowkur in #1470 - (**frontend**): Update exceptions landing video by @anupcowkur in #1465 ### :books: Documentation - (**backend**): Document sessions overview list api (#1502) by @detj in #1502 - Update exceptions demo video in README by @anupcowkur in #1474 - Update exceptions demo video in README by @anupcowkur in #1466 ## [0.3.0] - 2024-11-01 ### :sparkles: New features - (**frontend**): Replace exception detail journey with attr distribution plot by @anupcowkur in #1463 - (**frontend**): Add new UI for session replay by @anupcowkur in #1389 - (**frontend**): Persist paginator on master detail nav by @anupcowkur in #1373 - (**frontend**): Add search bar to dropdown component by @anupcowkur in #1370 - (**frontend**): Use sankey graphs for journeys by @anupcowkur in #1343 - (**frontend**): Add filters to urls by @anupcowkur in #1322 ### :bug: Bug fixes - (**backend**): Improve crash/anr detail experience (#1451) by @detj in #1451 - (**backend**): Improve dashboard api response times (#1404) by @detj in #1404 - (**backend**): Occasional runtime panic during ingestion (#1345) by @detj in #1345 - (**backend**): Increase app version character limit (#1342) by @detj in #1342 - (**backend**): Increase thread name character limit (#1341) by @detj in #1341 - (**backend**): Prevent duplicate ingestion of events (#1331) by @detj in #1331 - (**backend**): Improve security posture (#1303) by @detj in #1303 - (**frontend**): Crash detail not showing id (#1453) by @detj in #1453 - (**frontend**): Hot launch metric was incorrectly showing warm launch metric (#1448) by @detj in #1448 - (**frontend**): Some dashboard apis were failing due to lack of url encoding (#1449) by @detj in #1449 - (**frontend**): Handle empty mem/cpu graph in session replay by @anupcowkur in #1436 - (**frontend**): Calculate time diff b/w filtered events by @anupcowkur in #1381 - (**frontend**): Fix nav aside scroll on detail content exceeding screen area by @anupcowkur in #1366 - (**frontend**): Handle empty file/method name by @anupcowkur in #1364 - (**frontend**): Handle empty file/method name for crashes/anrs by @anupcowkur in #1357 - (**frontend**): Limit height of dropdown component by @anupcowkur in #1356 - (**frontend**): Improve exception/anr details plot ui by @anupcowkur in #1350 - (**frontend**): Disable appending filters to URLs by @anupcowkur in #1348 - (**frontend**): Update app name on selected app change by @anupcowkur in #1347 - (**frontend**): Improve security posture (#1305) by @detj in #1305 ### :hammer: Misc - (**backend**): Remove deprecated cliff feature (#1462) by @detj in #1462 - (**backend**): Apply suitable restart policy (#1458) by @detj in #1458 - (**backend**): Add data skipping indexes for fingerprints (#1455) by @detj in #1455 - (**backend**): Prevent db statement leaks (#1318) by @detj in #1318 - (**backend**): Search sessions by screen view by @abhaysood in #1265 - (**backend**): Integrate screen view event with session replay by @abhaysood - (**backend**): Ingest screen view event by @abhaysood - (**backend**): Add screen view sample sessions by @abhaysood - (**frontend**): Improve exception details loading state by @anupcowkur in #1435 - (**frontend**): Update default time filter to last 6 hours by @anupcowkur in #1434 - (**frontend**): Update landing page videos by @anupcowkur in #1412 - (**frontend**): Add loading states by @anupcowkur in #1377 - (**frontend**): Remove legends & add versions in tooltips to exception & sessions overview plots by @anupcowkur in #1374 - (**frontend**): Add loading spinners for plot components by @anupcowkur in #1359 - (**frontend**): Go directly to dashboard if logged in by @anupcowkur in #1355 ### :books: Documentation - (**backend**): Update incorrect json key name (#1363) by @detj in #1363 - Improve spelling in readme (#1460) by @detj in #1460 - Add videos to README by @anupcowkur in #1413 - Add call to action for star to README by @gandharva in #1401 ## [0.2.1] - 2024-09-25 ### :bug: Bug fixes - (**backend**): Crash/anr details instances plot won't load sometimes (#1298) by @detj in #1298 - (**frontend**): Add option to handle no data & not onboarded in filters by @anupcowkur in #1299 ### :books: Documentation - Update release one liner command (#1294) by @detj in #1294 ## [0.2.0] - 2024-09-24 ### :sparkles: New features - (**backend**): Update warm launch schema and duration calculation by @abhaysood - (**backend**): Track email on new user sign in by @anupcowkur in #1270 - (**backend**): Improve session explorer by @anupcowkur in #1218 - (**backend**): Add session explorer with text search filter by @anupcowkur in #1200 - (**frontend**): Add custom error page by @anupcowkur in #1279 - (**frontend**): Add custom 404 page by @anupcowkur in #1276 - (**frontend**): Update tooltips by @anupcowkur in #1266 - (**frontend**): Link to crash/anr details from session replay by @anupcowkur in #1255 - (**frontend**): Add 'Last 6 months' date range option by @anupcowkur in #1252 - (**frontend**): Add detailed filters to crash + anr overview pages by @anupcowkur in #1250 - (**frontend**): Add filter for OS versions by @anupcowkur in #1242 - (**frontend**): Add 'All', 'Latest' options + 'at least 1' enforcement by @anupcowkur in #1238 - (**frontend**): Redesign apps page by @anupcowkur in #1237 ### :bug: Bug fixes - (**backend**): Overview instance plot would not load for some cases (#1288) by @detj in #1288 - (**backend**): Round crash rate metrics to 2 decimal places by @anupcowkur in #1284 - (**backend**): Update warm_launch ingest by @detj - (**backend**): Set warm launch duration threshold to 10s by @abhaysood - (**backend**): Use client timezone for plots by @anupcowkur in #1224 - (**backend**): Round crash and anr contribution percentage to 2 decimal places (#1221) by @detj in #1221 - (**backend**): Addressed ingestion failures related to ip inspection (#1197) by @detj in #1197 - (**backend**): Nil pointer dereference when ingesting `low_memory` events (#1190) by @detj in #1190 - (**frontend**): Hide attachment data in session replay event body by @anupcowkur in #1259 - (**frontend**): Only attempt to show attachments for crashes/anrs in sesion replay by @anupcowkur in #1258 - (**frontend**): Add missing useEffect deps for journey by @anupcowkur in #1230 - (**frontend**): Use whole int left axes for crash + anr instances plots by @anupcowkur in #1219 ### :hammer: Misc - (**backend**): Capture more details in otel traces (#1289) by @detj in #1289 - (**backend**): Add new sessions by @abhaysood in #1268 - (**backend**): Remove compose profile by @detj - (**backend**): Enable sessionator parallel ingest (#1220) by @detj in #1220 - (**backend**): Add os_page_size attribute by @abhaysood in #1211 - (**backend**): Additional log for anomalous cold launch duration (#1199) by @detj in #1199 - (**backend**): Format log line (#1189) by @detj in #1189 - (**backend**): Sessionator `--clean-all` flag (#1187) by @detj in #1187 - (**frontend**): Use selected filters instead of expanded params by @anupcowkur in #1244 - (**frontend**): Fix table column widths and move paginator to top right by @anupcowkur in #1232 - (**frontend**): Refactor filter application to api calls by @anupcowkur in #1229 - (**frontend**): Refactor time utils to have separate functions for human readable datetime, date only and time only by @anupcowkur in #1225 ### :books: Documentation - (**backend**): Add self host upgrade guide (#1291) by @detj in #1291 - (**backend**): Improve sessionator readme (#1188) by @detj in #1188 - Update README.md by @anupcowkur in #1201 - Improved language and formatting for working with databases (#1198) by @detj in #1198 - Update discord link by @anupcowkur in #1169 ## [0.1.1] - 2024-08-31 ### :bug: Bug fixes - (**backend**): Handle no selected versions for app journey & metrics by @anupcowkur in #1158 ## [0.1.0] - 2024-08-30 ### :sparkles: New features - (**frontend**): Add "Copy AI context" button by @anupcowkur in #1092 ### :bug: Bug fixes - (**backend**): Fix incorrect filter query for crash & anr groups by @anupcowkur in #1153 - (**backend**): Proceed with event ingestion on symbolication failure by @anupcowkur in #1134 - (**backend**): Handle exception/anr groups with no events by @anupcowkur in #1098 ### :hammer: Misc - (**backend**): Reorder & cleanup postgres migrations (#1155) by @detj in #1155 - (**backend**): Remove eventIds array from crash + anr groups by @anupcowkur in #1145 - (**backend**): Fix session data (#1141) by @detj in #1141 - (**frontend**): Remove commented code by @anupcowkur in #1150 - (**frontend**): Update landing hero animation by @anupcowkur in #1095 - Update root `package.json` by @detj ### :books: Documentation - Add specific types to numbers in SDK API docs by @abhaysood in #1152 - Fix typo in README by @anupcowkur in #1149 - Update self host guide by @detj - Update contributing guide by @detj - Add code of conduct by @anupcowkur in #1128 - Add PR template by @anupcowkur in #1125 - Add issue template by @anupcowkur in #1122 - Add feature request template by @anupcowkur in #1124 - Add security policy by @anupcowkur in #1113 - Add discord link to README by @anupcowkur in #1112 - Fix formatting (#1094) by @detj in #1094 - Fix broken link by @detj in #1093 - Update self host guide by @detj - Improve self host guide by @detj ## [0.0.1] - 2024-08-20 ### :sparkles: New features - (**backend**): Add stale data cleanup service by @anupcowkur - (**backend**): Improve crash + anr grouping by @anupcowkur in #920 - (**backend**): Add app settings read/write api by @anupcowkur - (**backend**): Add get usage stats api by @anupcowkur - (**backend**): Implement new schema for navigation event by @abhaysood - (**backend**): Migrate to self-hosted postgres by @anupcowkur in #651 - (**backend**): Update alert perfs to be per user per app by @anupcowkur in #647 - (**backend**): Add alert_prefs table with read+write APIs by @anupcowkur - (**backend**): Support http request and response body by @abhaysood - (**backend**): Add navigation event by @abhaysood - (**backend**): Ingest cpu and memory performance metrics by @abhaysood in #258 - (**backend**): Ingest http event by @abhaysood - (**backend**): Remove http_request and http_response events by @abhaysood - (**backend**): Ingest device_locale with ANR & exception by @abhaysood in #223 - (**backend**): Ingest device_locale with resource by @abhaysood - (**backend**): Add network properties to resource by @abhaysood - (**backend**): Track n/w props for ANR & exception by @abhaysood - (**backend**): Ingest network change event by @abhaysood - (**backend**): Ingest cold, warm and hot launch by @abhaysood in #189 - (**backend**): Add new attachment type: android_method_trace by @abhaysood - (**backend**): Ingest cold launch event (#158) by @abhaysood in #158 - (**backend**): Ingest lifecycle events (#134) by @abhaysood in #134 - (**backend**): Upload session attachments (#124) by @detj in #124 - (**backend**): Implement symbolicator with retrace (#126) by @abhaysood in #126 - (**backend**): Add symbolication (#79) by @detj in #79 - (**webapp**): Enable retention period app setting by @anupcowkur - (**webapp**): Add date selection presets to filters by @anupcowkur in #968 - (**webapp**): Update exceptions overview list format by @anupcowkur in #937 - (**webapp**): Show title & description for exception groups by @anupcowkur - (**webapp**): Add base url to apps page by @anupcowkur in #895 - (**webapp**): Add data retention read/write to apps page by @anupcowkur in #891 - (**webapp**): Show usage stats in pie chart by @anupcowkur in #879 - (**webapp**): Add usage stats UI by @anupcowkur in #865 - (**webapp**): Add different colour for handled exceptions in session replay by @anupcowkur in #838 - (**webapp**): Fade out non-path journey nodes on hover by @anupcowkur - (**webapp**): Hightlight path to hovered node in journey by @anupcowkur in #831 - (**webapp**): Persist selected app & dates filters across pages by @anupcowkur in #806 - (**webapp**): Update navigation event title by @abhaysood - (**webapp**): Add screenshots to exception details + session events by @anupcowkur in #783 - (**webapp**): Add custom tooltip for crash/anr group details plot by @anupcowkur in #753 - (**webapp**): Update exceptions overview plot with api data by @anupcowkur - (**webapp**): Add detailed filters support for exception detail journey plot by @anupcowkur in #721 - (**webapp**): Add exception detail journey plot by @anupcowkur in #717 - (**webapp**): Make journey unidirectional by @anupcowkur in #707 - (**webapp**): Update crash/anr group details plot with api data by @anupcowkur in #701 - (**webapp**): Add multi app version select to overview page by @anupcowkur in #697 - (**webapp**): Set journey min zoom by @anupcowkur in #682 - (**webapp**): Add zoom buttons to journey map by @anupcowkur in #681 - (**webapp**): Remove hack to animate title in journey node by @anupcowkur - (**webapp**): Color journey bg reflecting issue contribution by @anupcowkur - (**webapp**): Change journey error node & contrib indicator colours by @anupcowkur in #664 - (**webapp**): Update journey ui & data format by @anupcowkur in #660 - (**webapp**): Remove slack from alert prefs UI by @anupcowkur - (**webapp**): Clear updatePrefsMsg on selected app change by @anupcowkur - (**webapp**): Integrate alert prefs APIs by @anupcowkur - (**webapp**): Add slack connect button & status indicator to Alerts UI by @anupcowkur in #589 - (**webapp**): Remove team member & role change alerts UI by @anupcowkur in #588 - (**webapp**): Update checkbox styles by @anupcowkur in #587 - (**webapp**): Add an alerts page to configure notification options by @anupcowkur in #586 - (**webapp**): Improve journey node expansion animation by @anupcowkur in #584 - (**webapp**): Update journey to flow graph in overview page by @anupcowkur in #579 - (**webapp**): Change overview journey to network graph by @anupcowkur - (**webapp**): Update overview page to show session metrics by @anupcowkur in #559 - (**webapp**): Format session replay timeline event bodies by @anupcowkur in #555 - (**webapp**): Implement version codes in filters by @anupcowkur in #546 - (**webapp**): Change session replay events timeline animation by @anupcowkur in #544 - (**webapp**): Improve session replay event details UI by @anupcowkur in #514 - (**webapp**): Format sesssion replay event titles based on event types by @anupcowkur in #502 - (**webapp**): Format & use localised, readable date times everywhere by @anupcowkur in #491 - (**webapp**): Improve small screen UI for session replay by @anupcowkur in #490 - (**webapp**): Use params to persist and pass around dates by @anupcowkur in #477 - (**webapp**): Add filters to session replay event timeline by @anupcowkur in #476 - (**webapp**): Update session replay event timeline scale by @anupcowkur in #475 - (**webapp**): Add scrolling animations to session replay event timeline by @anupcowkur in #468 - (**webapp**): Show session duration in session replay by @anupcowkur - (**webapp**): Animate cpu + mem charts in session replay by @anupcowkur - (**webapp**): Add more event type based colours to session replay timeline by @anupcowkur in #465 - (**webapp**): Add time diff based vertical dividers to session replay event timeline by @anupcowkur - (**webapp**): Update memory + cpu graphs in session replay by @anupcowkur in #464 - (**webapp**): Change from thread chart to basic event timeline for session replay by @anupcowkur in #462 - (**webapp**): Use millisecond precision for session replay charts by @anupcowkur - (**webapp**): Implement session replay with API data by @anupcowkur in #454 - (**webapp**): Implement session replay with API data by @anupcowkur - (**webapp**): Show team creation success dialog in Teams page by @anupcowkur in #443 - (**webapp**): Add create team functionality to Team page by @anupcowkur in #434 - (**webapp**): Improve pagination loading state handling in Crashes + ANRs overview by @anupcowkur in #420 - (**webapp**): Implement ANRs overview and details by @anupcowkur in #416 - (**webapp**): Integrate apps, filters and crash details APIs into Crash Details page by @anupcowkur in #415 - (**webapp**): Use paginated crashes API in Crashes page by @anupcowkur in #395 - (**webapp**): Add pagination to Crashes page by @anupcowkur in #375 - (**webapp**): Update CheckboxDropdown component and select all version filters in Crashes on init by @anupcowkur - (**webapp**): Update landing page animations by @anupcowkur in #358 - (**webapp**): Fetch crash groups list in Crashes page from API by @anupcowkur in #339 - (**webapp**): Fetch apps+filters from API in Crashes page by @anupcowkur in #303 - (**webapp**): Highlight team, role & member better in Team confirmation dialogs by @anupcowkur - (**webapp**): Show member email & team name in Team member removal confirmation dialog by @anupcowkur in #288 - (**webapp**): Show member email, old & new roles in Team member role change confirmation dialog by @anupcowkur - (**webapp**): Include old & new names in Team name change confirmation dialog by @anupcowkur - (**webapp**): Hide change role & remove user for current user in Team page by @anupcowkur in #276 - (**webapp**): Add ability to remove team members by @anupcowkur - (**webapp**): Change role using API in Team page by @anupcowkur in #269 - (**webapp**): Fetch authz roles from API and set invite roles dropdown accordingly by @anupcowkur in #259 - (**webapp**): Fetch team members from API by @anupcowkur - (**webapp**): Handle invite member states - success, error, loading and auth error by @anupcowkur - (**webapp**): Add team rename feature in Team page by @anupcowkur in #251 - (**webapp**): Add copy API key functionality to CreateApp component & Apps page by @anupcowkur in #247 - (**webapp**): Fetch & display apps from api in Apps page by @anupcowkur in #240 - (**webapp**): Add CreateApp to apps page by @anupcowkur in #238 - (**webapp**): Handle no apps/no data for app cases in Overview page by @anupcowkur - (**webapp**): Use supabase auth token to make API calls by @anupcowkur - (**webapp**): Update navigation to use API retrieved app ids by @anupcowkur - (**webapp**): Fetch overview filters from filters api by @anupcowkur in #207 - (**webapp**): Fetch app launch time overview metrics from API by @anupcowkur in #195 - (**webapp**): Fetch metrics overview data from API by @anupcowkur in #193 - (**webapp**): Fetch user flow data from API in overview page by @anupcowkur in #190 - (**webapp**): Add "Sign-in and sign-up with Google" (#163) by @detj in #163 - (**webapp**): Logout (#153) by @detj in #153 - (**webapp**): Add basic signup/in flow (#150) by @detj in #150 ### :bug: Bug fixes - (**backend**): Google auth (#1022) by @detj in #1022 - (**backend**): Update memory usage struct by @abhaysood - (**backend**): Remove validation for 0 percentage usage as it's valid value by @abhaysood - (**backend**): Update app.go with new percwentage_usage field by @abhaysood - (**backend**): Allow zero interval as it's valid value for first event by @abhaysood - (**backend**): Ignore cold launch greater than 30s for metrics calculation by @anupcowkur in #942 - (**backend**): Update method comments to match code by @anupcowkur - (**backend**): Authn issue by @detj - (**backend**): Handle no teams by @detj - (**backend**): Anr overview mismatch by @detj in #820 - (**backend**): Exception overview mismatch by @detj - (**backend**): Anr not found by @detj in #817 - (**backend**): Exception not found by @detj - (**backend**): Update sesssion replay by @detj - (**backend**): Incorrect launch metrics delta (#811) by @detj in #811 - (**backend**): Filter using time range by @detj in #804 - (**backend**): Anr overview plot instances by @detj - (**backend**): Exception overview plot instances by @detj - (**backend**): Modify anr grouping by @detj - (**backend**): Update exception groups query by @detj - (**backend**): Journey grap build (#803) by @detj in #803 - (**backend**): Make from and source optional for navigation event by @abhaysood - (**backend**): Fix missing fields in session replay by @abhaysood - (**backend**): Use correct index when iterating exceptions and anrs by @abhaysood in #784 - (**backend**): Fix network type validation by @abhaysood in #775 - (**backend**): Modify session data to use non-nullable network properties by @abhaysood - (**backend**): Update session replay (#765) by @detj in #765 - (**backend**): Metrics api errorneous 500 (#766) by @detj in #766 - (**backend**): Attachment processing by @detj - (**backend**): Anr overview plot query by @detj in #750 - (**backend**): Crash overview plot query by @detj - (**backend**): Response of anr plot by @detj in #705 - (**backend**): Response of crash plot by @detj - (**backend**): Journey issue count (#679) by @detj in #679 - (**backend**): Format anr stacktrace by @detj - (**backend**): Modify stacktrace by @detj - (**backend**): Add authz in metrics (#658) by @detj in #658 - (**backend**): Fix failing test by @anupcowkur in #601 - (**backend**): No data for size by @detj - (**backend**): No data for perceived anr free by @detj - (**backend**): No data for perceived crash free by @detj - (**backend**): No data for anr free sessions by @detj - (**backend**): No data for crash free sessions by @detj - (**backend**): Handle no data for adoption by @detj - (**backend**): Add missing query close by @detj - (**backend**): Broken crash group list api (#545) by @detj in #545 - (**backend**): Broken sesion replay api (#540) by @detj in #540 - (**backend**): Make mapping file optional by @abhaysood - (**backend**): Ingest http client by @abhaysood - (**backend**): Fix clickhouse schema by @abhaysood - (**backend**): Issue with uploading build by @detj - (**backend**): Update cpu usage compute by @detj - (**backend**): Bug with launch time processing by @detj - (**backend**): Add validation check by @detj - (**backend**): Handle error when no teams (#498) by @detj in #498 - (**backend**): `app_exit` validation (#479) by @detj in #479 - (**backend**): Incorrect struct tag by @detj in #451 - (**backend**): Unused code by @detj - (**backend**): Extra parameter by @detj - (**backend**): Add missing `defer` keyword by @detj - (**backend**): Incorrect struct tag by @detj - (**backend**): Unused code by @detj - (**backend**): Extra parameter by @detj - (**backend**): Non-consistent pagination issues by @detj - (**backend**): Non-consistent pagination issues by @detj - (**backend**): Consistent grouping pagination by @detj - (**backend**): Set default limit for filters api (#386) by @detj in #386 - (**backend**): Incorrect query syntax by @detj - (**backend**): Incorrect counting of exceptions/anrs grouping (#336) by @detj in #336 - (**backend**): Accept zero events session (#328) by @detj in #328 - (**backend**): Update anr group filters api by @detj in #325 - (**backend**): Update crash group filters api by @detj - (**backend**): Remove time range in event filters query by @detj - (**backend**): Remove time range in app filters query by @detj - (**backend**): Change time range validation behavior by @detj - (**backend**): Don't set default time range by @detj - (**backend**): Session ingestion failure with http request & response by @detj - (**backend**): Nonce mismatch with google signin by @detj - (**backend**): Anr grouping by @detj - (**backend**): Revamp symbolication need detection logic (#305) by @detj in #305 - (**backend**): Retrace frame parsing (#300) by @detj in #300 - (**backend**): Lookup country by ip (#291) by @detj in #291 - (**backend**): Respond with bad request on team not found (#281) by @detj in #281 - (**backend**): Handle existing & new invitee(s) by @detj - (**backend**): Panics if api key is supplied in place of access token (#279) by @detj in #279 - (**backend**): Role validation logic (#270) by @detj in #270 - (**backend**): Add validation for thread name in anr and exception by @abhaysood in #267 - (**backend**): Increase thread name max size to 64 by @abhaysood - (**backend**): Pre authz logic for teams by @detj in #264 - (**backend**): Change teamId to id to match client response expectation by @anupcowkur in #224 - (**backend**): Use correct table name in CH migrations by @abhaysood in #211 - (**backend**): Invalid error format (#215) by @detj in #215 - (**backend**): Use correct column name in query to get mapping key by @abhaysood in #217 - (**backend**): Validate all events (#142) by @detj in #142 - (**backend**): Resolve go-staticcheck warnings (#116) by @detj in #116 - (**backend**): Partial symbolication should work (#113) by @detj in #113 - (**backend**): Separate anrs (#110) by @detj in #110 - (**backend**): Issues with types (#107) by @detj in #107 - (**backend**): Fix schema for gestures (#101) by @abhaysood in #101 - (**backend**): Accept session if no mapping file (#97) by @detj in #97 - (**backend**): Retrace symbolication algorithm (#93) by @detj in #93 - (**backend**): App_exit symbolication (#91) by @detj in #91 - (**backend**): Change names of exception columns (#52) by @detj in #52 - (**frontend**): Use node env for auth.ts jest test by @anupcowkur in #1060 - (**webapp**): Remove env checks causing vercel build failure by @anupcowkur in #983 - (**webapp**): Import lottie dynamically to fix ssr error by @anupcowkur in #963 - (**webapp**): Incorrect landing page video borders by @anupcowkur in #959 - (**webapp**): Add missing id attribute to inline script by @anupcowkur in #952 - (**webapp**): Use ' instead of apostrophe by @anupcowkur - (**webapp**): Lottie-react wrongfully added to project root by @anupcowkur - (**webapp**): Show formatted y value in tooltip in cpu usage graph by @anupcowkur in #939 - (**webapp**): Set max height for session replay event vertical connectors by @anupcowkur in #938 - (**webapp**): Handle 0 delta cases in metrics display by @anupcowkur in #936 - (**webapp**): Fix launch time showing '0x faster' as delta by @anupcowkur in #935 - (**webapp**): Handle invalid selected app in persisted filters by @anupcowkur in #915 - (**webapp**): Remove hover,active & focus states on disabled buttons by @anupcowkur in #899 - (**webapp**): Self-hosted check by @anupcowkur in #864 - (**webapp**): Prevent unnecessary useEffect calls by @anupcowkur in #858 - (**webapp**): Expand journey node on title hover only by @anupcowkur - (**webapp**): Decode title in exceptions details page by @anupcowkur in #827 - (**webapp**): Use slices tooltips for exceptions plots by @anupcowkur in #813 - (**webapp**): Fix typo in perceived anr free sessions metric tooltip by @anupcowkur in #801 - (**webapp**): Use full width in exception pages by @anupcowkur in #786 - (**webapp**): Handle null app size metrics by @anupcowkur in #770 - (**webapp**): Remove session replay event timeline animation by @anupcowkur - (**webapp**): Fix area gradient opacity in cpu chart by @anupcowkur - (**webapp**): Rotate mem & cpu chart ticks to reduce overlap by @anupcowkur - (**webapp**): Set cpu graph max value to 100 and 5 ticks by @anupcowkur - (**webapp**): Remove decimal precision from memory graph tooltip by @anupcowkur - (**webapp**): Make filter end date include all day by @anupcowkur in #723 - (**webapp**): Hide detail filters in exception overview page by @anupcowkur in #720 - (**webapp**): Show crash or anr legend correctly in group details plot by @anupcowkur - (**webapp**): Handle invalid date input in date filters by @anupcowkur in #695 - (**webapp**): Update UI to handle chained exceptions by @anupcowkur in #678 - (**webapp**): Pick exception thread name correctly in crash/anr details by @anupcowkur in #669 - (**webapp**): Improve messaging for no Crashes/ANRs by @anupcowkur in #668 - (**webapp**): Fix date selectors allowing dates later than today by @anupcowkur in #666 - (**webapp**): Append crash or anr query param to filters api by @anupcowkur in #645 - (**webapp**): Handle null cpu & memory data in session replay by @anupcowkur in #642 - (**webapp**): Update api response handling by @anupcowkur - (**webapp**): Set mock timezone for time_utils tests by @anupcowkur - (**webapp**): Fix incorrect session replay event timestamp state format by @anupcowkur - (**webapp**): Fix chart datetime format by @anupcowkur - (**webapp**): Updated alert prefs not reflecting in UI by @anupcowkur in #604 - (**webapp**): Set updatedAlertPrefs on fetch alert prefs API success by @anupcowkur - (**webapp**): Fix version and codes query params in metrics API call by @anupcowkur - (**webapp**): Fix change role being incorrectly enabled by @anupcowkur in #567 - (**webapp**): Avoid calling APIs that need app id before it's set by @anupcowkur in #557 - (**webapp**): Ellipsize overflowing dropdown items by @anupcowkur in #553 - (**webapp**): Fix session duration human readable display by @anupcowkur in #548 - (**webapp**): Fix session replay event timeline sorting by @anupcowkur in #547 - (**webapp**): Display correct stacktrace thread name by @anupcowkur in #517 - (**webapp**): Disable side nav link if current page is same as link by @anupcowkur - (**webapp**): Fix event timeline animation jittering by @anupcowkur in #474 - (**webapp**): Sort events by timestamp in session replay event timeline by @anupcowkur - (**webapp**): Remove unneeded IDs in DangerConfirmationModal comoponent by @anupcowkur in #444 - (**webapp**): Fix placeholder text in create new team input field by @anupcowkur in #436 - (**webapp**): Fix typo in method name by @anupcowkur in #435 - (**webapp**): Add key id + timestamp only when pagination has actually occured by @anupcowkur in #419 - (**webapp**): Select all versions on filters fetch in Crashes page by @anupcowkur in #381 - (**webapp**): Handle empty state of crash groups list fetch in Crashes page by @anupcowkur in #376 - (**webapp**): Update nivo charts to latest version to fix rendering issues by @anupcowkur in #371 - (**webapp**): Update invite API by @anupcowkur - (**webapp**): Refresh team members after inviting by @anupcowkur in #366 - (**webapp**): Fix invite member api call & update docs by @anupcowkur in #365 - (**webapp**): Upadte apps fetch API error msg by @anupcowkur in #359 - (**webapp**): Fix invite member request failing by @anupcowkur in #357 - (**webapp**): Handle not onboarded & no data cases separately by @anupcowkur in #320 - (**webapp**): Use 'onboarded' flag in apps API response to set filter status by @anupcowkur in #301 - (**webapp**): Update filters api json response parsing in Overview page by @anupcowkur in #292 - (**webapp**): Hide Team change role confirmation dialog on cancel click by @anupcowkur in #289 - (**webapp**): Handle existing invite flow by @detj - (**webapp**): Set remove member API error message correctly by @anupcowkur - (**webapp**): Handle can_change_roles being null in Team page by @anupcowkur - (**webapp**): Incorrect formatting in invite message by @detj in #260 - (**webapp**): Fix TeamSwitcher text overflow by @anupcowkur in #262 - (**webapp**): Show API key in create app from new apps API response format by @anupcowkur in #244 - (**webapp**): Fix typo by @anupcowkur in #237 - (**webapp**): Put conditional state inside useState to avoid calling useState conditionally by @anupcowkur in #236 - (**webapp**): Add missing return on overview filters api failure by @anupcowkur - (**webapp**): Update param names for journey & metrics apis by @anupcowkur in #202 - (**webapp**): Set max & min limits for date filters by @anupcowkur - (**webapp**): Update date & uuids format to match journey & metrics api formats by @anupcowkur - (**webapp**): Fix server renderd HTML mismatch error for date filter pills by @anupcowkur in #192 - (**webapp**): Save date filter state in crash details page by @anupcowkur in #182 - (**webapp**): Change env var name (#165) by @detj in #165 - (**webapp**): Fix comment syntax by @anupcowkur - (**webapp**): Change text to black on side nav button on focus visible by @anupcowkur in #86 - (**webapp**): Set header z-index so it's always on top by @anupcowkur in #66 - (**webapp**): Center align section headers on small screens by @anupcowkur ### :hammer: Misc - (**backend**): Fix dashboard healthcheck by @detj in #1085 - (**backend**): Fix dashboard healthcheck by @detj in #1084 - (**backend**): Fix incorrect path by @detj - (**backend**): Update dashboard github workflow by @anupcowkur - (**backend**): Fix dockerfile by @detj - (**backend**): Fix dashboard docker compose by @detj - (**backend**): Update compose.yml by @detj - (**backend**): Update rigmarole script by @detj - (**backend**): Remove stale files by @detj - (**backend**): Update go.work.sum (#1050) by @detj in #1050 - (**backend**): Move dashboard directory by @detj - (**backend**): Update cleanup deps by @detj - (**backend**): Update cleanup service by @detj - (**backend**): Change health check by @detj - (**backend**): Update github workflow by @detj - (**backend**): Update docker compose by @detj - (**backend**): Rename directory & service names by @detj - (**backend**): Rename directory & service names by @detj - (**backend**): Tidy go.mod by @anupcowkur in #1044 - (**backend**): Change default retention period to 90 days by @anupcowkur in #1042 - (**backend**): Extend access token expiry (#1031) by @detj in #1031 - (**backend**): Update `config.sh` by @detj in #1030 - (**backend**): Proxy attachments by default by @detj - (**backend**): Fix typos by @detj - (**backend**): Rename web env vars by @detj - (**backend**): Fix a sessionator edge case (#1026) by @detj in #1026 - (**backend**): Consistent healthcheck (#997) by @detj in #997 - (**backend**): Add healthchecks (#989) by @detj in #989 - (**backend**): Remove example env (#985) by @detj in #985 - (**backend**): Add otel instrumentation to api server by @anupcowkur - (**backend**): Add new sessions with real cpu usage data by @abhaysood - (**backend**): Add dummy percentage usage in session data by @abhaysood - (**backend**): Update interval_config to interval in session data by @abhaysood - (**backend**): Update cpu and memory usage events schema by @abhaysood - (**backend**): Refactor cpu usage calculation for clarity by @anupcowkur in #943 - (**backend**): Rename msg column to message in anr/exception groups by @anupcowkur - (**backend**): Remove redundant parameter types by @anupcowkur - (**backend**): Make getDisplayTitle method to encapsulate exception group naming by @anupcowkur - (**backend**): Standardise migration file names by @anupcowkur - (**backend**): Store exception/anr group name in separate columns by @anupcowkur - (**backend**): Update config.sh by @detj - (**backend**): Update config.sh by @detj - (**backend**): Mod github auth by @detj - (**backend**): Mod github auth by @detj - (**backend**): Update compose.yml by @detj - (**backend**): Fix a typo by @detj - (**backend**): Parameterized cors settings by @detj - (**backend**): Update self-host settings by @detj - (**backend**): Update installation script by @detj - (**backend**): Update config.sh by @detj - (**backend**): Update config.sh by @detj - (**backend**): Update config.sh by @detj - (**backend**): Update config.sh by @detj - (**backend**): Reorganize install.sh by @detj - (**backend**): Update install.sh by @detj - (**backend**): Update dbmate.sh by @detj - (**backend**): Update config.sh by @detj - (**backend**): Update compose.yml by @detj - (**backend**): Update .env.example by @detj - (**backend**): Update compose.yml by @detj - (**backend**): Install.sh by @detj - (**backend**): Config.sh script by @detj - (**backend**): Update prod compose by @detj - (**backend**): Update container naming by @detj - (**backend**): Update dockerfiles by @detj - (**backend**): Improve clickhouse close handling by @detj - (**backend**): Remove ipinfo env variable by @detj - (**backend**): Use local geoip db by @detj - (**backend**): Update dockerfile by @detj - (**backend**): Update dockerfile by @detj - (**backend**): Update measure-go dockerfile by @detj - (**backend**): Update labels in dockerfile by @detj - (**backend**): Update dockerfile by @detj - (**backend**): Update measure-go workflow by @detj - (**backend**): Reorg dockerfiles by @detj - (**backend**): Add label to dockerfile by @detj - (**backend**): Rename dockerfile by @detj - (**backend**): Consolidate env vars by @detj - (**backend**): Add gitignore by @detj - (**backend**): Remove example env file by @detj - (**backend**): Improve migrations by @detj - (**backend**): Mod compose by @detj - (**backend**): Change env vars by @detj - (**backend**): Remove put users endpoint by @detj - (**backend**): Add team id by @detj - (**backend**): Improve create team by @detj - (**backend**): Remove unused field by @detj - (**backend**): Add google signin by @detj - (**backend**): Update deps by @detj - (**backend**): Update dot env example by @detj - (**backend**): Update server by @detj - (**backend**): Add google user struct by @detj - (**backend**): Update cipher pkg by @detj - (**backend**): Revamp invite flow by @detj - (**backend**): Set last sign in time by @detj - (**backend**): Remove stale logic by @detj - (**backend**): Handle signups by @detj - (**backend**): Update postgres ddl by @detj - (**backend**): Refresh session automatically by @detj - (**backend**): Remove log by @detj - (**backend**): Update github callback by @detj - (**backend**): Add authn routes by @detj - (**backend**): Update deps by @detj - (**backend**): Update server by @detj - (**backend**): Modify authentication by @detj - (**backend**): Add a user method by @detj - (**backend**): Update `.env.example` by @detj - (**backend**): Add tables for auth by @detj - (**backend**): Update session replay api by @detj in #835 - (**backend**): Update session replay api by @detj - (**backend**): Mod event ingestion by @detj - (**backend**): Mod events table by @detj - (**backend**): Tidy go mods by @detj - (**backend**): Update example config.toml by @detj - (**backend**): Add --clean flag by @detj - (**backend**): Add go mods by @detj - (**backend**): Remove mapping cache by @detj - (**backend**): Misc improvements by @detj - (**backend**): Change docker registry (#818) by @detj in #818 - (**backend**): Modify frame location method by @detj - (**backend**): Send display title in anr by @detj - (**backend**): Set exception group name by @detj - (**backend**): Send exception display title by @detj - (**backend**): Anr location method by @detj - (**backend**): Exception location method by @detj - (**backend**): Remove unused code by @detj - (**backend**): Modify anr groups table by @detj - (**backend**): Set older event timestamp by @detj - (**backend**): Modify exception grouping by @detj - (**backend**): Modify unhandled exception groups table by @detj - (**backend**): Delta in metrics by @detj - (**backend**): Multi version filtering (#776) by @detj in #776 - (**backend**): Record new events by @abhaysood - (**backend**): Validate network type & generation by @abhaysood in #726 - (**backend**): Use non-nullable network properties by @abhaysood - (**backend**): Update session replay api by @detj - (**backend**): Update anr detail api by @detj - (**backend**): Update crash detail api by @detj - (**backend**): Presign url by @detj - (**backend**): Compute attachment mime by @detj - (**backend**): Add attachments in response by @detj - (**backend**): Update server by @detj - (**backend**): Update .env.example by @detj - (**backend**): Update symbolicator-retrace docker by @detj in #740 - (**backend**): Clickhouse:24 (#739) by @detj in #739 - (**backend**): Anr overview plot instances route by @detj - (**backend**): Add anr plot instances method by @detj - (**backend**): Crash overview instance plot route by @detj - (**backend**): Add query function by @detj - (**backend**): Rename methods by @detj - (**backend**): Update dependencies in symbolicator by @abhaysood - (**backend**): Tidy go mod (#715) by @detj in #715 - (**backend**): Remove unused route by @detj - (**backend**): Remove unused route by @detj - (**backend**): Anr detail journey plot api by @detj - (**backend**): Minor refactor by @detj - (**backend**): Add full filter support by @detj - (**backend**): Remove unused code by @detj - (**backend**): Add crash detail journey plot by @detj - (**backend**): Add journey in filter pkg by @detj - (**backend**): Add journey options by @detj - (**backend**): Add anr instance plot api by @detj - (**backend**): Add crash plot route by @detj - (**backend**): Add exceptions plot method by @detj - (**backend**): Fix typo by @detj in #676 - (**backend**): Doc comments by @detj - (**backend**): Add doc comments by @detj - (**backend**): Remove hardcoded prefix by @detj - (**backend**): Modify response by @detj - (**backend**): Modify response by @detj - (**backend**): Change variable name by @detj - (**backend**): Add doc comment by @detj - (**backend**): Rename function by @detj - (**backend**): Organize method by @detj - (**backend**): Optimize journey events by @detj in #646 - (**backend**): Add doc comment by @detj - (**backend**): Update get journey by @detj - (**backend**): New method in journey by @detj - (**backend**): Update group by @detj - (**backend**): Authz checks in journey by @detj - (**backend**): Fix typo by @detj - (**backend**): Change method names by @detj - (**backend**): Create journey interface by @detj - (**backend**): Journey map api by @detj - (**backend**): Add set pkg by @detj - (**backend**): Update group by @detj - (**backend**): Update group by @detj - (**backend**): Compute issues to journey by @detj - (**backend**): Update doc comments by @detj - (**backend**): Doc comments by @detj - (**backend**): Store session ids in graph by @detj - (**backend**): Dedup fragments by @detj - (**backend**): Modify app journey route by @detj - (**backend**): Add journey pkg by @detj - (**backend**): Add uuid set by @detj - (**backend**): Add graph pkg by @detj - (**backend**): Get journey events by @detj - (**backend**): Lifecycle events constants by @detj - (**backend**): Remove dead code by @detj - (**backend**): Update app metrics api by @detj - (**backend**): Validate app journey by @detj - (**backend**): Improve app metrics by @detj - (**backend**): Add validate versions by @detj - (**backend**): Improve app metrics by @detj - (**backend**): Doc comments for app filter by @detj - (**backend**): Update dashboard api docs (#644) by @detj in #644 - (**backend**): Update event validation by @detj - (**backend**): Fix app onboarding by @detj - (**backend**): Remove unused tables by @detj - (**backend**): Fix broken code by @detj - (**backend**): Fix context in get team by @detj - (**backend**): Remove unnecessary error return by @anupcowkur - (**backend**): Update schema.sql with alert_prefs table by @anupcowkur - (**backend**): Add missing sqlf statement close method by @anupcowkur - (**backend**): Remove print statement by @anupcowkur - (**backend**): Add doc comments by @detj - (**backend**): Remove old session api by @detj - (**backend**): Remove old app's get method by @detj - (**backend**): Remove old symbolicate by @detj - (**backend**): Update old symbolicate by @detj - (**backend**): Rewire session replay by @detj - (**backend**): Network events thread name by @detj - (**backend**): Nav events thread name by @detj - (**backend**): Memory events thread name by @detj - (**backend**): Log events thread name by @detj - (**backend**): Lifecycle events thread name by @detj - (**backend**): Launch events thread name by @detj - (**backend**): Gesture events thread name by @detj - (**backend**): Exit events thread name by @detj - (**backend**): Critical events thread name by @detj - (**backend**): Add missing context by @detj - (**backend**): Update events schema by @detj - (**backend**): Additional events by @detj - (**backend**): Rewire metricsa api by @detj - (**backend**): Fix anr symbolication by @detj - (**backend**): Modify attachment by @detj - (**backend**): Contextified get team by @detj - (**backend**): Rewire anr groups anrs api by @detj - (**backend**): Update crash group with crashes by @detj - (**backend**): Rewire crash groups crashes api by @detj - (**backend**): Fix missing ctx by @detj - (**backend**): Update references by @detj - (**backend**): Rewire get crash groups api by @detj - (**backend**): App filters request context by @detj - (**backend**): Context in app filters by @detj - (**backend**): Update get app filters api by @detj - (**backend**): Fix bucketting by @detj - (**backend**): Remove background context by @detj - (**backend**): Remove unused code by @detj - (**backend**): Format doc comments by @detj - (**backend**): Remove older put sessions route by @detj - (**backend**): Save event req to db by @detj - (**backend**): Idempotecy of request id by @detj - (**backend**): Remove extra newline by @detj - (**backend**): Add event_reqs db table by @detj - (**backend**): Modify events table schema by @detj - (**backend**): Fix event ingestion by @detj - (**backend**): Fix app onboarding by @detj - (**backend**): Improve reporting by @detj - (**backend**): Fix hand during bucketting by @detj - (**backend**): Measure ingest duration by @detj - (**backend**): Fix hang during bucketting by @detj - (**backend**): More metrics during ingestion by @detj - (**backend**): Fix hang up during bucketting by @detj - (**backend**): Fix symbolication issues by @detj - (**backend**): Fix multipart event processing by @detj - (**backend**): Fix event request by @detj - (**backend**): Fix event batching by @detj - (**backend**): Close writer by @detj - (**backend**): Add fresh events by @detj - (**backend**): Add event req id by @detj - (**backend**): Modify ingest to send events by @detj - (**backend**): Remove session from scanning by @detj - (**backend**): Remove session recording by @detj - (**backend**): Change scan logic to read blobs by @detj - (**backend**): Attribute as key name instead of attributes by @detj - (**backend**): Fix invalid json bug by @detj - (**backend**): Fix error message by @detj - (**backend**): Update session recording by @detj - (**backend**): Improve code comments by @detj - (**backend**): Support transactions in bucketting by @detj - (**backend**): Add app onboarding by @detj - (**backend**): Update field name by @detj - (**backend**): Update bucketting by @detj - (**backend**): Rewire event ingestion by @detj - (**backend**): Update events table schema by @detj - (**backend**): Bucket exceptions, anrs by @detj - (**backend**): Rewire attachment processing by @detj - (**backend**): Remove unused code by @detj - (**backend**): Add new events route by @detj - (**backend**): Rewire symbolication by @detj - (**backend**): Update session by @detj - (**backend**): Delete old attachment by @detj - (**backend**): Add attachment by @detj - (**backend**): Rewire country lookup by @detj - (**backend**): Update event struct by @detj - (**backend**): Add events route by @detj - (**backend**): Update db schema by @detj - (**backend**): Update attribute validation by @detj - (**backend**): Define attributes by @detj in #598 - (**backend**): Wip - attribute by @detj - (**backend**): Remove `/events` route by @detj in #597 - (**backend**): Organize response by @detj - (**backend**): Sessionator request interface (#572) by @detj in #572 - (**backend**): Sort only by version code (#569) by @detj in #569 - (**backend**): Format response by @detj - (**backend**): Add launch time metrics by @detj - (**backend**): Compute hot launch duration by @detj - (**backend**): Add hot launch duration column by @detj - (**backend**): Compute warm launch duration by @detj - (**backend**): Add warm launch duration column by @detj - (**backend**): Compute cold launch duration by @detj - (**backend**): Add cold launch duration column by @detj - (**backend**): Send metrics response by @detj - (**backend**): Add perceived anr free metrics by @detj - (**backend**): Add perceived crash free metrics by @detj - (**backend**): Add anr free metrics by @detj - (**backend**): Add crash free sessions by @detj - (**backend**): Modify adoption metric by @detj - (**backend**): Modify size metric by @detj - (**backend**): Wip - metrics api by @detj - (**backend**): Club version name & code by @detj - (**backend**): Version code in anr detail api by @detj - (**backend**): Version code in crash detail api by @detj - (**backend**): Version code in crash/anr groups by @detj - (**backend**): Add version code in app filter by @detj - (**backend**): Remove unneeded logs by @abhaysood in #541 - (**backend**): Add pocket cast sessions by @abhaysood in #537 - (**backend**): Improve sessionator by @detj - (**backend**): Update `cold_launch` event by @detj - (**backend**): Update `http` event by @detj - (**backend**): Update `hot_launch` event by @detj - (**backend**): Fix `warm_launch` duration compute by @detj - (**backend**): Update `warm_launch` event by @detj - (**backend**): Update `gesture_scroll` event by @detj - (**backend**): Update `gesture_long_click` event by @detj - (**backend**): Update `gesture_click` event by @detj - (**backend**): Update `anr` event by @detj - (**backend**): Update `exception` event by @detj - (**backend**): Update record command to capture build size by @abhaysood - (**backend**): Mapping is optional by @detj - (**backend**): Improve error messages by @detj - (**backend**): Support build info in sessionator by @detj - (**backend**): Update mapping key fetch by @detj - (**backend**): Add transaction to builds api by @detj - (**backend**): Upsert `build_sizes` by @detj - (**backend**): Update `build_sizes` relation by @detj - (**backend**): Add `build_type` column by @detj - (**backend**): Add `build_sizes` relation by @detj - (**backend**): Use `app_id` for build mappings by @detj - (**backend**): Modify `build_mappings` relation by @detj - (**backend**): Upgrade go version by @detj in #501 - (**backend**): Use go v1.22.x by @detj - (**backend**): Fix paths patterns (#500) by @detj in #500 - (**backend**): Add `foreground` to session replay by @detj - (**backend**): Add `foreground` to session replay by @detj - (**backend**): Update session-data sessions by @detj - (**backend**): Add `foreground` to anr by @detj - (**backend**): Add `foreground` to exception by @detj - (**backend**): Update clickhouse schema by @detj - (**backend**): Change job trigger file list (#450) by @detj in #450 - (**backend**): Change mapping file key query by @detj - (**backend**): Add `low_memory` event by @detj - (**backend**): Remove `app_exit.timestamp` by @detj - (**backend**): Handle updated `low_memory` events by @detj - (**backend**): Expand `low_memory` click schema by @detj - (**backend**): Bring back duration by @detj - (**backend**): Change job trigger file list (#450) by @detj - (**backend**): Send first/last event time by @detj - (**backend**): Add `http` event by @detj - (**backend**): Modify structure of thread groups by @detj - (**backend**): Fix issue with anr events by @detj - (**backend**): Add `anr` event by @detj - (**backend**): Add `exception` event by @detj - (**backend**): Fix a typo by @detj - (**backend**): Fix a typo by @detj - (**backend**): Add `app_exit` event by @detj - (**backend**): Add `trim_memory` event by @detj - (**backend**): Add `lifecycle_app` event by @detj - (**backend**): Add `lifecycle_fragment` event by @detj - (**backend**): Add `lifecycle_activity` event by @detj - (**backend**): Add `hot_launch` event by @detj - (**backend**): Add `warm_launch` event by @detj - (**backend**): Trim string event by @detj - (**backend**): Add `cold_launch` event by @detj - (**backend**): Add `network_change` event by @detj - (**backend**): Add `string` event by @detj - (**backend**): Fix bad file name by @detj - (**backend**): Add `navigation` event by @detj - (**backend**): Add `gesture_scroll` events by @detj - (**backend**): Add `gesture_long_click` events by @detj - (**backend**): Add `gesture_click` events by @detj - (**backend**): Add `memory usage` data points by @detj - (**backend**): Rename `cpu` pkg to `replay` by @detj - (**backend**): Add `resource` in session replay response by @detj - (**backend**): Add `cpu_usage` calculation for session replay by @detj - (**backend**): Add `text` package by @detj - (**backend**): Add `cpu` package by @detj - (**backend**): Update `chrono` package by @detj - (**backend**): Add session replay api route by @detj - (**backend**): Add init compose profile by @detj - (**backend**): Update `go.work.sum` (#440) by @detj in #440 - (**backend**): Ignore existing buckets (#432) by @detj in #432 - (**backend**): Fix minio bucket creation by @detj in #429 - (**backend**): Add create team api by @detj - (**backend**): Add session-data by @abhaysood in #417 - (**backend**): Rename session-data app name to use app-unique-id by @abhaysood - (**backend**): Add record command to sessionator by @abhaysood - (**backend**): Update docker compose by @detj - (**backend**): Support local s3 fetching in symbolicator-retrace by @detj - (**backend**): Update symbolicator-retrace's env file by @detj - (**backend**): Files now uploads locally by @detj - (**backend**): Update `.env.example` by @detj - (**backend**): Remove dead code by @detj - (**backend**): Upload files locally if in debug mode by @detj - (**backend**): Network_generations in anr groups anr by @detj - (**backend**): Network_types in anr groups anr by @detj - (**backend**): Fix incorrect column name by @detj - (**backend**): Network_providers in anr groups anr by @detj - (**backend**): Locales in anr groups anr by @detj - (**backend**): Device_manufacturers in anr groups anr by @detj - (**backend**): Device_names in anr groups anr by @detj - (**backend**): Countries in anr groups anrs by @detj - (**backend**): Countries in crash groups crashes by @detj - (**backend**): Add `countries` filter by @detj - (**backend**): Network_generations in crash groups crashes by @detj - (**backend**): Add `network_generations` filter by @detj - (**backend**): Network_types in crash groups crashes by @detj - (**backend**): Add `network_types` filter by @detj - (**backend**): Network_providers in crash groups crashes by @detj - (**backend**): Add `network_providers` filter by @detj - (**backend**): Locales in crash groups crashes by @detj - (**backend**): Add `locales` filter by @detj - (**backend**): Device_manufacturers in crash groups crashes by @detj - (**backend**): Add `device_manufacturers` filter by @detj - (**backend**): Device_names in crash groups crashes by @detj - (**backend**): Add `device_names` filter by @detj - (**backend**): Update dashboard api docs by @detj in #409 - (**backend**): Add session_id in anr groups anrs api by @detj - (**backend**): Add session_id in crash groups crasshes api by @detj - (**backend**): Add time range support anr groups anr get by @detj - (**backend**): Add time range support crash groups crashes get by @detj - (**backend**): Fix an edge case by @detj - (**backend**): Add navigation sample by @abhaysood - (**backend**): Use non deprecated API to read response error by @abhaysood - (**backend**): Log error when sessionator ingestion fails by @abhaysood - (**backend**): Update go workspace by @detj in #398 - (**backend**): Upgrade measure-go dependencies by @detj - (**backend**): Update gh actions/setup-go (#399) by @detj in #399 - (**backend**): Reduce error chance (#397) by @detj in #397 - (**backend**): Organize routes (#396) by @detj in #396 - (**backend**): Update clickhouse schema file by @detj in #392 - (**backend**): Reverting route re-org by @detj in #391 - (**backend**): Update app filter validation by @detj - (**backend**): Upgrade uuid pkg by @detj - (**backend**): Modify grouping schema by @detj - (**backend**): Rearrange events table columns (#385) by @detj in #385 - (**backend**): Remove `key` query parameter by @detj - (**backend**): Remove `version` field from app filter by @detj - (**backend**): Add get anr group detail api by @detj - (**backend**): Remove unused code by @detj - (**backend**): Add get crash group detail api by @detj - (**backend**): Modify pagination behavior by @detj - (**backend**): Add keyset pagination by @detj - (**backend**): Add keyset pagination by @detj - (**backend**): Omit fields from api response by @detj - (**backend**): Omit fields from api response by @detj - (**backend**): Update list anr groups api by @detj - (**backend**): Update anr_groups table schema by @detj - (**backend**): Remove app version from exception grouping by @detj - (**backend**): Remove `app_version` field by @detj - (**backend**): Modify crash groups list api by @detj - (**backend**): Change event group field name by @detj - (**backend**): Change event group schemas by @detj - (**backend**): Update crash groups list api by @detj - (**backend**): Add trim method to resource by @detj - (**backend**): Add function to fetch exception group events by @detj - (**backend**): Add function expand filters by @detj - (**backend**): Remove unused app apis (#351) by @detj in #351 - (**backend**): Reorder event columns (#346) by @detj in #346 - (**backend**): Sort anr groups by @detj in #345 - (**backend**): Sort crash groups by @detj - (**backend**): Add 2 sessions from pocketcast app by @abhaysood in #332 - (**backend**): Check presence of unhandled_exceptions & anrs by @detj - (**backend**): Add new methods to session by @detj - (**backend**): Modify anr group query by @detj - (**backend**): Modify exception group query by @detj - (**backend**): Delete unneeded code by @detj in #323 - (**backend**): Change handling of attribute map by @detj - (**backend**): Update help text of ingest command by @detj in #312 - (**backend**): Update ingest command by @detj - (**backend**): Change config to a flag by @detj - (**backend**): Update help of ingest command by @detj - (**backend**): Modify root command by @detj - (**backend**): Generate nonce only when required by @detj in #314 - (**backend**): Use api keys from config by @detj - (**backend**): Add a config package to sessionator by @detj - (**backend**): Add sample config file by @detj - (**backend**): Add toml package by @detj - (**backend**): Remove unwanted logging by @detj in #307 - (**backend**): Tests are being silently skipped (#302) by @detj in #302 - (**backend**): Add sessionator by @detj - (**backend**): Add version filter support by @detj in #290 - (**backend**): Add `app_version` to `anr_groups` table by @detj - (**backend**): Add version filter support by @detj - (**backend**): Add `app_version` to `unhandled_exception_groups` table by @detj - (**backend**): Add single anr group filters api by @detj - (**backend**): Add single crash group filters api by @detj - (**backend**): Dedup slice of event ids by @detj - (**backend**): Add identity package by @detj - (**backend**): Get anr filters api by @detj - (**backend**): Get filters for crashes api by @detj - (**backend**): Get anr groups api by @detj - (**backend**): Add app filter to anr group query by @detj - (**backend**): Get crash groups api by @detj - (**backend**): App app filter to exception group query by @detj - (**backend**): Add anr grouping by @detj - (**backend**): Add methods to get type, message & location of ANR by @detj - (**backend**): Add method to get app's anr groups by @detj - (**backend**): Refactor exception grouping by @detj - (**backend**): Implement exception grouping by @detj - (**backend**): Modify anr and exception group relation schema by @detj - (**backend**): Create exception & anr grouping relations by @detj - (**backend**): Compute fingerprint by @detj - (**backend**): Add simhash pkg by @detj - (**backend**): Modify events relation by @detj - (**backend**): Add caching & default client by @detj in #284 - (**backend**): Lookup country from ip by @detj - (**backend**): Modify events schema by @detj - (**backend**): Add ipinfo pkg by @detj - (**backend**): Add `inet` package by @detj - (**backend**): Support querying unhandled exceptions by @detj - (**backend**): Add get filters api by @detj - (**backend**): Remove unused const (#282) by @detj in #282 - (**backend**): Remove `apps.first_seen_at` field by @detj in #275 - (**backend**): Set onboarded_at field by @detj - (**backend**): Remove latest version by @detj - (**backend**): Update clickhouse schema by @detj - (**backend**): Update apps after session save by @detj - (**backend**): Add platform package by @detj - (**backend**): Add support for `appId` by @detj - (**backend**): Update cipher pkg by @detj - (**backend**): Update clickhouse schema by @detj - (**backend**): Modify postgres schema by @detj - (**backend**): Update clickhouse schema dump by @detj - (**backend**): Add rigmarole.sh to clickhouse migrations by @detj - (**backend**): Remove all clickhouse migrations by @abhaysood in #265 - (**backend**): Remove invitation related db modifications by @detj in #261 - (**backend**): Remove invitations relation sql by @detj - (**backend**): Add change member role api by @detj in #256 - (**backend**): Add method to validate role by @detj - (**backend**): Add remove team member api by @detj in #255 - (**backend**): Use chrono package for time by @detj in #253 - (**backend**): Create custom time package by @detj - (**backend**): Add get team members api by @detj - (**backend**): Change method name by @detj - (**backend**): Update `/teams/:id/authz` rbac logic by @detj - (**backend**): Change method name by @detj in #250 - (**backend**): Add `/teams/:id/authz` api by @detj - (**backend**): Update rbac logic by @detj in #241 - (**backend**): Modify postgres table definitions by @detj - (**backend**): Update json response by @detj - (**backend**): Add team rename api by @detj - (**backend**): Suspend invite record creation by @detj - (**backend**): Implement rbac for team invite by @detj - (**backend**): Add team invite api by @detj - (**backend**): Add sqlf package by @detj - (**backend**): Handle custom rank json marshalling and unmarshalling by @detj - (**backend**): Modify team_invitations schema by @detj - (**backend**): Add cipher package by @detj - (**backend**): Update get team apps api by @detj in #239 - (**backend**): Remove unneeded statements by @detj - (**backend**): Update get app details api by @detj - (**backend**): Increase access token expiration by @detj - (**backend**): Add app details api by @detj - (**backend**): Handle not found condition (#235) by @detj in #235 - (**backend**): Remove log line by @detj in #234 - (**backend**): Return apps from db by @detj - (**backend**): Wip get team apps api by @detj - (**backend**): Change name of app key by @detj in #233 - (**backend**): Fix types of create app response by @detj - (**backend**): Return response in app create api by @detj in #227 - (**backend**): Add create app by @detj in #226 - (**backend**): Update jwt package by @detj - (**backend**): Add api keys by @detj - (**backend**): Add rbac by @detj - (**backend**): Move server into a separate package by @detj - (**backend**): Schema changes for creating app by @detj - (**backend**): Add env var (#220) by @detj in #220 - (**backend**): Rename migration files by @abhaysood - (**backend**): Add github oauth redirection (#219) by @detj in #219 - (**backend**): Remove old sql files by @detj in #213 - (**backend**): Update docker compose by @detj - (**backend**): Drop old clickhouse table by @detj - (**backend**): Change a column in `mapping_files` by @detj - (**backend**): Change events table name by @detj - (**backend**): Add migrations infra by @detj - (**backend**): Change container names by @detj in #210 - (**backend**): Change mapping files parameter (#204) by @detj in #204 - (**backend**): Add app filters stub api by @detj in #201 - (**backend**): Add teams stub apis (#199) by @detj in #199 - (**backend**): App request filtering (#198) by @detj in #198 - (**backend**): Add missing metrics by @detj in #194 - (**backend**): Change cors origin (#188) by @detj in #188 - (**backend**): Add cors config (#187) by @detj in #187 - (**backend**): Fix incorrect version in go.mod (#186) by @detj in #186 - (**backend**): Add api server build action (#179) by @detj in #179 - (**backend**): Fix syntax (#176) by @detj in #176 - (**backend**): Add rest of the events to symbolication (#141) by @detj in #141 - (**backend**): Refactor magic strings (#139) by @detj in #139 - (**backend**): Symbolication codec (#137) by @detj in #137 - (**backend**): Modify docker compose (#128) by @detj in #128 - (**backend**): Count session payload size (#122) by @detj in #122 - (**backend**): Improve example dotenv files (#123) by @detj in #123 - (**frontend**): Revert google ux_mode by @detj - (**frontend**): Remove commented code by @anupcowkur in #1083 - (**frontend**): Lazy load landing page videos by @anupcowkur in #1082 - (**frontend**): Adjust landing hero anim dimensions by @anupcowkur - (**frontend**): Change android availability on landing page by @anupcowkur - (**frontend**): Remove unity section from landing page by @anupcowkur - Rename directory and service names by @detj - Update installation script (#1037) by @detj in #1037 - Delete self host `.env.example` (#1033) by @detj in #1033 - Update .commitlintrc.js - Update compose.yml (#1023) by @detj in #1023 - Remove dotenv by @detj - Remove supabase by @detj - Update .gitignore (#850) by @detj in #850 - Update root go work sum by @detj in #832 - Report status and errors (#324) by @detj in #324 - Remove supabase dependency from root folder by @anupcowkur in #318 - Update supabase config (#216) by @detj in #216 - Move docker compose by @detj - Streamline self-host by @detj - Change commitlint config (#54) by @detj in #54 - Add husky & commitlint (#36) by @detj in #36 - Improve landing page copy by @anupcowkur in #37 - Expose clickhouse http port by @detj in #33 - Remove unused imports by @anupcowkur in #28 - Link contribution guidelines in README by @anupcowkur - Improve security by @detj - Add docker-compose script by @detj - Improve kdoc by @abhaysood - Rearrange sinks to have DbSink initialized first by @abhaysood - Rename package in test source by @abhaysood - Abstract session ID management to separate class by @abhaysood - Add measure SDK version to resource by @abhaysood - Improve event validation by @detj - Fix incorrect data type by @detj - Update benchmark by @detj - Accepts arrays in events endpoint by @detj - Remove extra nesting by @detj - Restructure events request by @detj - Remove use of dotenv by @detj - Update events and deploy settings by @detj - Upgrade clickhouse-go by @detj - Add /events endpoint by @detj - Add api endpoints and sql statements by @detj - Add initial backend code by @detj - Rename bodyValue to value for brevity by @abhaysood - Fix incorrect package name by @abhaysood - (**webapp**): Limit filter pill width & show tooltip by @anupcowkur in #1005 - (**webapp**): Update dockerfile by @detj - (**webapp**): Update landing page with new tagline by @anupcowkur in #978 - (**webapp**): Update landing page tagline by @anupcowkur - (**webapp**): Update 'App Hangs' to 'ANRs' in landing copy by @anupcowkur - (**webapp**): Update landing copy for session timelines by @anupcowkur - (**webapp**): Update 'timeline' to 'Timelines' in session landing copy by @anupcowkur - (**webapp**): Add favicon by @anupcowkur in #962 - (**webapp**): Add measure logo to landing header by @anupcowkur - (**webapp**): Update landing page layout for smaller screens by @anupcowkur in #958 - (**webapp**): Hide retention period settings by @anupcowkur - (**webapp**): Update landing copy by @anupcowkur in #951 - (**webapp**): Update landing page hero animation by @anupcowkur - (**webapp**): Add highlight instrumentation by @anupcowkur in #948 - (**webapp**): Add clarity instrumentation by @anupcowkur - (**webapp**): Update exceptions product video on landing page by @anupcowkur in #944 - (**webapp**): Change laneing page features to vertical layout by @anupcowkur - (**webapp**): Remove redudant if statement by @anupcowkur in #924 - (**webapp**): Ellipsize long session replay event titles by @anupcowkur - (**webapp**): Remove google auto sign in by @anupcowkur in #910 - (**webapp**): Update npm packages to latest by @anupcowkur in #909 - (**webapp**): Add dockerfile by @detj - (**webapp**): Change build settings by @detj - (**webapp**): Add dockerignore by @detj - (**webapp**): Update env var by @detj - (**webapp**): Consolidate auth utils by @anupcowkur in #908 - (**webapp**): Update Github sign in button text by @anupcowkur in #904 - (**webapp**): Update auth flow by @detj in #886 - (**webapp**): Update Accordion ui by @anupcowkur in #901 - (**webapp**): Update exceptions overview table ui by @anupcowkur - (**webapp**): Remove disabled states on link by @anupcowkur - (**webapp**): Adjust button margin by @anupcowkur in #897 - (**webapp**): Replace create app integration steps with integration guide link by @anupcowkur in #885 - (**webapp**): Update nivo packages by @anupcowkur - (**webapp**): Use ' instead of ' in landing copy by @anupcowkur in #878 - (**webapp**): Update landing copy by @anupcowkur - (**webapp**): Update landing OSS & Self hosted section by @anupcowkur - (**webapp**): Add containers around landing videos by @anupcowkur - (**webapp**): Update landing copy by @anupcowkur - (**webapp**): Add login button to landing page header by @anupcowkur in #861 - (**webapp**): Replace email waitlist with Github link by @anupcowkur - (**webapp**): Remove supabase packages by @detj - (**webapp**): Remove supabase related pieces by @detj - (**webapp**): Fix logout by @detj - (**webapp**): Revamp auth by @detj - (**webapp**): Remove auth routes by @detj - (**webapp**): Update auth callbacks by @detj - (**webapp**): Update auth by @detj - (**webapp**): Remove unused field by @detj - (**webapp**): Add google signin by @detj - (**webapp**): Add next parameter by @detj - (**webapp**): Remove unused code by @detj - (**webapp**): Revamp invite flow by @detj - (**webapp**): Remove unused code by @detj - (**webapp**): Revamp authn by @detj - (**webapp**): Add authn utils by @detj - (**webapp**): Use esnext by @detj - (**webapp**): Update landing page by @anupcowkur in #860 - (**webapp**): Hide alerts page from nav bar by @anupcowkur in #841 - (**webapp**): Remove console.log by @anupcowkur in #839 - (**webapp**): Rename variable for clarity by @anupcowkur in #834 - (**webapp**): Add flower brackets for if statement by @anupcowkur - (**webapp**): Update journey positive node colour by @anupcowkur - (**webapp**): Update journey hightlight edge colour by @anupcowkur - (**webapp**): Center journey node titles by @anupcowkur - (**webapp**): Use rounded indicators in memory graph slices tooltip by @anupcowkur in #821 - (**webapp**): Reduce point size in exceptions plots by @anupcowkur - (**webapp**): Make current page clickable in sidebar by @anupcowkur in #810 - (**webapp**): Improve quality and adjust size of screenshots by @anupcowkur in #809 - (**webapp**): Improve display of app metrics deltas by @anupcowkur in #807 - (**webapp**): Remove unused component by @anupcowkur in #799 - (**webapp**): Refactor 'crashOrAnr' to 'exceptions' by @anupcowkur in #798 - (**webapp**): Use correct types for exception plots states by @anupcowkur in #792 - (**webapp**): Remove console.log statement by @anupcowkur - (**webapp**): Add app versions only if present in api calls by @anupcowkur in #791 - (**webapp**): Update metrics tooltips & delta display by @anupcowkur in #787 - (**webapp**): Set exception title in session replay using updated api by @anupcowkur in #772 - (**webapp**): Select latest version only in overview on init by @anupcowkur in #769 - (**webapp**): Remove unused import by @anupcowkur - (**webapp**): Show app size metrics only on single app version selection by @anupcowkur - (**webapp**): Move app size metrics to last position by @anupcowkur - (**webapp**): Add custom tooltip to memory chart by @anupcowkur in #762 - (**webapp**): Remove semicolons by @anupcowkur - (**webapp**): Remove unused import by @anupcowkur - (**webapp**): Set mem & cpu chart precision to seconds instead of milliseconds by @anupcowkur - (**webapp**): Remove 0 padding from x-axis hours in mem & cpu charts by @anupcowkur - (**webapp**): Remove log statement by @anupcowkur - (**webapp**): Add custom tooltip for cpu chart by @anupcowkur - (**webapp**): Increase cpu chart size by @anupcowkur - (**webapp**): Remove semicolons by @anupcowkur - (**webapp**): Add time util function to format chart format timestamp to human readable by @anupcowkur - (**webapp**): Set tick rotation to 90 in exceptions overview & details charts by @anupcowkur - (**webapp**): Remove cpu & mem chart animations by @anupcowkur - (**webapp**): Update exception details plot endpoint by @anupcowkur in #716 - (**webapp**): Extract filters to a component by @anupcowkur in #711 - (**webapp**): Adjust tick padding in crash or anr group details plot by @anupcowkur in #703 - (**webapp**): Add Paginator component tests by @anupcowkur in #641 - (**webapp**): Fix FilterPill test name by @anupcowkur in #640 - (**webapp**): Add FilterPill component tests by @anupcowkur in #639 - (**webapp**): Add TeamSwitcher component tests by @anupcowkur in #638 - (**webapp**): Decouple TeamSwitcher component from API by @anupcowkur - (**webapp**): Remove unused import by @anupcowkur in #628 - (**webapp**): Add DangerConfirmationModal tests by @anupcowkur - (**webapp**): Add AlertDialogModal component tests by @anupcowkur in #627 - (**webapp**): Fix accordion test file name by @anupcowkur in #626 - (**webapp**): Add test for accordion component by @anupcowkur in #625 - (**webapp**): Remove unused import in auth utils test by @anupcowkur in #621 - (**webapp**): Add snapshot tests for accordion component by @anupcowkur - (**webapp**): Add webapp github action ci pipeline by @anupcowkur in #613 - (**webapp**): Add unit tests for scroll_utils by @anupcowkur - (**webapp**): Use scrollY insead of deprecated pageYOffset by @anupcowkur - (**webapp**): Add auth_utils unit tests by @anupcowkur in #612 - (**webapp**): Externalise supabase client dependency in auth_utils by @anupcowkur - (**webapp**): Update files to have correct ts extension by @anupcowkur in #611 - (**webapp**): Add router utils unit tests by @anupcowkur in #610 - (**webapp**): Enable vercel build to run tests by adding ts-node dev dependency by @anupcowkur in #609 - (**webapp**): Use luxon for all datetime calculations by @anupcowkur in #608 - (**webapp**): Add tests for formatTimestampToChartFormat in time_utils by @anupcowkur in #607 - (**webapp**): Add tests for formatTimeToHumanReadable in time_utils by @anupcowkur - (**webapp**): Add tests for formatDateToHumanReadable in time_utils by @anupcowkur - (**webapp**): Throw error on invalid date in time_utils by @anupcowkur - (**webapp**): Add tests for formatMillisToHumanReadable in time_utils by @anupcowkur - (**webapp**): Use luxon lib to handle dates/times in time_utils by @anupcowkur - (**webapp**): Fix string_utils test file extension by @anupcowkur - (**webapp**): Add unit tests for utils/string_utils by @anupcowkur in #606 - (**webapp**): Set up jest for testing with NextJs by @anupcowkur - (**webapp**): Remove unused state in journey component by @anupcowkur in #583 - (**webapp**): Handle no data cases in metrics API by @anupcowkur in #582 - (**webapp**): Handle new response metrics API response format by @anupcowkur in #571 - (**webapp**): Refactor multiple dropdown components into one by @anupcowkur in #566 - (**webapp**): Remove unused import by @anupcowkur in #558 - (**webapp**): Adjust spacing in session replay page by @anupcowkur in #538 - (**webapp**): Extract camel case formatting function to util file by @anupcowkur - (**webapp**): Remove unused imports by @anupcowkur - (**webapp**): Extract scroll direction detection into a util function by @anupcowkur - (**webapp**): Fix case of ref variable in TeamSwitcher by @anupcowkur - (**webapp**): Fix typo in formatMillisToHumanReadable util function by @anupcowkur - (**webapp**): Remove empty line by @anupcowkur - (**webapp**): Extract utility function to format milliseconds to human readable format by @anupcowkur - (**webapp**): Refactor TeamSwitcher to handle loading & error states internally by @anupcowkur in #445 - (**webapp**): Improve team switcher title & arrow alignment by @anupcowkur - (**webapp**): Refactor CreateApp and move api call to common api calls file by @anupcowkur in #437 - (**webapp**): Upgrade to NexJs version 14 by @anupcowkur in #380 - (**webapp**): Pass initial selected item instead of index in Dropdown component by @anupcowkur in #372 - (**webapp**): Refactor UI rendering in response to API statuses in Apps, Crashes & Overview pages by @anupcowkur in #370 - (**webapp**): Remove unused imports by @anupcowkur - (**webapp**): Extract team management APIs into centralised api calls file by @anupcowkur in #364 - (**webapp**): Extract crash groups API into centralised API calls file by @anupcowkur - (**webapp**): Extract metrics API into centralised API calls file by @anupcowkur - (**webapp**): Extract journey API to centralised api calls file by @anupcowkur - (**webapp**): Rename UserFlow component to Journey by @anupcowkur - (**webapp**): Fetch teams using centralised API in layout by @anupcowkur in #362 - (**webapp**): Fetch teams using centralised API in Teams page by @anupcowkur - (**webapp**): Extract fetch teams api in centralised api calls file by @anupcowkur - (**webapp**): Fetch apps + filters from centralised APIs in Crashes page by @anupcowkur - (**webapp**): Fetch apps + filters from centralised APIs in Apps page by @anupcowkur - (**webapp**): Fetch apps + filters from centralised APIs in overview page by @anupcowkur - (**webapp**): Extract apps and filters fetch apis in separate file by @anupcowkur - (**webapp**): Remove unnecessary div by @anupcowkur - (**webapp**): Update supabase js npm package by @anupcowkur in #317 - (**webapp**): Remove unnecessary logout call from route by @anupcowkur in #316 - (**webapp**): Remove logs by @anupcowkur in #310 - (**webapp**): Remove unnecessary onAuthStateChanged method by @anupcowkur in #309 - (**webapp**): Remove unnecessary setSession call in github auth callback by @anupcowkur in #308 - (**webapp**): Refactor role names camel case conversions into a function by @anupcowkur - (**webapp**): Update change role/remove member error msg alignment in Team page by @anupcowkur in #273 - (**webapp**): Fetch members + authz roles from same API in teams page by @anupcowkur - (**webapp**): Remove unnecessary 'text-black' classes by @anupcowkur in #263 - (**webapp**): Handle invalid invites by @detj - (**webapp**): Rename variables for clarity by @anupcowkur in #254 - (**webapp**): Fetch team from API in Team page by @anupcowkur in #249 - (**webapp**): Format code by @anupcowkur in #248 - (**webapp**): Set session on invite redirect by @detj - (**webapp**): Remove old auth handler by @detj - (**webapp**): Add logout by @detj - (**webapp**): Modify github signin by @detj - (**webapp**): Modify supabase auth routes by @detj - (**webapp**): Add new environment variable by @detj - (**webapp**): Upgrade dependencies by @detj - (**webapp**): Update supabase email templates by @detj - (**webapp**): Adjust spacing in Apps page by @anupcowkur in #246 - (**webapp**): Update spacing in Apps page by @anupcowkur in #245 - (**webapp**): Update ui + add comments to overview page ui by @anupcowkur - (**webapp**): Update CreateApp ui by @anupcowkur - (**webapp**): Open first step of create app setup by default by @anupcowkur - (**webapp**): Use &apos instead of apostrophe by @anupcowkur - (**webapp**): Add CreateApp component by @anupcowkur - (**webapp**): Add example env var (#225) by @detj in #225 - (**webapp**): Improve sign-in flow error handling (#221) by @detj in #221 - (**webapp**): Handle error on logout (#222) by @detj in #222 - (**webapp**): Remove unused function by @anupcowkur in #218 - (**webapp**): Use env variable for API base URL by @anupcowkur - (**webapp**): Improve error message in UserFlow by @anupcowkur in #212 - (**webapp**): Fetch apps list in overview from API by @anupcowkur - (**webapp**): Disable react hooks exhaustive deps rule by @anupcowkur in #209 - (**webapp**): Store selected team state in side nav by @anupcowkur - (**webapp**): Fix indent in Dropdown component by @anupcowkur - (**webapp**): Add onChangeSelectedItemListener & initialItemIndex params to TeamSwitcher by @anupcowkur - (**webapp**): Fetch teams from API by @anupcowkur - (**webapp**): Update TeamSwitcher layout by @anupcowkur - (**webapp**): Add new line by @anupcowkur - (**webapp**): Handle metrics api status with enum by @anupcowkur in #208 - (**webapp**): Handle journey api status with enum by @anupcowkur - (**webapp**): Handle filters api status with enum by @anupcowkur - (**webapp**): Store & use app id + app name in overview app filter by @anupcowkur - (**webapp**): Update date filter pill format in overview page by @anupcowkur in #181 - (**webapp**): Save filter states in crashes and crash details pages by @anupcowkur - (**webapp**): Remove interactivity from FilterPills by @anupcowkur - (**webapp**): Save selected filter states in overview page by @anupcowkur in #180 - (**webapp**): Auth ui improvements (#173) by @detj in #173 - (**webapp**): Add google auth log (#172) by @detj in #172 - (**webapp**): Add API key field to Apps page by @anupcowkur in #171 - (**webapp**): Add basic sign in with github (#168) by @detj - (**webapp**): Add Apps page ui by @anupcowkur in #170 - (**webapp**): Fix indent by @anupcowkur - (**webapp**): Add landing page animation for app health section by @anupcowkur in #166 - (**webapp**): Update landing page hero animation by @anupcowkur - (**webapp**): Remove nav right border on small screens by @anupcowkur - (**webapp**): Add change team name field to Team page by @anupcowkur - (**webapp**): Remove text-center alignment from remove button in team page by @anupcowkur in #161 - (**webapp**): Fix width of role selector button in team page by @anupcowkur - (**webapp**): Fix dropdown components z-index so that they are always on top of other UI by @anupcowkur - (**webapp**): Add team page ui by @anupcowkur - (**webapp**): Combine thread events into single chart in session replay by @anupcowkur in #155 - (**webapp**): Show only time on x-axis in session replay by @anupcowkur - (**webapp**): Add info fields to session replay by @anupcowkur - (**webapp**): Add session replay by @anupcowkur in #151 - (**webapp**): Add multithread stack traces with accordiong to crash details by @anupcowkur in #148 - (**webapp**): Add exception count chart instead of rate chart to crash details by @anupcowkur - (**webapp**): Add user id to crash details session list by @anupcowkur - (**webapp**): Remove hover styling on session list table column by @anupcowkur - (**webapp**): Add crash details page by @anupcowkur in #145 - (**webapp**): Keep side nav link highlighted even when navigating to sub paths by @anupcowkur - (**webapp**): Fix user flow tooltip anr length check by @anupcowkur - (**webapp**): Fix crash details route by @anupcowkur - (**webapp**): Remove unused imports by @anupcowkur - (**webapp**): Add selected date filter pill to crashes by @anupcowkur in #133 - (**webapp**): Add selected filters pills to overview by @anupcowkur - (**webapp**): Change grid gap in overview filters by @anupcowkur - (**webapp**): Add selected filters pills to crashes by @anupcowkur - (**webapp**): Update search field text in crashes by @anupcowkur - (**webapp**): Remove network provider and type filter from crashes by @anupcowkur - (**webapp**): Add crash list to crashes page by @anupcowkur in #132 - (**webapp**): Add country, network provider, network type and free search filters to crashes by @anupcowkur - (**webapp**): Adjust crashes page padding and element sizes by @anupcowkur - (**webapp**): Adjusting overview page padding and element sizes by @anupcowkur - (**webapp**): Adjust crash rate chart positioning by @anupcowkur - (**webapp**): Add crash rate line chart and app version checkbox dropdown to crashes page by @anupcowkur in #130 - (**webapp**): Remove unnecessary items-center class on info circle flex wrap by @anupcowkur in #127 - (**webapp**): Reduce horiontal gap between info circles on smaller screens by @anupcowkur - (**webapp**): Remove unnecessary flex-1 from dashboard side nav by @anupcowkur - (**webapp**): Change main to div in overview page by @anupcowkur - (**webapp**): Make dashboard side nav stick on medium+ screen sizes by @anupcowkur - (**webapp**): Add app size info circle to overview by @anupcowkur - (**webapp**): Update app adoption tooltip text in overview by @anupcowkur - (**webapp**): Add warm and hot launch time to overview by @anupcowkur - (**webapp**): Update user flow tooltips with issues and ui changes by @anupcowkur in #125 - (**webapp**): Adjust user flow diagram margins by @anupcowkur - (**webapp**): Make tooltip show up only on hover over info circle by @anupcowkur - (**webapp**): Add hover effects for info circles by @anupcowkur - (**webapp**): Adjust tooltip positioning for info circles by @anupcowkur - (**webapp**): Add multiple crash & ANR info circles by @anupcowkur - (**webapp**): Add tooltips to info circles by @anupcowkur - (**webapp**): Add user flow diagram to overview by @anupcowkur in #117 - (**webapp**): Reduce text size for delta value in info circles by @anupcowkur - (**webapp**): Add version users & total users for to adoption info circle by @anupcowkur - (**webapp**): Add info circles to overview by @anupcowkur in #111 - (**webapp**): Add high level filters for ovrview page by @anupcowkur in #102 - (**webapp**): Add team switcher to side nav by @anupcowkur - (**webapp**): Change z-index and bg color for dropdown component by @anupcowkur - (**webapp**): Change side nav selected button color to neutral-950 by @anupcowkur - (**webapp**): Add side nav with dashboard page links by @anupcowkur in #83 - (**webapp**): Adjust landing page spacing by @anupcowkur in #65 - (**webapp**): Add hero animation to landing page by @anupcowkur in #63 ### :recycle: Refactor - (**backend**): Minor refactor to google auth (#1038) by @detj in #1038 - (**backend**): Improve interval calculation function for cpu and memory usage collectors by @abhaysood - (**backend**): Rename authsession path by @detj - (**backend**): Organize function order by @detj - (**backend**): Fix typo by @detj - (**backend**): Improve query by @detj - (**backend**): Rename route functions by @detj - (**backend**): Organize events by @detj - (**backend**): Organize group methods by @detj - (**backend**): Group pkg by @detj - (**backend**): Filter pkg by @detj - (**backend**): Journey by @detj - (**backend**): Remove resource by @detj - (**backend**): Organize group by @detj - (**backend**): Rearrange methods by @detj - (**backend**): Organize methods by @detj - (**backend**): Update text pkg by @detj in #573 - (**backend**): Trim exception event by @detj - (**backend**): Trim exception by @detj - (**backend**): Trim lifecycle app by @detj - (**backend**): Trim lifecycle fragment by @detj - (**backend**): Trim lifecycle activity by @detj - (**backend**): Trim gesture clicks by @detj - (**backend**): Trim gesture scroll by @detj - (**backend**): Trim gesture long click by @detj - (**backend**): Trim app exit by @detj - (**backend**): Trim string by @detj - (**backend**): Trim anr by @detj - (**backend**): Trim resource fields by @detj - (**backend**): Trim resource by @detj - (**backend**): Trim navigation by @detj - (**backend**): Trim trim memory by @detj - (**backend**): Trim http by @detj - (**backend**): Trim network change by @detj - (**backend**): Trim cold launch by @detj - (**backend**): Trim hot launch by @detj - (**backend**): Organize methods by @detj in #533 - (**backend**): Improve mapping by @detj - (**backend**): Improve sessionator config by @detj - (**backend**): Refactor symbols upload by @detj - (**backend**): Use query builder for get apps (#503) by @detj in #503 - (**backend**): Use query builder for sql query by @detj in #453 - (**backend**): Use query builder to build sql by @detj - (**backend**): Use query builder for sql query by @detj - (**backend**): Use query builder for sql query by @detj - (**backend**): Simplify code by @detj - (**backend**): Use query builder to build sql by @detj - (**backend**): Remove dead code (#452) by @detj in #452 - (**backend**): Use query builder for sql query by @detj - (**backend**): Use query builder to build sql by @detj - (**backend**): Use query builder for sql query by @detj - (**backend**): Use query builder for sql query by @detj - (**backend**): Simplify code by @detj - (**backend**): Use query builder to build sql by @detj - (**backend**): Remove dead code (#452) by @detj - (**backend**): Organize code by @detj - (**backend**): Add trim function in text pkg by @detj - (**backend**): Remove dead code by @detj - (**backend**): Clean up get teams api (#428) by @detj in #428 - (**backend**): Update `go.work` file by @detj in #426 - (**backend**): Update docker-compose.yml by @detj - (**backend**): Remove symbolicator codebase by @detj - (**backend**): Organize defer statements by @detj in #390 - (**backend**): Organize query formatting by @detj - (**backend**): Improve health route by @detj - (**backend**): Organize dashboard routes better by @detj - (**backend**): Exceptions & anr schema to store in string format (#360) by @detj in #360 - (**backend**): Organize session ingestion by @detj in #327 - (**backend**): Session attachments insertion by @detj - (**backend**): Update session insert query by @detj - (**backend**): Improve exception & anr fingerprinting by @detj - (**backend**): Remove unused code by @detj in #274 - (**backend**): Update cipher pkg by @detj - (**backend**): Rename files by @detj - (**backend**): Add measure pkg by @detj - (**backend**): Move server into its own package by @detj in #268 - (**backend**): Update team apps get api by @detj - (**webapp**): Format by @detj ### :books: Documentation - (**backend**): Update self host guide by @detj - (**backend**): Update migrations by @detj in #1052 - (**backend**): Update self-host guide by @detj in #990 - (**backend**): Update dashboard api by @detj - (**backend**): Update sdk api docs by @detj - (**backend**): Update sessionator readme by @detj - (**backend**): Update dashboard api by @detj in #812 - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api by @detj in #802 - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api by @detj in #796 - (**backend**): Update dashboard api by @detj in #758 - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api docs by @detj in #724 - (**backend**): Update dashboard api docs by @detj in #709 - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj in #699 - (**backend**): Update dashboard api docs by @detj in #690 - (**backend**): Update dashboard api docs by @detj in #688 - (**backend**): Udpate dashboard api docs by @detj in #675 - (**backend**): Update dashboard api docs by @detj - (**backend**): Crash group crashes by @detj - (**backend**): Update self host docs by @anupcowkur in #653 - (**backend**): Update dashboard api by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update success message by @detj - (**backend**): Update sdk api by @detj - (**backend**): Update sdk docs by @detj - (**backend**): Update alert prefs docs and fix brokens subsection links by @anupcowkur - (**backend**): Update sdk api docs by @detj in #590 - (**backend**): Update dashboard api by @detj in #581 - (**backend**): Update dashboard api docs by @detj in #551 - (**backend**): Update dashboard api docs by @detj in #543 - (**backend**): Update dashboard api docs by @detj - (**backend**): Improve doc comment by @detj - (**backend**): Update dashboard api by @detj in #516 - (**backend**): Update sdk api docs by @detj - (**backend**): Update sessionator readme by @detj - (**backend**): Update dashboard api docs by @detj in #472 - (**backend**): Update api docs by @detj - (**backend**): Update dashboard api docs (#449) by @detj in #449 - (**backend**): Update dashboard api docs by @detj in #442 - (**backend**): Update doc comment by @detj - (**backend**): Add docs for replay package by @detj - (**backend**): Update doc comment by @detj - (**backend**): Update doc comment by @detj - (**backend**): Update self host guide by @detj in #441 - (**backend**): Add missing `role` (#438) by @detj in #438 - (**backend**): Update dashboard api docs (#433) by @detj in #433 - (**backend**): Update api docs by @detj in #425 - (**backend**): Update sesionator readme by @detj - (**backend**): Update sessionator readme by @detj - (**backend**): Update dashboard api docs by @detj in #411 - (**backend**): Update dashboard api docs by @detj - (**backend**): Update dashboard api docs by @detj - (**backend**): Update crash groups crashes api docs by @detj in #408 - (**backend**): Update events in SDK API documentation by @abhaysood in #405 - (**backend**): Update api docs by @detj in #388 - (**backend**): Update api docs by @detj - (**backend**): Update get anr group's anrs api docs by @detj - (**backend**): Update get crash group's crashes api docs by @detj - (**backend**): Update get anr groups api docs by @detj - (**backend**): Update get crash groups docs by @detj - (**backend**): Add code comments by @detj - (**backend**): Add code comment by @detj - (**backend**): Update invite api docs by @anupcowkur in #355 - (**backend**): Update API docs with Team APIs by @anupcowkur in #354 - (**backend**): Add docs for 'apps/:id/filters' API by @anupcowkur in #349 - (**backend**): Update code comments by @detj - (**backend**): Update sessionator readme by @detj in #311 - (**backend**): Add readme by @detj in #297 - (**backend**): Improve code comments by @detj - (**backend**): Add doc comments by @detj in #280 - (**backend**): Fix typo by @detj - (**backend**): Update clickhouse readme by @detj in #272 - (**backend**): Update postgres readme by @detj - (**backend**): Update clickhouse readme by @detj - (**backend**): Update postgres readme by @detj - (**backend**): Update postgres readme by @detj - (**backend**): Update readme by @detj - (**backend**): Update self host guide by @detj - (**backend**): Add launch time metrics by @detj in #205 - (**backend**): Fix a mistake by @detj - Add team section to README by @anupcowkur in #1077 - Update README.md by @anupcowkur in #1065 - Update contributing.md (#1059) by @detj in #1059 - Improve language by @detj in #1054 - Update self host docs by @detj - Add info about `name` field (#1051) by @detj in #1051 - Update sessionator readme (#1032) by @detj in #1032 - Correct path for Android SDK quick start by @abhaysood in #1009 - Move CONTRIBUTING.md to main docs folder by @anupcowkur in #1004 - Move android docs by @abhaysood - Fix doc links by @anupcowkur in #996 - Move CONTRIBUTING.md to docs by @anupcowkur in #995 - Add documentation guidelines to CONTRIBUTING.md by @anupcowkur - Remove quickstart from docs README by @anupcowkur - Update sessionator README by @anupcowkur in #993 - Add symbolicator-retrace README by @anupcowkur - Update measure-go README by @anupcowkur - Update bencmarking README by @anupcowkur - Update measure-web-app README by @anupcowkur - Update measure-go README by @anupcowkur - Remove quickstart empty doc by @anupcowkur - Update self hosting guide link in main README by @anupcowkur in #991 - Improve self host guide by @detj - Update self host guide by @detj in #984 - Update contributing.md by @detj - Update README philosophy by @anupcowkur - Link new self hosting guide to main README by @anupcowkur - Update contribution guide by @detj - Update README with new tagline by @anupcowkur - Improve README by @anupcowkur in #976 - Update API docs with cpu and memory usage schema changes by @abhaysood - Add fresh self hosting guide by @detj - Update self-host guide (#903) by @detj in #903 - Update alertPrefs api docs by @anupcowkur in #892 - Update dashboard api docs indices by @anupcowkur - Update versioning guide by @anupcowkur in #884 - Add versioning guide by @anupcowkur in #883 - Update self-host guide by @detj - Update sessionator docs (#833) by @detj in #833 - Update self host guide by @detj in #662 - Update docker compose by @detj - Format sdk docs by @detj - Improve docs by @detj - Update sdk api by @detj - Remove network props, locale from exception and anr docs by @abhaysood - Events API proposal by @abhaysood - Explain network change feature in SDK docs by @abhaysood in #556 - Improve docs by @abhaysood - Fix typo by @abhaysood - Explain navigation and lifecycle collection in SDK docs by @abhaysood - Explain app exit info feature in SDK docs by @abhaysood - Fix docs by @abhaysood - Explain memory monitoring in SDK docs by @abhaysood - Explain gesture tracking in SDK docs by @abhaysood - Explain CPU usage feature in SDK docs by @abhaysood - Improve ANR documentation by @abhaysood - Fix ANR feature doc heading by @abhaysood - Explain app launch tracking feature in SDK docs by @abhaysood - Explain network monitoring feature in SDK docs by @abhaysood - Explain ANR and Crash reporting in SDK docs by @abhaysood - Update self-host guide (#570) by @detj in #570 - Update session-data readme by @detj in #486 - Update `session-data` readme by @detj - Update sdk api docs by @detj - Remove unused target_user_readable_name from gesture_click by @abhaysood in #483 - Update self-host guide (#384) by @detj in #384 - Update self-host guide (#214) by @detj in #214 - Update self-host readme by @detj - Update docs by @detj - Update api docs (#191) by @detj in #191 - Talk about session idempotency (#61) by @detj in #61 - Throw some light on tailing clickhouse logs (#60) by @detj in #60 - Update contribution guide (#53) by @detj in #53 - Improve self hosting guide by @detj - Improve self hosting docs by @detj - Wrote basic self hosting guide by @detj - Improve meaning by @detj - Improve meaning by @detj - Improve meaning by @detj - Improve meaning by @detj - Add success & failure response shapes by @detj - Improve meaning by @detj - Improve meaning by @detj - Add charset utf8 by @detj - Fix formatting by @detj - Add named anchors by @detj - Fix links by @detj - Add basic api docs by @detj - Update measure-go readme by @detj - Add contributing file by @detj - (**webapp**): Replace team/:id/invite docs with /auth/invite docs by @anupcowkur in #367 - (**webapp**): Add API docs for crash & ANR groups APIs by @anupcowkur in #350 [0.15.0]: https://github.com/measure-sh/measure/compare/v0.14.0..v0.15.0 [0.14.0]: https://github.com/measure-sh/measure/compare/v0.13.0..v0.14.0 [0.13.0]: https://github.com/measure-sh/measure/compare/v0.12.1..v0.13.0 [0.12.1]: https://github.com/measure-sh/measure/compare/v0.12.0..v0.12.1 [0.12.0]: https://github.com/measure-sh/measure/compare/v0.11.0..v0.12.0 [0.11.0]: https://github.com/measure-sh/measure/compare/v0.10.0..v0.11.0 [0.10.0]: https://github.com/measure-sh/measure/compare/v0.9.2..v0.10.0 [0.9.2]: https://github.com/measure-sh/measure/compare/v0.9.1..v0.9.2 [0.9.1]: https://github.com/measure-sh/measure/compare/v0.9.0..v0.9.1 [0.9.0]: https://github.com/measure-sh/measure/compare/v0.8.2..v0.9.0 [0.8.2]: https://github.com/measure-sh/measure/compare/v0.8.1..v0.8.2 [0.8.1]: https://github.com/measure-sh/measure/compare/v0.8.0..v0.8.1 [0.8.0]: https://github.com/measure-sh/measure/compare/v0.7.0..v0.8.0 [0.7.0]: https://github.com/measure-sh/measure/compare/v0.6.1..v0.7.0 [0.6.1]: https://github.com/measure-sh/measure/compare/v0.6.0..v0.6.1 [0.6.0]: https://github.com/measure-sh/measure/compare/v0.5.0..v0.6.0 [0.5.0]: https://github.com/measure-sh/measure/compare/v0.4.1..v0.5.0 [0.4.1]: https://github.com/measure-sh/measure/compare/v0.4.0..v0.4.1 [0.4.0]: https://github.com/measure-sh/measure/compare/v0.3.0..v0.4.0 [0.3.0]: https://github.com/measure-sh/measure/compare/v0.2.1..v0.3.0 [0.2.1]: https://github.com/measure-sh/measure/compare/v0.2.0..v0.2.1 [0.2.0]: https://github.com/measure-sh/measure/compare/v0.1.1..v0.2.0 [0.1.1]: https://github.com/measure-sh/measure/compare/v0.1.0..v0.1.1 [0.1.0]: https://github.com/measure-sh/measure/compare/v0.0.1..v0.1.0