25.12.1 ------- ### New Features ✨ #### Aci - feat(aci): Disable alert form submit button while saving by @malwilley in [#104880](https://github.com/getsentry/sentry/pull/104880) - feat(aci): Remove is:unresolved when switching from errors dataset by @malwilley in [#104903](https://github.com/getsentry/sentry/pull/104903) - feat(agent-insights): Display redacted file content info by @ArthurKnaus in [#105381](https://github.com/getsentry/sentry/pull/105381) #### Ai Conversations - feat(ai-conversations): conversation table improvements by @obostjancic in [#105322](https://github.com/getsentry/sentry/pull/105322) - feat(ai-conversations): optimize endpoint performance by @obostjancic in [#105133](https://github.com/getsentry/sentry/pull/105133) - feat(ai-conversations): add first and last messages by @obostjancic in [#105026](https://github.com/getsentry/sentry/pull/105026) #### Ai Insights - feat(ai-insights): conversation drawer by @obostjancic in [#105134](https://github.com/getsentry/sentry/pull/105134) - feat(ai-insights): conversations page by @obostjancic in [#105035](https://github.com/getsentry/sentry/pull/105035) #### Autofix - feat(autofix): Bypass cache in UI to get latest check value by @Mihir-Mavalankar in [#105110](https://github.com/getsentry/sentry/pull/105110) - feat(autofix): Return autofix enabled on setup check by @Zylphrex in [#104970](https://github.com/getsentry/sentry/pull/104970) - feat(autofix): suspect commit UI by @roaga in [#104914](https://github.com/getsentry/sentry/pull/104914) #### Autopilot - feat(autopilot): SDK update detector logging by @ArthurKnaus in [#105384](https://github.com/getsentry/sentry/pull/105384) - feat(autopilot): Add django app by @vgrozdanic in [#105379](https://github.com/getsentry/sentry/pull/105379) - feat(autopilot): Add feature flags by @ArthurKnaus in [#105378](https://github.com/getsentry/sentry/pull/105378) - feat(build-comparison): Synchronizes the hide small changes switch with a url query param to ensure state is preserved in browser history by @cameroncooke in [#105234](https://github.com/getsentry/sentry/pull/105234) - feat(bulk seer settings): Add option to append repos in bulk settings by @Mihir-Mavalankar in [#105261](https://github.com/getsentry/sentry/pull/105261) - feat(checkout): Disable checkout for suspended orgs by @isabellaenriquez in [#105052](https://github.com/getsentry/sentry/pull/105052) - feat(code_review): Handle GitHub re-run check requests by @armenzg in [#104455](https://github.com/getsentry/sentry/pull/104455) - feat(codegen): increment org contributors and assign seat in PR webhook handler by @srest2021 in [#104419](https://github.com/getsentry/sentry/pull/104419) - feat(conversations): drawer improvements by @obostjancic in [#105321](https://github.com/getsentry/sentry/pull/105321) #### Dashboards - feat(dashboards): Register pre-built dashboards for Mobile Vitals by @gggritso in [#105149](https://github.com/getsentry/sentry/pull/105149) - feat(dashboards): Web Vitals page overview dashboard migration by @edwardgou-sentry in [#105002](https://github.com/getsentry/sentry/pull/105002) - feat(dashboards): Remove secondary release selection from all Mobile insights by @gggritso in [#105101](https://github.com/getsentry/sentry/pull/105101) - feat(dashboards): Add logs to new timeseries visualization support allowlist by @edwardgou-sentry in [#105092](https://github.com/getsentry/sentry/pull/105092) - feat(dashboards): Add errors widgets to new timeseries visualization allowlist by @edwardgou-sentry in [#104989](https://github.com/getsentry/sentry/pull/104989) - feat(dynamic-grouping): Implement Dismiss on Cluster cards by @yuvmen in [#105398](https://github.com/getsentry/sentry/pull/105398) - feat(eap): Expose trace attachments in details endpoint by @jjbayer in [#105223](https://github.com/getsentry/sentry/pull/105223) - feat(endpoint): New endpoint to list client keys across all projects in an organization by @priscilawebdev in [#105027](https://github.com/getsentry/sentry/pull/105027) #### Explore - feat(explore): Save case sensitivity and add multi-query case sensitive support by @nsdeschenes in [#105229](https://github.com/getsentry/sentry/pull/105229) - feat(explore): Adds caseInsensitive param to explore saved queries serializer by @edwardgou-sentry in [#105169](https://github.com/getsentry/sentry/pull/105169) #### Explore Attr Breakdowns - feat(explore-attr-breakdowns): Hiding action menu on click outside selected region in chart by @Abdkhan14 in [#105248](https://github.com/getsentry/sentry/pull/105248) - feat(explore-attr-breakdowns): Adding attr breakdowns as a separate result_mode by @Abdkhan14 in [#104966](https://github.com/getsentry/sentry/pull/104966) #### Explorer - feat(explorer): add RPC to get baseline tag distributions by @roaga in [#104928](https://github.com/getsentry/sentry/pull/104928) - feat(explorer): return issue activity in issue details rpc by @roaga in [#105017](https://github.com/getsentry/sentry/pull/105017) - feat(explorer): langfuse slash command by @aliu39 in [#105084](https://github.com/getsentry/sentry/pull/105084) - feat(explorer): include selected project slugs on on page context by @roaga in [#105095](https://github.com/getsentry/sentry/pull/105095) - feat(explorer): langfuse url in feedback by @aliu39 in [#105073](https://github.com/getsentry/sentry/pull/105073) - feat(explorer): v0 of copy chat button by @aliu39 in [#104936](https://github.com/getsentry/sentry/pull/104936) - feat(explorer): trace table rpc by @aliu39 in [#104921](https://github.com/getsentry/sentry/pull/104921) - feat(fixability): Pass issue summary to Seer to calculate fixability by @Mihir-Mavalankar in [#105366](https://github.com/getsentry/sentry/pull/105366) - feat(ILOC): update to more generic schema to support other Apple apps by @armcknight in [#105067](https://github.com/getsentry/sentry/pull/105067) - feat(infra): Add manual backend workflow trigger to test sharding changes by @rbro112 in [#105082](https://github.com/getsentry/sentry/pull/105082) #### Issues - feat(issues): GA empty tags subtraction query by @scttcper in [#105397](https://github.com/getsentry/sentry/pull/105397) - feat(issues): Add inbound filters for Turbopack `ChunkLoadError` by @chargome in [#104940](https://github.com/getsentry/sentry/pull/104940) - feat(issues): Match breadcrumb absolute format to logs etc by @scttcper in [#105012](https://github.com/getsentry/sentry/pull/105012) - feat(issues): Rewrite issues diff modal as FC by @scttcper in [#104864](https://github.com/getsentry/sentry/pull/104864) - feat(oauth): Add PKCE support for OAuth2 authorization code flow by @dcramer in [#104418](https://github.com/getsentry/sentry/pull/104418) #### Occurrences - feat(occurrences): Add tagname attr to eap by @thetruecpaul in [#105074](https://github.com/getsentry/sentry/pull/105074) - feat(occurrences): Add RPCBase boilerplate by @thetruecpaul in [#104842](https://github.com/getsentry/sentry/pull/104842) #### Occurrences On Eap - feat(occurrences on eap): Implement EAP read for error counts in suspect flag calculation by @shashjar in [#104925](https://github.com/getsentry/sentry/pull/104925) - feat(occurrences on eap): Add retries and backoff for delete RPC requests sent to EAP by @shashjar in [#105097](https://github.com/getsentry/sentry/pull/105097) - feat(occurrences on eap): Implement EAP read for group hourly count (`is_escalating` algorithm) by @shashjar in [#104830](https://github.com/getsentry/sentry/pull/104830) #### Onboarding - feat(onboarding): Update profiling option to `profileSessionSampleRate` by @s1gr1d in [#104947](https://github.com/getsentry/sentry/pull/104947) - feat(onboarding): Add wrapFetchWithSentry to Tanstack Start onboarding by @nicohrubec in [#105213](https://github.com/getsentry/sentry/pull/105213) #### Preprod - feat(preprod): distribution modal on builds table by @mtopo27 in [#105403](https://github.com/getsentry/sentry/pull/105403) - feat(preprod): add endpoint to fetch dashboard data by @trevor-e in [#105309](https://github.com/getsentry/sentry/pull/105309) - feat(preprod): Add artifact and metric ids to issue evidence_data by @chromy in [#105323](https://github.com/getsentry/sentry/pull/105323) - feat(preprod): add basic base build info to build details api (EME-679) by @cameroncooke in [#105145](https://github.com/getsentry/sentry/pull/105145) - feat(preprod): Wireup app icon frontend by @rbro112 in [#102118](https://github.com/getsentry/sentry/pull/102118) - feat(preprod): Add preprod images download endpoint by @rbro112 in [#102117](https://github.com/getsentry/sentry/pull/102117) - feat(preprod): Add some basic tags to size issues by @chromy in [#105072](https://github.com/getsentry/sentry/pull/105072) - feat(preprod): Xray diff by @rbro112 in [#105016](https://github.com/getsentry/sentry/pull/105016) - feat(preprod): enable EAP writes behind a flag by @trevor-e in [#104913](https://github.com/getsentry/sentry/pull/104913) - feat(preprod): Set platform on size issues by @chromy in [#105039](https://github.com/getsentry/sentry/pull/105039) - feat(preprod): Show size issues in search by @chromy in [#104963](https://github.com/getsentry/sentry/pull/104963) - feat(preprod): add read/write helpers for EAP data by @trevor-e in [#104810](https://github.com/getsentry/sentry/pull/104810) - feat(Replay): Write User Attributes to EAP Trace Item by @cliffordxing in [#105289](https://github.com/getsentry/sentry/pull/105289) #### Replays - feat(replays): guard API endpoints by granular replay access by @shellmayr in [#104955](https://github.com/getsentry/sentry/pull/104955) - feat(replays): allow org:write to change granular replay permission settings instead of org:admin by @shellmayr in [#105036](https://github.com/getsentry/sentry/pull/105036) - feat(replays): Granular permissions frontend by @ArthurKnaus in [#104671](https://github.com/getsentry/sentry/pull/104671) - feat(reprocessing): Add check to prevent reprocessing of a group that is reprocessed to by @tobias-wilfert in [#105132](https://github.com/getsentry/sentry/pull/105132) - feat(security): adjustments to GitHub secret scanning endpoint by @oioki in [#105024](https://github.com/getsentry/sentry/pull/105024) #### Seer - feat(seer): Change "Wrap Up" steps to be dynamic by @billyvg in [#105201](https://github.com/getsentry/sentry/pull/105201) - feat(seer): Add analytics to new Seer onboarding by @billyvg in [#105189](https://github.com/getsentry/sentry/pull/105189) - feat(seer): Redirect to settings when onboarding is completed by @billyvg in [#105190](https://github.com/getsentry/sentry/pull/105190) - feat(seer): Implement a page to set repo-specific seer settings by @ryan953 in [#105171](https://github.com/getsentry/sentry/pull/105171) - feat(seer): Use `onboarding-check` endpoint for wizard by @billyvg in [#105008](https://github.com/getsentry/sentry/pull/105008) - feat(seer): Add "org defaults" step for seer onboarding by @billyvg in [#105091](https://github.com/getsentry/sentry/pull/105091) - feat(seer): Add bulk editing to Seer > Project list page by @ryan953 in [#105044](https://github.com/getsentry/sentry/pull/105044) - feat(seer): Handle unconfigured seer for project by @Zylphrex in [#105057](https://github.com/getsentry/sentry/pull/105057) - feat(seer): Always show new onboarding with flag `seat-based-seer-enabled` by @billyvg in [#104972](https://github.com/getsentry/sentry/pull/104972) - feat(seer): Add hook to determine when to show new Seer billing UI by @billyvg in [#105049](https://github.com/getsentry/sentry/pull/105049) - feat(seer): Add error alert in RCA step when missing project mapping by @billyvg in [#104985](https://github.com/getsentry/sentry/pull/104985) - feat(seer): Add success toasts for each step by @billyvg in [#104984](https://github.com/getsentry/sentry/pull/104984) - feat(seer): Remove flag and add `org:write` check for new wizard by @billyvg in [#104974](https://github.com/getsentry/sentry/pull/104974) #### Seer Settings - feat(seer settings): Add default where should seer stop value for new projects [feature flagged] by @Mihir-Mavalankar in [#105005](https://github.com/getsentry/sentry/pull/105005) - feat(seer settings): Onboarding wizard should only set org level options by @Mihir-Mavalankar in [#104995](https://github.com/getsentry/sentry/pull/104995) - feat(seer-workflows): Add new button for issue alerts by @leeandher in [#104898](https://github.com/getsentry/sentry/pull/104898) - feat(spans): Emit ingested byte count and span count per segment by @lvthanh03 in [#104968](https://github.com/getsentry/sentry/pull/104968) - feat(tagstore): add double-read from EAP by @thetruecpaul in [#104873](https://github.com/getsentry/sentry/pull/104873) - feat(theme): add theme types by @natemoo-re in [#105273](https://github.com/getsentry/sentry/pull/105273) #### Trace Tree Node - feat(trace-tree-node): Falling back to span name in waterfall by @Abdkhan14 in [#105173](https://github.com/getsentry/sentry/pull/105173) - feat(trace-tree-node): Using BaseNode methods to mitigate guards usage by @Abdkhan14 in [#103083](https://github.com/getsentry/sentry/pull/103083) - feat(trace-waterfall): Add trace count disagree info by @nsdeschenes in [#104962](https://github.com/getsentry/sentry/pull/104962) #### Tracemetrics - feat(tracemetrics): Use new timeseries visualization by @narsaynorath in [#105176](https://github.com/getsentry/sentry/pull/105176) - feat(tracemetrics): Only show relevant attributes in filter and group by by @narsaynorath in [#104871](https://github.com/getsentry/sentry/pull/104871) - feat(tracemetrics): Add PHP and Laravel to metrics allowlist by @narsaynorath in [#105090](https://github.com/getsentry/sentry/pull/105090) - feat(tracemetrics): Enforce a single metric in widget builder by @narsaynorath in [#104800](https://github.com/getsentry/sentry/pull/104800) #### Ui - feat(ui): Mention turbopack for `ChunkLoadError` filtering by @chargome in [#104941](https://github.com/getsentry/sentry/pull/104941) - feat(ui): virtualization for compactSelect (#2) by @TkDodo in [#104805](https://github.com/getsentry/sentry/pull/104805) #### Unity - feat(Unity): Add Unity context type tag mapping by @bitsandfoxes in [#104956](https://github.com/getsentry/sentry/pull/104956) - feat(Unity): Added `is_main_thread` to Unity context by @bitsandfoxes in [#104952](https://github.com/getsentry/sentry/pull/104952) #### Uptime - feat(uptime): Record backfill misses with sub-status by @evanpurkhiser in [#104975](https://github.com/getsentry/sentry/pull/104975) - feat(uptime): Add detector type filtering to hide onboarding monitors by @evanpurkhiser in [#104601](https://github.com/getsentry/sentry/pull/104601) - feat(utils): Add SafeRolloutComparator rollout util by @thetruecpaul in [#104888](https://github.com/getsentry/sentry/pull/104888) #### Other - feat: Update condition where we capture missing models in frontend by @priscilawebdev in [#105320](https://github.com/getsentry/sentry/pull/105320) - feat: Create sentry issue for each model when token cost is missing by @priscilawebdev in [#105319](https://github.com/getsentry/sentry/pull/105319) - feat: check repo public/private status metric by @ajay-sentry in [#105271](https://github.com/getsentry/sentry/pull/105271) - feat: Update bulk update endpoint to also allow sending repo mapping object by @ajay-sentry in [#105198](https://github.com/getsentry/sentry/pull/105198) - feat: Add code to track missing model by @priscilawebdev in [#105139](https://github.com/getsentry/sentry/pull/105139) - feat: SelectTrigger.IconButton by @TkDodo in [#105135](https://github.com/getsentry/sentry/pull/105135) - feat: Improve API doc of the endpoint project-keys by @priscilawebdev in [#105131](https://github.com/getsentry/sentry/pull/105131) - feat: Add RPC endpoint for fetching Code Review eligibility status in OW by @ajay-sentry in [#104907](https://github.com/getsentry/sentry/pull/104907) - feat: set custom_referrer if projects visited from org menu by @bcoe in [#104902](https://github.com/getsentry/sentry/pull/104902) ### Bug Fixes 🐛 #### Aci - fix(aci): Add option to disable using the issue stream detector in workflow evaluations by @kcons in [#105281](https://github.com/getsentry/sentry/pull/105281) - fix(aci): Fix timestamp propagation bug in delayed_workflow by @kcons in [#105203](https://github.com/getsentry/sentry/pull/105203) - fix(AD): Check for NaNs by @ceorourke in [#104909](https://github.com/getsentry/sentry/pull/104909) #### Agents - fix(agents): Read messages length from attribute by @ArthurKnaus in [#105030](https://github.com/getsentry/sentry/pull/105030) - fix(agents): Restore 'agent-monitoring.page-view' analytic event by @priscilawebdev in [#105022](https://github.com/getsentry/sentry/pull/105022) #### Ai - fix(ai): Re-order operation type matching values by @vgrozdanic in [#105211](https://github.com/getsentry/sentry/pull/105211) - fix(ai): Add vercel operation names to operation type mapping by @vgrozdanic in [#105025](https://github.com/getsentry/sentry/pull/105025) - fix(ai-conversations): pass sampling mode by @obostjancic in [#105218](https://github.com/getsentry/sentry/pull/105218) - fix(ai-insights): conversation messages by @obostjancic in [#105221](https://github.com/getsentry/sentry/pull/105221) #### Api - fix(api): Fix various missing API ID validations by @yuvmen in [#105115](https://github.com/getsentry/sentry/pull/105115) - fix(api): Accept project IDs as strings in organization releases endpoint by @szokeasaurusrex in [#105159](https://github.com/getsentry/sentry/pull/105159) - fix(assisted-query): return built in fields for spans and logs by @roaga in [#104935](https://github.com/getsentry/sentry/pull/104935) #### Autofix - fix(autofix): Open autofix project settings in new tab by @Zylphrex in [#105187](https://github.com/getsentry/sentry/pull/105187) - fix(autofix): Show warning icon when no root cause found by @Zylphrex in [#105207](https://github.com/getsentry/sentry/pull/105207) - fix(autofix): Full width summary loading placeholder by @Zylphrex in [#105191](https://github.com/getsentry/sentry/pull/105191) - fix(autofix): Stop fetching autofix on completion by @Zylphrex in [#105106](https://github.com/getsentry/sentry/pull/105106) - fix(autofix): Update seer onboarding route in issue details by @Zylphrex in [#105043](https://github.com/getsentry/sentry/pull/105043) #### Billing - fix(billing): Handle missing MH for add-on subcategories by @isabellaenriquez in [#104695](https://github.com/getsentry/sentry/pull/104695) - fix(billing): Show prepaid volumes for add-ons by @isabellaenriquez in [#104893](https://github.com/getsentry/sentry/pull/104893) - fix(checkout): Adjust padding for error alert by @isabellaenriquez in [#105242](https://github.com/getsentry/sentry/pull/105242) - fix(code-review): Add more checks to the code review checkrun by @suejung-sentry in [#105236](https://github.com/getsentry/sentry/pull/105236) #### Dashboards - fix(dashboards): Only link to platformized frontend session health by @edwardgou-sentry in [#105392](https://github.com/getsentry/sentry/pull/105392) - fix(dashboards): units not working on span widgets + new visualization by @DominikB2014 in [#105275](https://github.com/getsentry/sentry/pull/105275) - fix(dashboards): fixes an issue with RightAlignedContainer not working in certain parent display types by @edwardgou-sentry in [#105327](https://github.com/getsentry/sentry/pull/105327) - fix(dashboards): Add to new dashboards saves widget by @narsaynorath in [#105089](https://github.com/getsentry/sentry/pull/105089) #### Discover - fix(discover): Saved Queries breadcrumb shouldn't show if no ID by @narsaynorath in [#105328](https://github.com/getsentry/sentry/pull/105328) - fix(discover): Update docs link for getting samples via dynamic sampling by @shashjar in [#104924](https://github.com/getsentry/sentry/pull/104924) - fix(dropdown-menu): Normalize links in the dropdown menu by @malwilley in [#105253](https://github.com/getsentry/sentry/pull/105253) - fix(dynamic grouping): Remove unnecessary `deprecatedRouteProps` by @shashjar in [#105003](https://github.com/getsentry/sentry/pull/105003) - fix(eap): Fix item helpers test by @thetruecpaul in [#105161](https://github.com/getsentry/sentry/pull/105161) - fix(escalating_forecast): Fix Weekly Escalating Forecasts task timeouts by @yuvmen in [#104662](https://github.com/getsentry/sentry/pull/104662) - fix(events-trace): Consistent child sort key format by @Zylphrex in [#105186](https://github.com/getsentry/sentry/pull/105186) - fix(eventstream): Handle None tags during attribute encoding by @seer-by-sentry in [#105306](https://github.com/getsentry/sentry/pull/105306) - fix(explore): Compare not wrapped in query param context by @nsdeschenes in [#105412](https://github.com/getsentry/sentry/pull/105412) - fix(explore-attr-breakdowns): Fixing forward back nav state by @Abdkhan14 in [#105114](https://github.com/getsentry/sentry/pull/105114) - fix(explorer): use merged file patches on UI by @roaga in [#104927](https://github.com/getsentry/sentry/pull/104927) - fix(insights): Update supported browsers for web vitals by @Lms24 in [#105220](https://github.com/getsentry/sentry/pull/105220) - fix(issue search): Fall back to truncation of group IDs in Snuba query when filters are selective by @shashjar in [#105204](https://github.com/getsentry/sentry/pull/105204) - fix(issues): Fix autogenerated received timestamp by @chromy in [#104958](https://github.com/getsentry/sentry/pull/104958) - fix(loader): adhere to CSP, unflag feature check by @natemoo-re in [#105051](https://github.com/getsentry/sentry/pull/105051) #### Logs - fix(logs): update withoutLoggingSupport to remove platforms which support logs by @JoshuaMoelans in [#102398](https://github.com/getsentry/sentry/pull/102398) - fix(logs): Use replace for first page param init by @narsaynorath in [#105046](https://github.com/getsentry/sentry/pull/105046) - fix(nintendo): CRPORTAL case by @mujacica in [#105058](https://github.com/getsentry/sentry/pull/105058) - fix(np): random.randint by @Christinarlong in [#105099](https://github.com/getsentry/sentry/pull/105099) - fix(oauth): Require organization_id for org-level access applications by @dcramer in [#105064](https://github.com/getsentry/sentry/pull/105064) - fix(occurrences): Add default start/end by @thetruecpaul in [#105315](https://github.com/getsentry/sentry/pull/105315) - fix(other-onboarding): Fallback for missing DSN by @ArthurKnaus in [#105409](https://github.com/getsentry/sentry/pull/105409) - fix(pr-review): Fix register seer launch ffs by @suejung-sentry in [#105001](https://github.com/getsentry/sentry/pull/105001) #### Preprod - fix(preprod): Hide 'Span Evidence' section for preprod issues by @chromy in [#105254](https://github.com/getsentry/sentry/pull/105254) - fix(preprod): use separate producer for preprod EAP by @trevor-e in [#105197](https://github.com/getsentry/sentry/pull/105197) - fix(preprod): Align buttons by @chromy in [#105224](https://github.com/getsentry/sentry/pull/105224) - fix(preprod): Fix insight savings formatting by @rbro112 in [#105182](https://github.com/getsentry/sentry/pull/105182) - fix(preprod): Replace vUnknown with placeholder by @chromy in [#105146](https://github.com/getsentry/sentry/pull/105146) - fix(preprod): Equal height compare buttons by @chromy in [#105158](https://github.com/getsentry/sentry/pull/105158) - fix(preprod): Add diff delta values to existing install and download columns of github check (EME-641) by @cameroncooke in [#104760](https://github.com/getsentry/sentry/pull/104760) - fix(preprod): Use preprod namespace for tasks by @chromy in [#104759](https://github.com/getsentry/sentry/pull/104759) #### Replay - fix(replay): Fix replay timeline scrubber zoom by @ryan953 in [#104932](https://github.com/getsentry/sentry/pull/104932) - fix(replay): Format access update notification by @ArthurKnaus in [#105033](https://github.com/getsentry/sentry/pull/105033) #### Replay Permissions - fix(replay-permissions): Check for active superuser by @ArthurKnaus in [#105141](https://github.com/getsentry/sentry/pull/105141) - fix(replay-permissions): Grant superuser access by @ArthurKnaus in [#105127](https://github.com/getsentry/sentry/pull/105127) - fix(replays): restrict to active staff instead of superuser with user-based replay permissions by @shellmayr in [#105140](https://github.com/getsentry/sentry/pull/105140) - fix(scraps): do not spread all styles from theme.font onto button by @TkDodo in [#104976](https://github.com/getsentry/sentry/pull/104976) - fix(search-bar): Keep menu open when clicking on scrollbar by @nsdeschenes in [#105270](https://github.com/getsentry/sentry/pull/105270) - fix(security): IDOR in OrganizationDeriveCodeMappingsEndpoint - scope Project by organization by @dcramer in [#104980](https://github.com/getsentry/sentry/pull/104980) #### Seer - fix(seer): Fix stale query data after using wizard (RCA) by @billyvg in [#105343](https://github.com/getsentry/sentry/pull/105343) - fix(seer): Empty state blurs input focus by @billyvg in [#105336](https://github.com/getsentry/sentry/pull/105336) - fix(seer): Fix stale query data after using wizard by @billyvg in [#105250](https://github.com/getsentry/sentry/pull/105250) - fix(seer): Fix RCA onboarding step to update autofix option by @billyvg in [#105181](https://github.com/getsentry/sentry/pull/105181) - fix(seer): Fix normalized URLs for Seer settings tabs by @billyvg in [#105202](https://github.com/getsentry/sentry/pull/105202) - fix(seer): Improve the empty-search-results state for Org level Seer Project&Repo lists by @ryan953 in [#105172](https://github.com/getsentry/sentry/pull/105172) - fix(seer): Do not use singleLineRenderer unnecessarily by @ryan953 in [#105154](https://github.com/getsentry/sentry/pull/105154) - fix(seer): Stop overriding codeReviewTriggers when bulk updating settings by @ryan953 in [#104912](https://github.com/getsentry/sentry/pull/104912) - fix(seer): Don't override when bulk updating settings by @srest2021 in [#104918](https://github.com/getsentry/sentry/pull/104918) #### Seer Billing - fix(seer billing): remove author association check by @srest2021 in [#105256](https://github.com/getsentry/sentry/pull/105256) - fix(seer billing): add collaborator to allowed author associations by @srest2021 in [#105180](https://github.com/getsentry/sentry/pull/105180) - fix(sentry-apps): Prevent inactive applications from refreshing tokens by @dcramer in [#105269](https://github.com/getsentry/sentry/pull/105269) - fix(settings migration): Move cache set to end of the function by @Mihir-Mavalankar in [#105071](https://github.com/getsentry/sentry/pull/105071) - fix(snuba): Lower timestamp quantization for 30d queries by @Zylphrex in [#105266](https://github.com/getsentry/sentry/pull/105266) - fix(spans-migration): fix threshold button styling on extrapolation mode banner by @nikkikapadia in [#104961](https://github.com/getsentry/sentry/pull/104961) - fix(stories): remove unused icons by @natemoo-re in [#105285](https://github.com/getsentry/sentry/pull/105285) - fix(suspect flags): Use `Referrer` enum values when querying Snuba by @shashjar in [#105086](https://github.com/getsentry/sentry/pull/105086) - fix(tests): skip flaky tests by @JoshFerge in [#105125](https://github.com/getsentry/sentry/pull/105125) #### Trace Waterfall - fix(trace-waterfall): Truncate subtitle text by @nsdeschenes in [#104967](https://github.com/getsentry/sentry/pull/104967) - fix(trace-waterfall): Make Open in Explore button a link button by @nsdeschenes in [#104964](https://github.com/getsentry/sentry/pull/104964) - fix(tracemetrics): Hide hidden fields in fields that display attributes by @narsaynorath in [#105239](https://github.com/getsentry/sentry/pull/105239) - fix(ui): Fix removed `open` prop from SlideOverPanel by @billyvg in [#105334](https://github.com/getsentry/sentry/pull/105334) - fix(upsell): Correct plan upsell for unlimited dashboards by @isabellaenriquez in [#105000](https://github.com/getsentry/sentry/pull/105000) #### Uptime - fix(uptime): Enforce environment requirement by @evanpurkhiser in [#105102](https://github.com/getsentry/sentry/pull/105102) - fix(uptime): Use simple uuid format by @evanpurkhiser in [#105053](https://github.com/getsentry/sentry/pull/105053) #### Other - fix: forward triggerProps id to custom trigger by @TkDodo in [#105129](https://github.com/getsentry/sentry/pull/105129) - fix: Correct missing organization constraint in PromptsActivityEndpoint by @dcramer in [#104920](https://github.com/getsentry/sentry/pull/104920) ### Build / dependencies / internal 🔧 #### Aci - chore(ACI): Add back upsampled tests by @ceorourke in [#105272](https://github.com/getsentry/sentry/pull/105272) - chore(ACI): Add back subscription processor test coverage by @ceorourke in [#105113](https://github.com/getsentry/sentry/pull/105113) - chore(aci): Update copy for alert conditions by @malwilley in [#105304](https://github.com/getsentry/sentry/pull/105304) - chore(ACI): Add test coverage for legacy webhooks firing by @ceorourke in [#104892](https://github.com/getsentry/sentry/pull/104892) - chore(ad): Downgrade error to warning by @ceorourke in [#105060](https://github.com/getsentry/sentry/pull/105060) - chore(anomaly threshold): add support for alerts by @shayna-ch in [#105294](https://github.com/getsentry/sentry/pull/105294) #### Anomaly Thresholds - chore(anomaly thresholds): Add better logs to get_anomaly_threshold_data_from_seer() by @shayna-ch in [#105260](https://github.com/getsentry/sentry/pull/105260) - chore(anomaly thresholds): remove yellow seer line from graph by @shayna-ch in [#104896](https://github.com/getsentry/sentry/pull/104896) #### Api - chore(api): Use org-scoped related-issues endpoint in frontend by @malwilley in [#105068](https://github.com/getsentry/sentry/pull/105068) - chore(api): Use new route structure for some admin endpoints by @malwilley in [#105103](https://github.com/getsentry/sentry/pull/105103) - chore(api): Add org-scoped endpoint for related issues endpoint by @malwilley in [#105015](https://github.com/getsentry/sentry/pull/105015) #### Billing - chore(billing): Add additional analytics + referrers for overview by @isabellaenriquez in [#105232](https://github.com/getsentry/sentry/pull/105232) - chore(billing): Set maxAdminGift to 100 for Seer User by @brendanhsentry in [#105200](https://github.com/getsentry/sentry/pull/105200) - chore(checkout): Update routing by @isabellaenriquez in [#105059](https://github.com/getsentry/sentry/pull/105059) - chore(code-review): Add audit log for edit repos projects by @suejung-sentry in [#105297](https://github.com/getsentry/sentry/pull/105297) - chore(cross-event): Add in some basic analytics by @nsdeschenes in [#105075](https://github.com/getsentry/sentry/pull/105075) #### Dashboards - chore(dashboards): Add a more specific explanation of how to manage pre-built dashboards by @gggritso in [#105151](https://github.com/getsentry/sentry/pull/105151) - chore(dashboards): Add feature flag for migration of Mobile Vitals to Dashboards Platform by @gggritso in [#105147](https://github.com/getsentry/sentry/pull/105147) - chore(devservices): Bump devservices to 1.2.4 by @hubertdeng123 in [#105195](https://github.com/getsentry/sentry/pull/105195) - chore(events-trace): Add trace roots to sentry context for debugging by @Zylphrex in [#105144](https://github.com/getsentry/sentry/pull/105144) - chore(explore): Hardcode some user string attrs by @nsdeschenes in [#105340](https://github.com/getsentry/sentry/pull/105340) - chore(explorer): misc frontend improvements by @roaga in [#105098](https://github.com/getsentry/sentry/pull/105098) - chore(i18n): Remove "Defaulting to english" console warning by @ryan953 in [#104933](https://github.com/getsentry/sentry/pull/104933) - chore(infra): Remove unused codecov ATS workflow by @rbro112 in [#105305](https://github.com/getsentry/sentry/pull/105305) #### Llm Detector - chore(llm-detector): Only log success if we look at traces by @roggenkemper in [#105243](https://github.com/getsentry/sentry/pull/105243) - chore(llm-detector): Add deduplication of trace ids by @roggenkemper in [#105231](https://github.com/getsentry/sentry/pull/105231) - chore(llm-detector): Add trace id to log by @roggenkemper in [#105188](https://github.com/getsentry/sentry/pull/105188) - chore(llm-detector): Make `verification_reason` required by @roggenkemper in [#105178](https://github.com/getsentry/sentry/pull/105178) - chore(llm-detector): Add `traces_analyzed` by @roggenkemper in [#105080](https://github.com/getsentry/sentry/pull/105080) - chore(llm-detector): Add `verification_reason` to model by @roggenkemper in [#104997](https://github.com/getsentry/sentry/pull/104997) - chore(logs): Add trace filter key suggestion by @nsdeschenes in [#105054](https://github.com/getsentry/sentry/pull/105054) - chore(nav): fix help button tooltip position by @mtopo27 in [#105288](https://github.com/getsentry/sentry/pull/105288) - chore(np): Change option configuration to be rollout + source based by @Christinarlong in [#105006](https://github.com/getsentry/sentry/pull/105006) - chore(objectstore): Update example on options by @jan-auer in [#105037](https://github.com/getsentry/sentry/pull/105037) - chore(performance): Removes old transaction summary vitals page by @edwardgou-sentry in [#105235](https://github.com/getsentry/sentry/pull/105235) #### Preprod - refactor(preprod): update build details to use "Build Metadata" instead of "Git details" and add base build row logic (EME-679) by @cameroncooke in [#105244](https://github.com/getsentry/sentry/pull/105244) - chore(preprod): point mobile build breadcrumbs to mobile tab (EME-689) by @mtopo27 in [#105076](https://github.com/getsentry/sentry/pull/105076) - chore(preprod): fix alignment + color on build details cards by @mtopo27 in [#104973](https://github.com/getsentry/sentry/pull/104973) - chore(profiling): Remove product trial alerts from am3 profiling page by @Zylphrex in [#105042](https://github.com/getsentry/sentry/pull/105042) - chore(releases): docs link for empty state by @mtopo27 in [#104770](https://github.com/getsentry/sentry/pull/104770) #### Replay - chore(replay): Default to AI Summary tab when able by @nsdeschenes in [#105032](https://github.com/getsentry/sentry/pull/105032) - chore(replay): Hide logs tab when project does not have logs by @nsdeschenes in [#105034](https://github.com/getsentry/sentry/pull/105034) #### Search Bar - chore(search-bar): Clean up wildcard op, case sensitivity, and default to contains flags by @nsdeschenes in [#104959](https://github.com/getsentry/sentry/pull/104959) - chore(search-bar): Move case sensitive to custom parser by @nsdeschenes in [#105179](https://github.com/getsentry/sentry/pull/105179) #### Seer - chore(seer): Add SEER_USERS pricing docs url by @isabellaenriquez in [#105233](https://github.com/getsentry/sentry/pull/105233) - chore(seer): cleanup unused ProjectAutofixAutomationSettingsEndpoint by @ryan953 in [#104979](https://github.com/getsentry/sentry/pull/104979) - chore(seer): Rename Seer settings button to match page title by @ryan953 in [#105150](https://github.com/getsentry/sentry/pull/105150) - chore(seer): Remove temporary flags used while building seat-based seer ui by @ryan953 in [#105088](https://github.com/getsentry/sentry/pull/105088) - chore(seer): Call useShowNewSeer() to guard whether we show new UI elements or not by @ryan953 in [#105087](https://github.com/getsentry/sentry/pull/105087) - chore(seer): Update seer ship asset by @Zylphrex in [#104998](https://github.com/getsentry/sentry/pull/104998) - chore(seer settings migration): Sample the function at 100% and add context by @Mihir-Mavalankar in [#104971](https://github.com/getsentry/sentry/pull/104971) - chore(spans): Update first available date for downsampled spans by @Zylphrex in [#105155](https://github.com/getsentry/sentry/pull/105155) - chore(theme): update typography tokens by @natemoo-re in [#105293](https://github.com/getsentry/sentry/pull/105293) #### Other - ci: upgrade to action-setup-venv 3.2.0 by @joshuarli in [#105357](https://github.com/getsentry/sentry/pull/105357) - chore (aci): gate new metric alert charts with UI rollout flag by @mifu67 in [#104992](https://github.com/getsentry/sentry/pull/104992) - chore: Add `dev-ui-production` script by @gggritso in [#104736](https://github.com/getsentry/sentry/pull/104736) ### Other - insights draw doesn’t work on mobile (EME-518) by @cameroncooke in [#105413](https://github.com/getsentry/sentry/pull/105413) - ref(autopilot): Simplify outdated SDK detection by @ArthurKnaus in [#105411](https://github.com/getsentry/sentry/pull/105411) - ref(admin): Remove usage of `deprecatedRouteProps` for `AdminUsers` by @shashjar in [#105351](https://github.com/getsentry/sentry/pull/105351) - ref(admin): Remove usage of `deprecatedRouteProps` for `AdminProjects` by @shashjar in [#105350](https://github.com/getsentry/sentry/pull/105350) - ref(admin): Remove usage of `deprecateRouteProps` for `AdminOrganizations` by @shashjar in [#105349](https://github.com/getsentry/sentry/pull/105349) - ref(admin): Remove usage of `deprecatedRouteProps` for `AdminRelays` by @shashjar in [#105347](https://github.com/getsentry/sentry/pull/105347) - ref(discover): Remove usages of `deprecatedRouteProps` from Discover views by @shashjar in [#104923](https://github.com/getsentry/sentry/pull/104923) - tabs: remove hideborder by @JonasBa in [#105375](https://github.com/getsentry/sentry/pull/105375) - codemod(flex): apply changes for @getsentry/app-frontend by @JonasBa in [#105359](https://github.com/getsentry/sentry/pull/105359) - codemod(flex): apply changes for @getsentry/issue-workflow by @JonasBa in [#105355](https://github.com/getsentry/sentry/pull/105355) - ref(code_review): Prepare code for more webhooks by @armenzg in [#105326](https://github.com/getsentry/sentry/pull/105326) - ref(encryption): Refactor encrypted field by @vgrozdanic in [#105383](https://github.com/getsentry/sentry/pull/105383) - ref(preprod): Show detailed error for mismatched app comparisons (EME-700) by @runningcode in [#105148](https://github.com/getsentry/sentry/pull/105148) - ref(explorer): wrap tool call text by @aliu39 in [#105291](https://github.com/getsentry/sentry/pull/105291) - acceptance: bump runners to 10 by @JonasBa in [#104791](https://github.com/getsentry/sentry/pull/104791) - codemod(flex): apply changes for @getsentry/dashboards by @JonasBa in [#105361](https://github.com/getsentry/sentry/pull/105361) - codemod(flex): apply changes for @getsentry/machine-learning-ai by @JonasBa in [#105356](https://github.com/getsentry/sentry/pull/105356) - codemod(flex): apply changes for @getsentry/replay-frontend by @JonasBa in [#105345](https://github.com/getsentry/sentry/pull/105345) - ref(context): Migrate `OrganizationContext` component tests off of `deprecatedRouterMocks` by @shashjar in [#105283](https://github.com/getsentry/sentry/pull/105283) - ref(projects): Remove additional usage of `deprecatedRouteProps` for project routes parent by @shashjar in [#105311](https://github.com/getsentry/sentry/pull/105311) - ref(alerts): Remove usage of `deprecatedRouteProps` for `AlertRulesList` route by @shashjar in [#105310](https://github.com/getsentry/sentry/pull/105310) - Reapply "ref(prevent): Refactor prevent settings (#104539)" by @ryan953 in [#105332](https://github.com/getsentry/sentry/pull/105332) - theme: remove translucent colors by @JonasBa in [#105329](https://github.com/getsentry/sentry/pull/105329) - theme: read palette from theme by @JonasBa in [#105330](https://github.com/getsentry/sentry/pull/105330) _Plus 83 more_ 25.12.0 ------- ### New Features ✨ #### Aci - feat(aci): Metric monitor form should default to number of errors by @malwilley in [#104878](https://github.com/getsentry/sentry/pull/104878) - feat(aci): add disabled alert to error/metric monitors and alerts by @ameliahsu in [#104756](https://github.com/getsentry/sentry/pull/104756) - feat(aci): show test notification errors in UI by @ameliahsu in [#104708](https://github.com/getsentry/sentry/pull/104708) - feat(aci): Always redirect from alerts when clicking from notification by @malwilley in [#104782](https://github.com/getsentry/sentry/pull/104782) - feat(aci): Add 'open in' button to issue details by @malwilley in [#104593](https://github.com/getsentry/sentry/pull/104593) - feat(aci): Add an open in explore button to metric detector charts by @malwilley in [#104301](https://github.com/getsentry/sentry/pull/104301) - feat(aci): Add contributing issues section to metric issue by @malwilley in [#104407](https://github.com/getsentry/sentry/pull/104407) - feat(aci): Add detector config to issues created by detectors by @malwilley in [#104347](https://github.com/getsentry/sentry/pull/104347) - feat(aci): Add option to send workflow evaluation logs directly to Sentry by @kcons in [#104434](https://github.com/getsentry/sentry/pull/104434) - feat(aci): Add simpler UX for connecting alerts to a project by @malwilley in [#104221](https://github.com/getsentry/sentry/pull/104221) - feat(aci): Add metric issue event details by @malwilley in [#103995](https://github.com/getsentry/sentry/pull/103995) - feat(admin): Add cell routing to spike protection batch by @scttcper in [#104424](https://github.com/getsentry/sentry/pull/104424) #### Agents - feat(agents): Render markdown and allow switching to raw values by @ArthurKnaus in [#104850](https://github.com/getsentry/sentry/pull/104850) - feat(agents): Preserve icon on spans with error by @ArthurKnaus in [#104937](https://github.com/getsentry/sentry/pull/104937) - feat(agents): Add browser js onboarding by @ArthurKnaus in [#104571](https://github.com/getsentry/sentry/pull/104571) - feat(ai-insights): move analytics event to event timeseries by @obostjancic in [#104386](https://github.com/getsentry/sentry/pull/104386) - feat(analytics): Add Seer feature tracking to issue_details.seer_opened event by @JoshFerge in [#104547](https://github.com/getsentry/sentry/pull/104547) - feat(anomaly): add seer anomaly thresholds to metric monitor graph by @shayna-ch in [#104074](https://github.com/getsentry/sentry/pull/104074) - feat(attribute-distributions): parallelize stats query by @shruthilayaj in [#104113](https://github.com/getsentry/sentry/pull/104113) - feat(auth): Bring back SPA auth page, remove deprecated props by @scttcper in [#104372](https://github.com/getsentry/sentry/pull/104372) #### Autofix - feat(autofix): Add backend check to disable autofix if repos are not connected [feature flagged] by @Mihir-Mavalankar in [#104790](https://github.com/getsentry/sentry/pull/104790) - feat(autofix): add UI for explorer-backed agent by @roaga in [#104618](https://github.com/getsentry/sentry/pull/104618) - feat(autofix): migrate to explorer agent by @roaga in [#104615](https://github.com/getsentry/sentry/pull/104615) - feat(autofix): Add email-based user mapping for Seer Autofix PR review requests by @JoshFerge in [#103406](https://github.com/getsentry/sentry/pull/103406) #### Billing - feat(billing): Migrate chart functions to use DATA_CATEGORY_INFO formatting by @dashed in [#104688](https://github.com/getsentry/sentry/pull/104688) - feat(billing): Add-on product trials in \_admin by @isabellaenriquez in [#104789](https://github.com/getsentry/sentry/pull/104789) - feat(billing): Add formatting configuration to DATA_CATEGORY_INFO formatting by @dashed in [#104025](https://github.com/getsentry/sentry/pull/104025) - feat(billing): Add formatting configuration to DATA_CATEGORY_INFO by @dashed in [#104023](https://github.com/getsentry/sentry/pull/104023) - feat(billing): Add hook for product billing access by @isabellaenriquez in [#104633](https://github.com/getsentry/sentry/pull/104633) #### Cells - feat(cells): make email capture demo mode control-silo only by @lynnagara in [#104488](https://github.com/getsentry/sentry/pull/104488) - feat(cells): begin moving the email capture endpoint to control by @lynnagara in [#104413](https://github.com/getsentry/sentry/pull/104413) - feat(cells): make tempest ips control only by @lynnagara in [#104305](https://github.com/getsentry/sentry/pull/104305) - feat(cells): begin moving ip address endpoints to control by @lynnagara in [#104271](https://github.com/getsentry/sentry/pull/104271) #### Code Review - feat(code-review): Add single GET repo query param by @suejung-sentry in [#104839](https://github.com/getsentry/sentry/pull/104839) - feat(code-review): Add overwatch repo settings rpc by @suejung-sentry in [#104744](https://github.com/getsentry/sentry/pull/104744) - feat(code-review): Handle auto enable code review on repoCreated by @suejung-sentry in [#104666](https://github.com/getsentry/sentry/pull/104666) - feat(code-review): Add Seer onboarding/settings status endpoint by @srest2021 in [#104636](https://github.com/getsentry/sentry/pull/104636) #### Crons - feat(crons): Add upsert guides to detector cron creation by @evanpurkhiser in [#104353](https://github.com/getsentry/sentry/pull/104353) - feat(crons): Add icons to platform quick start picker by @evanpurkhiser in [#104341](https://github.com/getsentry/sentry/pull/104341) - feat(crons): Add missing guides + consistency by @evanpurkhiser in [#104274](https://github.com/getsentry/sentry/pull/104274) #### Dashboards - feat(dashboards): Web Vitals prebuilt dashboard improvements by @edwardgou-sentry in [#104771](https://github.com/getsentry/sentry/pull/104771) - feat(dashboards): Registers web vitals dashboard by @edwardgou-sentry in [#104577](https://github.com/getsentry/sentry/pull/104577) - feat(dashboards): Measure time to open the Widget Builder by @gggritso in [#104765](https://github.com/getsentry/sentry/pull/104765) - feat(dashboards): Add loading skeleton for Widget Builder by @gggritso in [#104702](https://github.com/getsentry/sentry/pull/104702) - feat(dashboards): Web Vitals prebuilt dashboard configs by @edwardgou-sentry in [#104692](https://github.com/getsentry/sentry/pull/104692) - feat(dashboards): Prebuilt dashboards use options by @edwardgou-sentry in [#104586](https://github.com/getsentry/sentry/pull/104586) - feat(dashboards): convert http module into dashboard by @DominikB2014 in [#104608](https://github.com/getsentry/sentry/pull/104608) - feat(dashboards): Registers option to control enabled Prebuilt Dashboards by @edwardgou-sentry in [#104583](https://github.com/getsentry/sentry/pull/104583) - feat(dashboards): apply base filters by @DominikB2014 in [#104414](https://github.com/getsentry/sentry/pull/104414) - feat(dashboards): Updates issue timeseries widgets to use the new timeseries visualization component by @edwardgou-sentry in [#104416](https://github.com/getsentry/sentry/pull/104416) - feat(dashboards): Adds issue widgets to Frontend Session Health prebuilt dashboard by @edwardgou-sentry in [#104392](https://github.com/getsentry/sentry/pull/104392) - feat(dashboards): enable new visulization widget for span widgets by @DominikB2014 in [#104337](https://github.com/getsentry/sentry/pull/104337) - feat(dashboards): Adds series display type support for Dashboard Issue Widgets by @edwardgou-sentry in [#104291](https://github.com/getsentry/sentry/pull/104291) - feat(dashboards): Issue time series widget feature flag by @edwardgou-sentry in [#104292](https://github.com/getsentry/sentry/pull/104292) - feat(dashboards): don't filter out any span ops in query module by @DominikB2014 in [#104255](https://github.com/getsentry/sentry/pull/104255) - feat(dashboards): don't allow duplication of prebuilt dashboards by @DominikB2014 in [#104249](https://github.com/getsentry/sentry/pull/104249) - feat(dashboards): update query module prebuilt titles by @DominikB2014 in [#104243](https://github.com/getsentry/sentry/pull/104243) - feat(dashboards): wrap dashboard controls in flag if prebuilt dashboard by @DominikB2014 in [#104161](https://github.com/getsentry/sentry/pull/104161) - feat(default detector): create default detector for new projects by @shayna-ch in [#104208](https://github.com/getsentry/sentry/pull/104208) - feat(derived_code_mappings): Support single-file paths by @scttcper in [#104663](https://github.com/getsentry/sentry/pull/104663) - feat(encryption): Add EncryptedJSONField by @vgrozdanic in [#104167](https://github.com/getsentry/sentry/pull/104167) - feat(enrichment): Introduce `is_gen_ai_span` checking `gen_ai.operation.name` in preference over `span.op` by @constantinius in [#104318](https://github.com/getsentry/sentry/pull/104318) #### Explore - feat(explore): Wire up data fetching hooks for cross event queries by @nsdeschenes in [#104233](https://github.com/getsentry/sentry/pull/104233) - feat(explore): set default chart interval to highest granularity by @bcoe in [#104283](https://github.com/getsentry/sentry/pull/104283) - feat(explore): Add in cross event search bars by @nsdeschenes in [#104129](https://github.com/getsentry/sentry/pull/104129) #### Explore Attr Breakdowns - feat(explore-attr-breakdowns): Disabling extrapolation and high accur… by @Abdkhan14 in [#104875](https://github.com/getsentry/sentry/pull/104875) - feat(explore-attr-breakdowns): Consuming pagination from BE by @Abdkhan14 in [#104585](https://github.com/getsentry/sentry/pull/104585) - feat(explore-attr-breakdowns): Cosolidating code by @Abdkhan14 in [#104194](https://github.com/getsentry/sentry/pull/104194) - feat(explore-attr-breakdowns): Adding chart tooltip actions by @Abdkhan14 in [#104149](https://github.com/getsentry/sentry/pull/104149) - feat(explore-attr-breakdowns-tooltip): Adding action btn background on hover in PROD by @Abdkhan14 in [#104339](https://github.com/getsentry/sentry/pull/104339) #### Explorer - feat(explorer): add syntax highlighting to diff viewer by @roaga in [#104856](https://github.com/getsentry/sentry/pull/104856) - feat(explorer): collect user timezone in context by @roaga in [#104720](https://github.com/getsentry/sentry/pull/104720) - feat(explorer): add close button by @roaga in [#104640](https://github.com/getsentry/sentry/pull/104640) - feat(explorer): open with ctrl . by @aliu39 in [#104657](https://github.com/getsentry/sentry/pull/104657) - feat(explorer): allow client to pass in metadata by @roaga in [#104606](https://github.com/getsentry/sentry/pull/104606) - feat(explorer): allow client to control and inspect coding state by @roaga in [#104502](https://github.com/getsentry/sentry/pull/104502) - feat(explorer): add UI for creating PRs by @roaga in [#104500](https://github.com/getsentry/sentry/pull/104500) - feat(explorer): add ui for questions tool by @roaga in [#104410](https://github.com/getsentry/sentry/pull/104410) - feat(explorer): add on_completion hook to client by @roaga in [#104373](https://github.com/getsentry/sentry/pull/104373) - feat(explorer): add copy and nav for logs search by @roaga in [#104421](https://github.com/getsentry/sentry/pull/104421) - feat(explorer): render todo lists by @roaga in [#104357](https://github.com/getsentry/sentry/pull/104357) - feat(explorer): convert charts to tables by @roaga in [#104295](https://github.com/getsentry/sentry/pull/104295) - feat(explorer): add copy for docs search tool by @roaga in [#104185](https://github.com/getsentry/sentry/pull/104185) - feat(explorer): handle user input run status by @roaga in [#104148](https://github.com/getsentry/sentry/pull/104148) - feat(explorer): add UI for interacting with code editing by @roaga in [#104147](https://github.com/getsentry/sentry/pull/104147) - feat(explorer): add support for multiple artifacts to client by @roaga in [#104231](https://github.com/getsentry/sentry/pull/104231) - feat(flagpole): add support for more detailed owner schema by @cvxluo in [#104504](https://github.com/getsentry/sentry/pull/104504) - feat(flags): Prevent error on null event flag by @scttcper in [#104714](https://github.com/getsentry/sentry/pull/104714) - feat(forms): Allow forms to have a collapsible field inside them by @ryan953 in [#104212](https://github.com/getsentry/sentry/pull/104212) - feat(grouping): Cache grouphash queries during ingest by @lobsterkatie in [#103956](https://github.com/getsentry/sentry/pull/103956) - feat(infra): Add seed as input to shuffle-tests job by @rbro112 in [#104664](https://github.com/getsentry/sentry/pull/104664) #### Insights - feat(insights): Adds more tags and metrics to Web Vitals issue detection by @edwardgou-sentry in [#104562](https://github.com/getsentry/sentry/pull/104562) - feat(insights): Adds sub region selectors to web vitals pages by @edwardgou-sentry in [#104321](https://github.com/getsentry/sentry/pull/104321) #### Issue Details - feat(issue-details): Show Unsymbolicated exception value, type and module in Raw view by @romtsn in [#104327](https://github.com/getsentry/sentry/pull/104327) - feat(issue-details): Show Unsymbolicated exception value, module and type by @romtsn in [#104238](https://github.com/getsentry/sentry/pull/104238) - feat(issue-details): Expose 'raw_value', 'raw_module' and 'raw_type' in exceptions by @romtsn in [#104237](https://github.com/getsentry/sentry/pull/104237) #### Issues - feat(issues): Switch to two query "empty tags" query by @scttcper in [#104840](https://github.com/getsentry/sentry/pull/104840) - feat(issues): Display exact release in dropdown by @scttcper in [#104565](https://github.com/getsentry/sentry/pull/104565) - feat(issues): Drop support for shared issue w/o org slug by @scttcper in [#104364](https://github.com/getsentry/sentry/pull/104364) - feat(issues): Remove ability to access issue share page w/o org slug by @scttcper in [#104354](https://github.com/getsentry/sentry/pull/104354) - feat(issues): Remove reporting route by @scttcper in [#104223](https://github.com/getsentry/sentry/pull/104223) - feat(llm-detector): Add `offender_span_ids` by @roggenkemper in [#104677](https://github.com/getsentry/sentry/pull/104677) - feat(np): Finish migrating data export notifications by @Christinarlong in [#103504](https://github.com/getsentry/sentry/pull/103504) #### Objectstore - feat(objectstore): Allow passing more client options by @jan-auer in [#104943](https://github.com/getsentry/sentry/pull/104943) - feat(objectstore): Handle non-chunked transfer encoding by @lcian in [#104575](https://github.com/getsentry/sentry/pull/104575) - feat(objectstore): Add proxying logic to endpoint by @lcian in [#104045](https://github.com/getsentry/sentry/pull/104045) - feat(occurrences): Add rollout utils by @thetruecpaul in [#104841](https://github.com/getsentry/sentry/pull/104841) #### Onboarding - feat(onboarding): Add wizard based onboarding flow for react router projects by @andreiborza in [#104862](https://github.com/getsentry/sentry/pull/104862) - feat(onboarding): Remove route props from onboarding by @scttcper in [#104343](https://github.com/getsentry/sentry/pull/104343) - feat(onboarding): Add metrics onboarding for PHP SDKs by @alexander-alderman-webb in [#104314](https://github.com/getsentry/sentry/pull/104314) #### Perforce - feat(perforce): Implement stacktrace linking and file blame (annotate) logic by @mujacica in [#103636](https://github.com/getsentry/sentry/pull/103636) - feat(perforce): Implement repository/depot and code mapping logic by @mujacica in [#103635](https://github.com/getsentry/sentry/pull/103635) - feat(perforce): Add backend support for Perforce integration by @mujacica in [#103171](https://github.com/getsentry/sentry/pull/103171) #### Preprod - feat(preprod): Add v0 of size issues by @chromy in [#104953](https://github.com/getsentry/sentry/pull/104953) - feat(preprod): Add tooling versions to `apple_app_info` and `android_app_info` (EME-606) by @runningcode in [#104846](https://github.com/getsentry/sentry/pull/104846) - feat(preprod): Show image scale info on treemap tooltip if available by @NicoHinderling in [#104879](https://github.com/getsentry/sentry/pull/104879) - feat(preprod): Add preprod issue types to frontend by @chromy in [#104600](https://github.com/getsentry/sentry/pull/104600) - feat(preprod): Link settings page from build{List,Details} by @chromy in [#104672](https://github.com/getsentry/sentry/pull/104672) - feat(preprod): Add tooling version fields to PreprodArtifact (EME-606) by @runningcode in [#103062](https://github.com/getsentry/sentry/pull/103062) - feat(preprod): Add empty preprod settings page by @chromy in [#104670](https://github.com/getsentry/sentry/pull/104670) - feat(preprod): Add insight comparison frontend by @rbro112 in [#103775](https://github.com/getsentry/sentry/pull/103775) - feat(preprod): Add preprod grouptype by @chromy in [#104579](https://github.com/getsentry/sentry/pull/104579) - feat(preprod): add compare deltas to metric cards (EME-568) by @cameroncooke in [#104451](https://github.com/getsentry/sentry/pull/104451) - feat(preprod): Add insight comparison by @rbro112 in [#103774](https://github.com/getsentry/sentry/pull/103774) - feat(preprod): skip renames from showing in diff by @trevor-e in [#104306](https://github.com/getsentry/sentry/pull/104306) - feat(preprod): add base_size_metrics to build details api (EME-568) by @cameroncooke in [#104516](https://github.com/getsentry/sentry/pull/104516) - feat(preprod): support creating multiple size metrics by @trevor-e in [#103861](https://github.com/getsentry/sentry/pull/103861) - feat(preprod): expose status check data through build details API by @trevor-e in [#104085](https://github.com/getsentry/sentry/pull/104085) - feat(profiling): Add project id based kill switch in ingest-profiles by @Zylphrex in [#104587](https://github.com/getsentry/sentry/pull/104587) - feat(project-selector): Support multiple selection in form project selector component by @malwilley in [#104204](https://github.com/getsentry/sentry/pull/104204) - feat(relay-config): add possible values for `gen_ai.operation.name` to the `AI_OPERATION_TYPE_MAP` so that we can then directly query it that way by @constantinius in [#104242](https://github.com/getsentry/sentry/pull/104242) - feat(releases): Add mobile tab to releases by @mtopo27 in [#104376](https://github.com/getsentry/sentry/pull/104376) #### Replay - feat(replay): add model to allow per-user access control for replays by @shellmayr in [#104446](https://github.com/getsentry/sentry/pull/104446) - feat(Replay): Add URLs Visited to EAP Replay Query by @cliffordxing in [#104538](https://github.com/getsentry/sentry/pull/104538) - feat(replay): Allow network config to be expandable by @billyvg in [#104179](https://github.com/getsentry/sentry/pull/104179) - feat(rpc): Add more query logging by @wmak in [#104480](https://github.com/getsentry/sentry/pull/104480) - feat(sdk): Enable Django SQL transaction spans by @alexander-alderman-webb in [#104383](https://github.com/getsentry/sentry/pull/104383) - feat(search-bar): Add fuzzy search option by @nsdeschenes in [#104792](https://github.com/getsentry/sentry/pull/104792) #### Seer - feat(seer): Update issue details seer drawer onboarding by @Zylphrex in [#104679](https://github.com/getsentry/sentry/pull/104679) - feat(seer): Save RCA step changes to backend by @billyvg in [#104881](https://github.com/getsentry/sentry/pull/104881) - feat(seer): Implement bulk editing for repo code-review settings by @ryan953 in [#104908](https://github.com/getsentry/sentry/pull/104908) - feat(seer): Update enrollment copy and change requirements to advance steps by @billyvg in [#104884](https://github.com/getsentry/sentry/pull/104884) - feat(seer): Implement toggling individual repos for code-review on seer org settings by @ryan953 in [#104886](https://github.com/getsentry/sentry/pull/104886) - feat(seer): Add setup CTA in sub settings by @isabellaenriquez in [#104718](https://github.com/getsentry/sentry/pull/104718) - feat(seer): Change "Finish" link to settings by @billyvg in [#104867](https://github.com/getsentry/sentry/pull/104867) - feat(seer): Add a banner to bring people into Seer onboarding if they're not done yet by @ryan953 in [#104823](https://github.com/getsentry/sentry/pull/104823) - feat(seer): Save Code Review onboarding repos by @billyvg in [#104774](https://github.com/getsentry/sentry/pull/104774) - feat(seer): Limit prepopulating repos for RCA step by @billyvg in [#104728](https://github.com/getsentry/sentry/pull/104728) - feat(seer): Add an interstitial for when people want to trial new seer by @ryan953 in [#104813](https://github.com/getsentry/sentry/pull/104813) - feat(seer): Add bg images for onboarding wizard by @billyvg in [#104819](https://github.com/getsentry/sentry/pull/104819) - feat(seer): Add a settings page to list all repos Seer can be configed against by @ryan953 in [#104735](https://github.com/getsentry/sentry/pull/104735) - feat(seer): Onboarding copy updates by @billyvg in [#104717](https://github.com/getsentry/sentry/pull/104717) - feat(seer): Make active contributors giftable by @isabellaenriquez in [#104623](https://github.com/getsentry/sentry/pull/104623) - feat(seer): Add toggle for code review step in onboarding by @billyvg in [#104705](https://github.com/getsentry/sentry/pull/104705) - feat(seer): Allow users to add more repos in RCA onboarding step by @billyvg in [#104626](https://github.com/getsentry/sentry/pull/104626) - feat(seer): Update fields for code-review on the Org>Seer settings page by @ryan953 in [#104696](https://github.com/getsentry/sentry/pull/104696) - feat(seer): Add assets for seer onboarding by @Zylphrex in [#104682](https://github.com/getsentry/sentry/pull/104682) - feat(seer): Seer org-level bulk project settings page by @ryan953 in [#104594](https://github.com/getsentry/sentry/pull/104594) - feat(seer): Change repo to be a Select dropdown by @billyvg in [#104628](https://github.com/getsentry/sentry/pull/104628) - feat(seer): Add org flags for Seer default settings by @ryan953 in [#104362](https://github.com/getsentry/sentry/pull/104362) - feat(seer): Add new onboarding for Seer by @billyvg in [#104215](https://github.com/getsentry/sentry/pull/104215) - feat(seer): Add Seer-specific content to Subscription Settings by @isabellaenriquez in [#104476](https://github.com/getsentry/sentry/pull/104476) - feat(seer): Bootstrap Org-wide Seer settings main page by @ryan953 in [#104081](https://github.com/getsentry/sentry/pull/104081) - feat(seer): Add new pricing and packaging to checkout + enable test plan checkout by @isabellaenriquez in [#104431](https://github.com/getsentry/sentry/pull/104431) - feat(seer): Wrap org-level seer settings pages with a feature check and header content by @ryan953 in [#104340](https://github.com/getsentry/sentry/pull/104340) - feat(seer): Add feature flag for Seer new onboarding by @billyvg in [#104265](https://github.com/getsentry/sentry/pull/104265) - feat(seer): Add Auto-open PR and Cursor handoff toggles for triage-signals-v0 [feature flagged] by @Mihir-Mavalankar in [#103932](https://github.com/getsentry/sentry/pull/103932) #### Seer Onboarding - feat(seer onboarding): add Seer onboarding endpoint by @srest2021 in [#104818](https://github.com/getsentry/sentry/pull/104818) - feat(seer onboarding): Function to set Seer settings via onboarding wizard by @Mihir-Mavalankar in [#104642](https://github.com/getsentry/sentry/pull/104642) - feat(seer setting): Task to change Seer settings for projects for new and existing orgs by @Mihir-Mavalankar in [#104290](https://github.com/getsentry/sentry/pull/104290) #### Seer Settings - feat(seer settings): Fix bug and change seer project level defaults if feature flag is set by @Mihir-Mavalankar in [#104402](https://github.com/getsentry/sentry/pull/104402) - feat(seer settings): Frontend defaults for new auto_open_pr org level default by @Mihir-Mavalankar in [#104207](https://github.com/getsentry/sentry/pull/104207) - feat(seer settings): New auto_open_pr org level default by @Mihir-Mavalankar in [#104205](https://github.com/getsentry/sentry/pull/104205) - feat(seer-explorer): add hook to open explorer by @roaga in [#104540](https://github.com/getsentry/sentry/pull/104540) - feat(seer_grouping): Filter Seer grouping requests by token count instead of frame count by @yuvmen in [#103997](https://github.com/getsentry/sentry/pull/103997) - feat(seer-launch): Add bulk GET RCA settings by @suejung-sentry in [#104844](https://github.com/getsentry/sentry/pull/104844) - feat(seer-rpc): org and project endpoint for calling seer rpc endpoints publicly by @jennmueng in [#103247](https://github.com/getsentry/sentry/pull/103247) #### Segment Enrichment - feat(segment-enrichment): Bump segment clusterer rule lifetimes by @mjq in [#104280](https://github.com/getsentry/sentry/pull/104280) - feat(segment-enrichment): Apply clusterer to segment names by @mjq in [#104192](https://github.com/getsentry/sentry/pull/104192) - feat(self-hosted): Manually bump metadata by @hubertdeng123 in [#104175](https://github.com/getsentry/sentry/pull/104175) - feat(span-migration): add post migration warnings and UI changes in old alerts by @nikkikapadia in [#104125](https://github.com/getsentry/sentry/pull/104125) - feat(spans): Feature flags for attachment processing by @jjbayer in [#104752](https://github.com/getsentry/sentry/pull/104752) - feat(spans-migration): add post migration warnings to new monitors UI by @nikkikapadia in [#104143](https://github.com/getsentry/sentry/pull/104143) - feat(stories): add contributing guide by @natemoo-re in [#104206](https://github.com/getsentry/sentry/pull/104206) - feat(timeseries): Add cross trace querying by @wmak in [#104425](https://github.com/getsentry/sentry/pull/104425) #### Top Issues - feat(top-issues): project tooltip by @cvxluo in [#104678](https://github.com/getsentry/sentry/pull/104678) - feat(top-issues): show escalating top issues by @cvxluo in [#104568](https://github.com/getsentry/sentry/pull/104568) - feat(top-issues): use new cluster-level descriptors by @cvxluo in [#104567](https://github.com/getsentry/sentry/pull/104567) - feat(top-issues): increase visual contrast between clusters by @cvxluo in [#104491](https://github.com/getsentry/sentry/pull/104491) - feat(top-issues): flex column heights by @cvxluo in [#104380](https://github.com/getsentry/sentry/pull/104380) - feat(top-issues): show last updated time by @cvxluo in [#104379](https://github.com/getsentry/sentry/pull/104379) - feat(top-issues): add seer actions by @cvxluo in [#104350](https://github.com/getsentry/sentry/pull/104350) - feat(top-issues): add projects filter by @cvxluo in [#104333](https://github.com/getsentry/sentry/pull/104333) - feat(top-issues): add feedback form by @cvxluo in [#104251](https://github.com/getsentry/sentry/pull/104251) - feat(top-issues): new visual hierarchy for cluster cards by @cvxluo in [#104197](https://github.com/getsentry/sentry/pull/104197) - feat(top-issues): add more specific tags by @cvxluo in [#104181](https://github.com/getsentry/sentry/pull/104181) #### Trace - feat(trace): Add more instrumentation by @wmak in [#104772](https://github.com/getsentry/sentry/pull/104772) - feat(trace): Add support for trace pagination by @wmak in [#104088](https://github.com/getsentry/sentry/pull/104088) - feat(trace-metrics): Support querying multiple metrics by @Zylphrex in [#104182](https://github.com/getsentry/sentry/pull/104182) - feat(trace-waterfall): Add warning for old traces by @nsdeschenes in [#104630](https://github.com/getsentry/sentry/pull/104630) #### Tracemetrics - feat(tracemetrics): Add initial dataset implementation to dashboards by @narsaynorath in [#104518](https://github.com/getsentry/sentry/pull/104518) - feat(tracemetrics): Allow up to 8 metrics by @narsaynorath in [#104545](https://github.com/getsentry/sentry/pull/104545) #### Triage Signals - feat(triage signals): Seer projects on new pricing need to have repos linked to use autofix by @Mihir-Mavalankar in [#104477](https://github.com/getsentry/sentry/pull/104477) - feat(triage signals): Add billing flag to all triage signals check by @Mihir-Mavalankar in [#104570](https://github.com/getsentry/sentry/pull/104570) - feat(triage signals): Use new seat based pricing feature flag by @Mihir-Mavalankar in [#104528](https://github.com/getsentry/sentry/pull/104528) - feat(triage signals): Logging related updates by @Mihir-Mavalankar in [#104210](https://github.com/getsentry/sentry/pull/104210) - feat(triage signals): Swap project level feature flag with org level by @Mihir-Mavalankar in [#104080](https://github.com/getsentry/sentry/pull/104080) #### Ui - feat(ui): Add `useUpdateOrganization` to use in Seer onboarding by @billyvg in [#104730](https://github.com/getsentry/sentry/pull/104730) - feat(ui): OverflowBoundaryContext by @TkDodo in [#104745](https://github.com/getsentry/sentry/pull/104745) - feat(ui): virtualization for compactSelect by @TkDodo in [#104574](https://github.com/getsentry/sentry/pull/104574) - feat(ui): Convert Feature component to FC by @scttcper in [#104659](https://github.com/getsentry/sentry/pull/104659) - feat(ui): Allow deferred renders of `SlideOverPanel` by @gggritso in [#103852](https://github.com/getsentry/sentry/pull/103852) - feat(uptime): Add `cURL` example to http snippet by @evanpurkhiser in [#104768](https://github.com/getsentry/sentry/pull/104768) #### Usage Overview - feat(usage overview): Release new Usage Overview by @isabellaenriquez in [#104165](https://github.com/getsentry/sentry/pull/104165) - feat(usage overview): Introduce new table by @isabellaenriquez in [#104164](https://github.com/getsentry/sentry/pull/104164) - feat(usage overview): Add breakdown into panel by @isabellaenriquez in [#104141](https://github.com/getsentry/sentry/pull/104141) - feat(usage overview): Introduce new panel by @isabellaenriquez in [#104140](https://github.com/getsentry/sentry/pull/104140) - feat(usage overview): Extract drawer charts into component by @isabellaenriquez in [#104138](https://github.com/getsentry/sentry/pull/104138) - feat(usage overview): Update buttons by @isabellaenriquez in [#104134](https://github.com/getsentry/sentry/pull/104134) - feat(usage overview): Introduce util functions and hook by @isabellaenriquez in [#104131](https://github.com/getsentry/sentry/pull/104131) - feat(workflow_engine): Add list of tags to help users define alerts by @saponifi3d in [#103711](https://github.com/getsentry/sentry/pull/103711) - feat: Add webhook guards for determining when to update/add org contribs by @ajay-sentry in [#104371](https://github.com/getsentry/sentry/pull/104371) - feat(hybridcloud) Add response size metric by @markstory in [#104859](https://github.com/getsentry/sentry/pull/104859) - feat: Do a prefetch on stats endpoint by @shruthilayaj in [#104858](https://github.com/getsentry/sentry/pull/104858) - feat: Create bulk PUT seer automation option setting by @ajay-sentry in [#104732](https://github.com/getsentry/sentry/pull/104732) - feat: match substring on known public aliases by @shruthilayaj in [#104786](https://github.com/getsentry/sentry/pull/104786) - feat: Bulk PUT endpoint for repository settings by @ajay-sentry in [#104722](https://github.com/getsentry/sentry/pull/104722) - feat: Add expand param to list org repos endpoint for repository settings by @ajay-sentry in [#104713](https://github.com/getsentry/sentry/pull/104713) - feat: Create new repository settings table by @ajay-sentry in [#104645](https://github.com/getsentry/sentry/pull/104645) - feat(cells) Add tracer logs to ReactPage by @markstory in [#104676](https://github.com/getsentry/sentry/pull/104676) - feat: Add thumbs up/down feedback to Seer cards by @JoshFerge in [#104569](https://github.com/getsentry/sentry/pull/104569) - feat: Add pagination to trace item stats endpoint by @shruthilayaj in [#104391](https://github.com/getsentry/sentry/pull/104391) - feat: send public alias in stats endpoint by @shruthilayaj in [#104346](https://github.com/getsentry/sentry/pull/104346) - feat: Apply max pickable days to profiling by @Zylphrex in [#104326](https://github.com/getsentry/sentry/pull/104326) - feat: Apply max pickable days to transaction summary by @Zylphrex in [#104193](https://github.com/getsentry/sentry/pull/104193) - feat: Apply max pickable days to insights by @Zylphrex in [#104201](https://github.com/getsentry/sentry/pull/104201) - feat: Add organizationcontributor seat type by @ajay-sentry in [#104299](https://github.com/getsentry/sentry/pull/104299) - feat: create new task for organization contributor reset by @ajay-sentry in [#104259](https://github.com/getsentry/sentry/pull/104259) - feat: Update integration_id cascade to null for organization contributor table by @ajay-sentry in [#104262](https://github.com/getsentry/sentry/pull/104262) - feat: Store user updated metadata in snapshot by @shruthilayaj in [#104200](https://github.com/getsentry/sentry/pull/104200) - feat: Split tooltip for adjacent traces in two by @JPeer264 in [#104150](https://github.com/getsentry/sentry/pull/104150) - feat: Special extrapolation on count alerts only by @shruthilayaj in [#104183](https://github.com/getsentry/sentry/pull/104183) - feat: Create OrganizationContributors table in region dbs by @ajay-sentry in [#103839](https://github.com/getsentry/sentry/pull/103839) ### Bug Fixes 🐛 #### Aci - fix(aci): Extend taint tracking to delayed workflow condition evaluation by @kcons in [#104368](https://github.com/getsentry/sentry/pull/104368) - fix(aci): Use opt-out flag for create alert button by @malwilley in [#104826](https://github.com/getsentry/sentry/pull/104826) - fix(aci): Filter by project in metric issue contributing issues by @malwilley in [#104863](https://github.com/getsentry/sentry/pull/104863) - fix(aci): set action config values to `null` instead of `''` or undefined by @ameliahsu in [#104796](https://github.com/getsentry/sentry/pull/104796) - fix(aci): use project slug instead of deprecated name by @ameliahsu in [#104762](https://github.com/getsentry/sentry/pull/104762) - fix(aci): deep link Create Monitor buttons to /new/settings link by @ameliahsu in [#104764](https://github.com/getsentry/sentry/pull/104764) - fix(aci): Make update_data_source_for_detector more accurate by @kcons in [#104831](https://github.com/getsentry/sentry/pull/104831) - fix(aci): Remove DataCondition duration-triggered error by @kcons in [#104635](https://github.com/getsentry/sentry/pull/104635) - fix(aci): Correct direction of resolution threshold by @malwilley in [#104788](https://github.com/getsentry/sentry/pull/104788) - fix(aci): remove rule project check in digest generation by @cathteng in [#104729](https://github.com/getsentry/sentry/pull/104729) - fix(ACI): Correctly read target_type and target_identifier values from Action.config by @ceorourke in [#104634](https://github.com/getsentry/sentry/pull/104634) - fix(aci): Update create alert buttons to reference monitors by @malwilley in [#104656](https://github.com/getsentry/sentry/pull/104656) - fix(aci): add % suffix to data condition field by @ameliahsu in [#104691](https://github.com/getsentry/sentry/pull/104691) - fix(aci): New monitor form should handle missing project ID by @malwilley in [#104687](https://github.com/getsentry/sentry/pull/104687) - fix(aci): Use em dash instead of 'unknown' for trigger history by @malwilley in [#104650](https://github.com/getsentry/sentry/pull/104650) - fix(aci): return full workflow in PUT response by @ameliahsu in [#104654](https://github.com/getsentry/sentry/pull/104654) - fix(aci): fix resolution shading on metric charts by @ameliahsu in [#104563](https://github.com/getsentry/sentry/pull/104563) - fix(ACI): Fix no one fallthrough type by @ceorourke in [#104613](https://github.com/getsentry/sentry/pull/104613) - fix(aci): camelCase action data fields in serializer by @ameliahsu in [#104597](https://github.com/getsentry/sentry/pull/104597) - fix(aci): assign condition subfilter ids on alert edit by @ameliahsu in [#104555](https://github.com/getsentry/sentry/pull/104555) - fix(aci): Use detector config in issue details by @malwilley in [#104584](https://github.com/getsentry/sentry/pull/104584) - fix(aci): prevent invalid custom resolve thresholds by @ameliahsu in [#104561](https://github.com/getsentry/sentry/pull/104561) - fix(aci): remove targetDisplay from test notification payload by @ameliahsu in [#104548](https://github.com/getsentry/sentry/pull/104548) - fix(aci): Error metric detectors should include error types in query by @malwilley in [#104363](https://github.com/getsentry/sentry/pull/104363) - fix(aci): update issue alert migrator to look up cron monitor for specific project by @ameliahsu in [#104344](https://github.com/getsentry/sentry/pull/104344) - fix(aci): Add dataset and query formatting to metric issue by @malwilley in [#104284](https://github.com/getsentry/sentry/pull/104284) - fix(aci): Make workflow evaluation logs conditional by @kcons in [#104334](https://github.com/getsentry/sentry/pull/104334) - fix(ACI): pass trigger ID as kwarg to action -> ARTA serializer by @mifu67 in [#104277](https://github.com/getsentry/sentry/pull/104277) - fix(aci): fix sending test notification for sentry app by @cathteng in [#104086](https://github.com/getsentry/sentry/pull/104086) - fix(ACI): Filter migration and emit logs by @ceorourke in [#104053](https://github.com/getsentry/sentry/pull/104053) - fix(aci): handle fake incident ids in IGOP lookup by @ameliahsu in [#103937](https://github.com/getsentry/sentry/pull/103937) - fix(agents): short instead of extraShort timedelta formatting by @shellmayr in [#104754](https://github.com/getsentry/sentry/pull/104754) - fix(ai-code-review): Add on_new_commit flag by @suejung-sentry in [#104489](https://github.com/getsentry/sentry/pull/104489) #### Ai Insights - fix(ai-insights): cost calculation by @obostjancic in [#104944](https://github.com/getsentry/sentry/pull/104944) - fix(ai-insights): trace table padding by @obostjancic in [#104845](https://github.com/getsentry/sentry/pull/104845) - fix(ai-insights): persist project selection for explore by @obostjancic in [#104668](https://github.com/getsentry/sentry/pull/104668) - fix(ai-insights): disable extrapolation in traces table by @obostjancic in [#104573](https://github.com/getsentry/sentry/pull/104573) - fix(ai-insights): remove instructions to disable integrations by @obostjancic in [#104158](https://github.com/getsentry/sentry/pull/104158) - fix(anomaly detection): move seer anomaly detection data back one time window by @shayna-ch in [#104781](https://github.com/getsentry/sentry/pull/104781) #### Anomaly Thresholds - fix(anomaly thresholds): Only call endpoint if anomaly detection by @shayna-ch in [#104557](https://github.com/getsentry/sentry/pull/104557) - fix(anomaly thresholds): add email level feature flag by @shayna-ch in [#104170](https://github.com/getsentry/sentry/pull/104170) #### Api - fix(api): Update List Seer AI Models to reflect that it is regional by @sehr-m in [#104530](https://github.com/getsentry/sentry/pull/104530) - fix(api): edit watch script so dirname is defined by @sehr-m in [#104536](https://github.com/getsentry/sentry/pull/104536) #### Assisted Query - fix(assisted-query): return correct usernames/emails in field values by @roaga in [#104894](https://github.com/getsentry/sentry/pull/104894) - fix(assisted-query): include all built in fields for issues and get values for them by @roaga in [#104784](https://github.com/getsentry/sentry/pull/104784) #### Autofix - fix(autofix): correct webhooks + nits by @roaga in [#104855](https://github.com/getsentry/sentry/pull/104855) - fix(autofix): misc UI fixes by @roaga in [#104865](https://github.com/getsentry/sentry/pull/104865) - fix(billing): Use dynamic category for in-app Seer product trial start by @dashed in [#104616](https://github.com/getsentry/sentry/pull/104616) #### Code Review - fix(code-review): Return enabled config for code review beta cohort by @suejung-sentry in [#104899](https://github.com/getsentry/sentry/pull/104899) - fix(code-review): Fix bulk RCA settings when pref is none by @suejung-sentry in [#104897](https://github.com/getsentry/sentry/pull/104897) - fix(code-review): do not check the PR review toggle in consent check for seat-based plan by @srest2021 in [#104700](https://github.com/getsentry/sentry/pull/104700) - fix(codeowners): Add retry attempts for the `code_owners_auto_sync` task by @shashjar in [#104648](https://github.com/getsentry/sentry/pull/104648) - fix(crons): Handle deleted environments in serializers by @evanpurkhiser in [#104680](https://github.com/getsentry/sentry/pull/104680) #### Dashboards - fix(dashboards): prebuilt dashboards not syncing titles by @DominikB2014 in [#104533](https://github.com/getsentry/sentry/pull/104533) - fix(dashboards): fix bar charts not stacking by @DominikB2014 in [#104529](https://github.com/getsentry/sentry/pull/104529) - fix(dashboards): temporary filters broken when changing values by @DominikB2014 in [#104482](https://github.com/getsentry/sentry/pull/104482) - fix(dashboards): Limit maximum fraction digits in time series widget formatting by @seer-by-sentry in [#104514](https://github.com/getsentry/sentry/pull/104514) - fix(dashboards): Improve rendering of small and fractional numbers in charts by @gggritso in [#104456](https://github.com/getsentry/sentry/pull/104456) - fix(dashboards): Fix an issue where widget builder preview was not using the new widget visualization component by @edwardgou-sentry in [#104415](https://github.com/getsentry/sentry/pull/104415) - fix(dashboards): Fix duplicating prebuilt dashboard 400 within dashboard page by @edwardgou-sentry in [#104406](https://github.com/getsentry/sentry/pull/104406) - fix(dashboards): Fix duplicate prebuilt dashboard from table manage view producing empty dashboard by @edwardgou-sentry in [#104409](https://github.com/getsentry/sentry/pull/104409) - fix(dashboards): context menu doesn't show up insights prebuilt dashboards by @DominikB2014 in [#104401](https://github.com/getsentry/sentry/pull/104401) - fix(dashboards): add padding and autoresizing text in details widget by @DominikB2014 in [#104393](https://github.com/getsentry/sentry/pull/104393) - fix(dashboards): Hide group by option for series display Issue widgets by @edwardgou-sentry in [#104370](https://github.com/getsentry/sentry/pull/104370) - fix(dashboards): Hide filter bar on issue series widget builder by @edwardgou-sentry in [#104322](https://github.com/getsentry/sentry/pull/104322) - fix(dashboards): Acquire lock when checking dashboard count for creation by @narsaynorath in [#104248](https://github.com/getsentry/sentry/pull/104248) - fix(dashboards): queries page table overflows by @DominikB2014 in [#104253](https://github.com/getsentry/sentry/pull/104253) - fix(dashboards): linked dashboards not being populated on normal dashboard page by @DominikB2014 in [#104241](https://github.com/getsentry/sentry/pull/104241) - fix(dashboards): dashboard links not perserving selection by @DominikB2014 in [#104176](https://github.com/getsentry/sentry/pull/104176) - fix(dashboards): Removes edit permission on widget context menu for prebuilt dashboards by @edwardgou-sentry in [#104133](https://github.com/getsentry/sentry/pull/104133) - fix(deletions): Fix BulkDeleteQuery pagination by @yuvmen in [#104435](https://github.com/getsentry/sentry/pull/104435) #### Detectors - fix(detectors): Don't use flex to join text by @evanpurkhiser in [#104697](https://github.com/getsentry/sentry/pull/104697) - fix(detectors): Render list \_after_ visualisation by @evanpurkhiser in [#104681](https://github.com/getsentry/sentry/pull/104681) - fix(eap): Cast OOB ints to str by @thetruecpaul in [#104787](https://github.com/getsentry/sentry/pull/104787) - fix(eap-resolver): escape sequences should also be translated in a `in` query by @DominikB2014 in [#104188](https://github.com/getsentry/sentry/pull/104188) - fix(events): Handle wildcards for the environment filter by @wmak in [#104272](https://github.com/getsentry/sentry/pull/104272) #### Explore - fix(explore): Should check if raw count is defined by @Zylphrex in [#104853](https://github.com/getsentry/sentry/pull/104853) - fix(explore): Resolve cross event dropdown tooltip hover issues by @nsdeschenes in [#104317](https://github.com/getsentry/sentry/pull/104317) #### Explorer - fix(explorer): handle issues w 1 event and fix start/end validation by @aliu39 in [#104869](https://github.com/getsentry/sentry/pull/104869) - fix(explorer): allow clicks on links by @roaga in [#104919](https://github.com/getsentry/sentry/pull/104919) - fix(explorer): handle failed issue tool link by @aliu39 in [#104868](https://github.com/getsentry/sentry/pull/104868) - fix(explorer): just use clickable links and fix wobble by @roaga in [#104709](https://github.com/getsentry/sentry/pull/104709) - fix(explorer): bucket on page charts by @roaga in [#104653](https://github.com/getsentry/sentry/pull/104653) - fix(explorer): fix group bys in nav links by @roaga in [#104660](https://github.com/getsentry/sentry/pull/104660) - fix(explorer): allow None file patches and log error by @roaga in [#104559](https://github.com/getsentry/sentry/pull/104559) - fix(explorer): strip Z for abs time nav links by @aliu39 in [#104525](https://github.com/getsentry/sentry/pull/104525) - fix(explorer): use right dataset for issue event stats by @roaga in [#104308](https://github.com/getsentry/sentry/pull/104308) - fix(explorer): fix copy and add nav for log/metric by trace tools by @aliu39 in [#104226](https://github.com/getsentry/sentry/pull/104226) #### Flamegraph - fix(flamegraph): Fix continuous flamegraph non call order by @Zylphrex in [#104582](https://github.com/getsentry/sentry/pull/104582) - fix(flamegraph): Only dispatch checkpoint when finishing flamegraph i… by @Zylphrex in [#104564](https://github.com/getsentry/sentry/pull/104564) - fix(group_update): Handle last_seen integer overflow on groups by @yuvmen in [#104297](https://github.com/getsentry/sentry/pull/104297) #### Grouping - fix(grouping): Fix grouphash caching metric cache expiry tagging by @lobsterkatie in [#104537](https://github.com/getsentry/sentry/pull/104537) - fix(grouping): Use underscores in test hash values by @lobsterkatie in [#104220](https://github.com/getsentry/sentry/pull/104220) #### Infra - fix(infra): Fix test ID sequencing flake by @rbro112 in [#104834](https://github.com/getsentry/sentry/pull/104834) - fix(infra): Fix test_dual_write test pollution causing flakes by @rbro112 in [#104741](https://github.com/getsentry/sentry/pull/104741) - fix(infra): Fix span convert test pollution by @rbro112 in [#104661](https://github.com/getsentry/sentry/pull/104661) - fix(issue-details): Always attach lineno to Java frames in 'raw' view by @romtsn in [#104387](https://github.com/getsentry/sentry/pull/104387) - fix(issue-timeseries): Unfilled buckets when ts aren't aligned by @wmak in [#103771](https://github.com/getsentry/sentry/pull/103771) #### Issues - fix(issues): Handle None users in GroupSearchView serializer by @evanpurkhiser in [#104178](https://github.com/getsentry/sentry/pull/104178) - fix(issues): Fix `auto_ongoing_issues` task timeouts by @yuvmen in [#104036](https://github.com/getsentry/sentry/pull/104036) - fix(issues): Handle null starred issue views by @malwilley in [#104169](https://github.com/getsentry/sentry/pull/104169) - fix(java): Allow frame removals during symbolication by @romtsn in [#104319](https://github.com/getsentry/sentry/pull/104319) - fix(llm-detector): Add better platform parsing by @roggenkemper in [#104475](https://github.com/getsentry/sentry/pull/104475) #### Np - fix(np): Add dto for notification target by @Christinarlong in [#104775](https://github.com/getsentry/sentry/pull/104775) - fix(np): Remove frozen dataclass due to task/dict behavior by @Christinarlong in [#104643](https://github.com/getsentry/sentry/pull/104643) - fix(options): Fix and improve type coverage by @kcons in [#104474](https://github.com/getsentry/sentry/pull/104474) - fix(ourlogs): Add more logging around autorefresh by @k-fish in [#104472](https://github.com/getsentry/sentry/pull/104472) #### Preprod - fix(preprod): Remove invalid tag (organization_id) by @chromy in [#104747](https://github.com/getsentry/sentry/pull/104747) - fix(preprod): Handle missing date_built in UI and backend (EME-671) by @runningcode in [#104444](https://github.com/getsentry/sentry/pull/104444) #### Profiling - fix(profiling): Maximum update depth exceeded error on flamegraphs by @Zylphrex in [#104544](https://github.com/getsentry/sentry/pull/104544) - fix(profiling): Round continuous profile timestamps appropriately by @Zylphrex in [#104541](https://github.com/getsentry/sentry/pull/104541) #### Replay - fix(Replay): Normalize Project ID Typing To Int For Frontend by @cliffordxing in [#104358](https://github.com/getsentry/sentry/pull/104358) - fix(Replay): Use Sentry Prefix for Project_id by @cliffordxing in [#104296](https://github.com/getsentry/sentry/pull/104296) - fix(Replay): Query Timestamp as Double then Convert to ISO by @cliffordxing in [#104191](https://github.com/getsentry/sentry/pull/104191) - fix(reprocessing): require `event:admin` when deleting remaining events by @oioki in [#104313](https://github.com/getsentry/sentry/pull/104313) - fix(rules): Skip none on combined rule serialization by @ceorourke in [#104196](https://github.com/getsentry/sentry/pull/104196) #### Scraps - fix(scraps): add top/left/bottom/right positions to container by @TkDodo in [#104951](https://github.com/getsentry/sentry/pull/104951) - fix(scraps): turn of focus-visible styles for LinkButton applied by link by @TkDodo in [#104954](https://github.com/getsentry/sentry/pull/104954) - fix(scraps): allow `font-weight: 500` for Rubik Medium by @natemoo-re in [#104620](https://github.com/getsentry/sentry/pull/104620) #### Seer - fix(seer): Iterate on the seer autofix settings apis by @ryan953 in [#104929](https://github.com/getsentry/sentry/pull/104929) - fix(seer): Avoid nested links in the Seer>Project settings list by @ryan953 in [#104910](https://github.com/getsentry/sentry/pull/104910) - fix(seer): Allow self-serve and billing users to go to the /subscription page and try to start Seer trial by @ryan953 in [#104820](https://github.com/getsentry/sentry/pull/104820) - fix(seer): call addLoadingMessage() when saving in case it takes a while to get a response by @ryan953 in [#104825](https://github.com/getsentry/sentry/pull/104825) - fix(seer): Fix simple organization seer rpcs by @Zylphrex in [#104483](https://github.com/getsentry/sentry/pull/104483) - fix(seer): Allow org read permissions on seer public rpc by @Zylphrex in [#104473](https://github.com/getsentry/sentry/pull/104473) - fix(seer settings): Fallback to code mappings if seer preferences don't exist by @Mihir-Mavalankar in [#104795](https://github.com/getsentry/sentry/pull/104795) - fix(seer-rpc): map org id for get_attributes_for_span by @aliu39 in [#104486](https://github.com/getsentry/sentry/pull/104486) #### Settings - fix(settings): Remove deprecated route props from auth token by @scttcper in [#104870](https://github.com/getsentry/sentry/pull/104870) - fix(settings): Prevent error on Undo allowed domain change by @scttcper in [#104721](https://github.com/getsentry/sentry/pull/104721) #### Spans Migration - fix(spans-migration): query for `updating` query subscriptions by @nikkikapadia in [#104866](https://github.com/getsentry/sentry/pull/104866) - fix(spans-migration): add count params to query instead by @nikkikapadia in [#104624](https://github.com/getsentry/sentry/pull/104624) - fix(spans-migration): commit changes once everything passes by @nikkikapadia in [#104580](https://github.com/getsentry/sentry/pull/104580) - fix(spans-migration): add fixes for alerts rollback migration by @nikkikapadia in [#104469](https://github.com/getsentry/sentry/pull/104469) - fix(spans-migration): error handling for nonexistent data source by @nikkikapadia in [#104342](https://github.com/getsentry/sentry/pull/104342) - fix(spans-migration): query the query subscription to get to data source in alerts translation by @nikkikapadia in [#104275](https://github.com/getsentry/sentry/pull/104275) - fix(tagstore): Add referrer by @thetruecpaul in [#104833](https://github.com/getsentry/sentry/pull/104833) - fix(theme): adjust theme.level tokens for new palette by @natemoo-re in [#104806](https://github.com/getsentry/sentry/pull/104806) - fix(trace): Set a limit on the trace query by @wmak in [#104532](https://github.com/getsentry/sentry/pull/104532) #### Tracemetrics - fix(tracemetrics): Make scroll-to-top appear earlier by @k-fish in [#104639](https://github.com/getsentry/sentry/pull/104639) - fix(tracemetrics): Improve metrics analytics by @k-fish in [#104495](https://github.com/getsentry/sentry/pull/104495) - fix(tracemetrics): pageload event should fire when creating a new metric by @k-fish in [#104269](https://github.com/getsentry/sentry/pull/104269) - fix(tracemetrics): Stop double metric events from firing by @k-fish in [#104222](https://github.com/getsentry/sentry/pull/104222) - fix(traige signals): Fix rare fixability failure issue by @Mihir-Mavalankar in [#104438](https://github.com/getsentry/sentry/pull/104438) - fix(triage signals): Return False if feature flag can't be checked by @Mihir-Mavalankar in [#104814](https://github.com/getsentry/sentry/pull/104814) - fix(types): Fix return type of `update_with_returning` by @lobsterkatie in [#104225](https://github.com/getsentry/sentry/pull/104225) #### Typing - fix(typing): Add types to eventstream tests by @thetruecpaul in [#104266](https://github.com/getsentry/sentry/pull/104266) - fix(typing): Add types to sentry.eventtypes by @thetruecpaul in [#104258](https://github.com/getsentry/sentry/pull/104258) #### Ui - fix(ui): DesyncedFilterIndicator positioning by @TkDodo in [#104942](https://github.com/getsentry/sentry/pull/104942) - fix(ui): align dashboard button sizes with PageFilterBar by @TkDodo in [#104939](https://github.com/getsentry/sentry/pull/104939) - fix(ui): Button's label clipped by @priscilawebdev in [#104849](https://github.com/getsentry/sentry/pull/104849) - fix(ui): Make detector list visualizations more prominent by @evanpurkhiser in [#104703](https://github.com/getsentry/sentry/pull/104703) - fix(ui): fallback selector for compactSelect boundary by @TkDodo in [#104388](https://github.com/getsentry/sentry/pull/104388) - fix(ui): replace static gray with theme tokens in integrations settings by @TkDodo in [#104311](https://github.com/getsentry/sentry/pull/104311) - fix(ui): Size limitations ai spans message by @matejminar in [#104315](https://github.com/getsentry/sentry/pull/104315) - fix(ui): constrain compactSelect to the main section per default by @TkDodo in [#104245](https://github.com/getsentry/sentry/pull/104245) - fix(uptime): Allow strings in config thresholds by @evanpurkhiser in [#104706](https://github.com/getsentry/sentry/pull/104706) #### Usage Overview - fix(usage overview): Correct overflows by @isabellaenriquez in [#104566](https://github.com/getsentry/sentry/pull/104566) - fix(usage overview): Display add-on categories with reserved volume by @isabellaenriquez in [#104465](https://github.com/getsentry/sentry/pull/104465) - fix(waterfall): Prefer specific root events in trace root lookup by @Lms24 in [#104050](https://github.com/getsentry/sentry/pull/104050) - fix: Remove `open` prop of `SlideOverPanel` by @gggritso in [#104627](https://github.com/getsentry/sentry/pull/104627) - fix(prompts) Handle string organization id values by @markstory in [#104543](https://github.com/getsentry/sentry/pull/104543) - fix(cells) Add an internal annotation to preprod endpoint by @markstory in [#104397](https://github.com/getsentry/sentry/pull/104397) - fix: make sentry-feedback widget look more like UI2 by @TkDodo in [#104399](https://github.com/getsentry/sentry/pull/104399) - fix(logs) Disable logging for the CSSUTILS logger by @markstory in [#104324](https://github.com/getsentry/sentry/pull/104324) - fix: always use chonkDarkTheme in gsAdmin by @TkDodo in [#104338](https://github.com/getsentry/sentry/pull/104338) - fix/iconSizes/issuesAndFeedback by @Jesse-Box in [#104239](https://github.com/getsentry/sentry/pull/104239) - fix(tests) Unskip test that was previously flaky by @markstory in [#104162](https://github.com/getsentry/sentry/pull/104162) ### Build / dependencies / internal 🔧 #### Aci - chore(ACI): Remove more unused flags by @ceorourke in [#104727](https://github.com/getsentry/sentry/pull/104727) - chore(aci): Old flag clean-up by @kcons in [#104484](https://github.com/getsentry/sentry/pull/104484) - chore(ACI): Remove more unused flags by @ceorourke in [#104704](https://github.com/getsentry/sentry/pull/104704) - chore(ACI): Remove unused flag by @ceorourke in [#104637](https://github.com/getsentry/sentry/pull/104637) - chore(aci): New feature flag for opting out of redirects by @malwilley in [#104646](https://github.com/getsentry/sentry/pull/104646) - chore(ACI): Remove GA'd metric issue flags by @ceorourke in [#104652](https://github.com/getsentry/sentry/pull/104652) - chore(aci): set event_id when creating open period by @mifu67 in [#104558](https://github.com/getsentry/sentry/pull/104558) - chore(ACI): add event_id column to group open period model by @mifu67 in [#104549](https://github.com/getsentry/sentry/pull/104549) - chore(aci): add alert creation + success analytics by @ameliahsu in [#104403](https://github.com/getsentry/sentry/pull/104403) - chore(aci): only include GOPAs that start within date range by @mifu67 in [#104000](https://github.com/getsentry/sentry/pull/104000) - chore(aci): log created WAGS action ids by @cathteng in [#104209](https://github.com/getsentry/sentry/pull/104209) - chore(ACI): Remove temporary fallthrough type logic by @ceorourke in [#103996](https://github.com/getsentry/sentry/pull/103996) - chore(admin): update invoice details to use new cell routing by @klochek in [#104794](https://github.com/getsentry/sentry/pull/104794) - chore(agents): add capture message for missing required gen_ai attributes by @shellmayr in [#104309](https://github.com/getsentry/sentry/pull/104309) - chore(anomaly detection): improve graph details by @shayna-ch in [#104195](https://github.com/getsentry/sentry/pull/104195) - chore(anomaly-detection): Clean up some dead code by @thetruecpaul in [#104281](https://github.com/getsentry/sentry/pull/104281) #### Api - chore(API): Remove unused AM2 compatibility check endpoint by @ceorourke in [#104288](https://github.com/getsentry/sentry/pull/104288) - chore(API): Remove unused grouping configs endpoint by @ceorourke in [#104303](https://github.com/getsentry/sentry/pull/104303) - chore(API): Remove old unused symbol sources url path by @ceorourke in [#104298](https://github.com/getsentry/sentry/pull/104298) - chore(API): Remove unused sentry app requests endpoint by @ceorourke in [#104293](https://github.com/getsentry/sentry/pull/104293) - chore(API): Remove unused AM2 compatibility check by @ceorourke in [#104287](https://github.com/getsentry/sentry/pull/104287) #### Autofix - chore(autofix): tweak solution prompt by @roaga in [#104915](https://github.com/getsentry/sentry/pull/104915) - chore(autofix): add more fields to suspect commit schema by @roaga in [#104889](https://github.com/getsentry/sentry/pull/104889) - chore(autofix): more UI to bring v2 to parity by @roaga in [#104882](https://github.com/getsentry/sentry/pull/104882) #### Billing - chore(billing): remove grace period from user-facing frontend components by @dashed in [#104361](https://github.com/getsentry/sentry/pull/104361) - chore(billing): remove grace period from admin by @dashed in [#104365](https://github.com/getsentry/sentry/pull/104365) - chore(cells): Fix cell deprecation date by @kcons in [#104602](https://github.com/getsentry/sentry/pull/104602) - chore(code-review): Register feature flag by @suejung-sentry in [#104742](https://github.com/getsentry/sentry/pull/104742) #### Codeowners - chore(codeowners): update ai insights by @obostjancic in [#104669](https://github.com/getsentry/sentry/pull/104669) - meta(codeowners): Update ecosystem ownership by @leeandher in [#104523](https://github.com/getsentry/sentry/pull/104523) - chore(cross-events): Render disabled search bars and an error toast by @nsdeschenes in [#104576](https://github.com/getsentry/sentry/pull/104576) - chore(dashboards): Update query formatter by @nsdeschenes in [#104797](https://github.com/getsentry/sentry/pull/104797) - chore(data-forwading): Publish endpoints and better docs by @leeandher in [#104520](https://github.com/getsentry/sentry/pull/104520) #### Data Forwarding - chore(data-forwarding): nicer icon, better error message by @leeandher in [#104521](https://github.com/getsentry/sentry/pull/104521) - chore(data-forwarding): Allow clearing empty overrides, examples for endpoints, typo by @leeandher in [#104479](https://github.com/getsentry/sentry/pull/104479) - chore(deletions): Improve cleanup multiprocess worker logging by @yuvmen in [#104228](https://github.com/getsentry/sentry/pull/104228) #### Deps - chore(deps): Bump React to 19.2.3 by @JPeer264 in [#104848](https://github.com/getsentry/sentry/pull/104848) - chore(deps): Bump React to 19.2.2 by @nsdeschenes in [#104809](https://github.com/getsentry/sentry/pull/104809) - chore(detector): Remove frontend flag usage by @roggenkemper in [#104429](https://github.com/getsentry/sentry/pull/104429) #### Detectors - chore(detectors): Remove experimental settings by @roggenkemper in [#104427](https://github.com/getsentry/sentry/pull/104427) - chore(detectors): Remove experimental rollout flags by @roggenkemper in [#104428](https://github.com/getsentry/sentry/pull/104428) - chore(detectors): Fully replace N+1 Detectors with updated versions by @roggenkemper in [#104199](https://github.com/getsentry/sentry/pull/104199) #### Eap - chore(eap): Add docstrings by @thetruecpaul in [#104838](https://github.com/getsentry/sentry/pull/104838) - chore(eap): increase max rollup points to match snuba buckets by @nikkikapadia in [#104411](https://github.com/getsentry/sentry/pull/104411) - chore(eco): remove halt for unfurlable link by @cathteng in [#104168](https://github.com/getsentry/sentry/pull/104168) #### Explore - chore(explore): Update timeseries request referrers by @gggritso in [#104355](https://github.com/getsentry/sentry/pull/104355) - chore(explore): Remove declaration of Explore `/events-timeseries/` spot check flag by @gggritso in [#104356](https://github.com/getsentry/sentry/pull/104356) #### Explorer - chore(explorer): set failure status on error metadata by @roaga in [#104836](https://github.com/getsentry/sentry/pull/104836) - chore(explorer): add pause button by @roaga in [#104811](https://github.com/getsentry/sentry/pull/104811) - chore(explorer): remove user cursor from context by @roaga in [#104832](https://github.com/getsentry/sentry/pull/104832) - chore(explorer): better file approval UI by @roaga in [#104332](https://github.com/getsentry/sentry/pull/104332) - chore(grouping): Clean up embeddings utils by @thetruecpaul in [#104286](https://github.com/getsentry/sentry/pull/104286) #### Inbound Filters - chore(inbound-filters): Update serializer help text to reflect new filter by @roggenkemper in [#104250](https://github.com/getsentry/sentry/pull/104250) - chore(inbound-filters): Update Legacy Browser Inbound Filter by @roggenkemper in [#102518](https://github.com/getsentry/sentry/pull/102518) #### Infra - chore(infra): Fix WorkflowEventContext test pollution by @rbro112 in [#104641](https://github.com/getsentry/sentry/pull/104641) - chore(infra): Add test reporting to shuffle-tests workflow by @rbro112 in [#104560](https://github.com/getsentry/sentry/pull/104560) - chore(insights): Sets web vitals issue group type to released by @edwardgou-sentry in [#103853](https://github.com/getsentry/sentry/pull/103853) #### Llm Detector - chore(llm-detector): Add logs for category by @roggenkemper in [#104885](https://github.com/getsentry/sentry/pull/104885) - chore(llm-detector): Add delay to spawned tasks by @roggenkemper in [#104883](https://github.com/getsentry/sentry/pull/104883) - chore(llm-detector): Increase LLM Detection task timeout by @roggenkemper in [#104807](https://github.com/getsentry/sentry/pull/104807) - chore(llm-detector): Update time window for trace retrieval by @roggenkemper in [#104404](https://github.com/getsentry/sentry/pull/104404) - chore(llm-detector): Increase limits for LLM Issue Detection by @roggenkemper in [#104400](https://github.com/getsentry/sentry/pull/104400) - chore(llm-detector): Update issue config to allow for Seer by @roggenkemper in [#104180](https://github.com/getsentry/sentry/pull/104180) - chore(logs): Expand logs field definitions by @nsdeschenes in [#104464](https://github.com/getsentry/sentry/pull/104464) #### Np - chore(np): More logs catDespair by @Christinarlong in [#104553](https://github.com/getsentry/sentry/pull/104553) - chore(np): Add logs to debug sending by @Christinarlong in [#104461](https://github.com/getsentry/sentry/pull/104461) - chore(np): Onboard custom rule notifs v2 by @Christinarlong in [#103840](https://github.com/getsentry/sentry/pull/103840) - chore(np): Migrate del repo notification to platform by @Christinarlong in [#104396](https://github.com/getsentry/sentry/pull/104396) #### Preprod - chore(preprod): add date to build list backend by @mtopo27 in [#104374](https://github.com/getsentry/sentry/pull/104374) - chore(preprod): empty state for no git details (EME-637) by @mtopo27 in [#104273](https://github.com/getsentry/sentry/pull/104273) - chore(releases): add mobile build tab analytic event by @mtopo27 in [#104861](https://github.com/getsentry/sentry/pull/104861) #### Replay - chore(replay): add feature flag for granular replay permissions by @shellmayr in [#104441](https://github.com/getsentry/sentry/pull/104441) - refactor(replay): update replay components to use linkQuery for navigation by @jerryzhou196 in [#104247](https://github.com/getsentry/sentry/pull/104247) - refactor(replay): remove unused components in platform icons by @jerryzhou196 in [#104135](https://github.com/getsentry/sentry/pull/104135) - chore(search): Use fuzzy search on raw text values with spaces by @nsdeschenes in [#104405](https://github.com/getsentry/sentry/pull/104405) #### Search Bar - chore(search-bar): Tidy up search query builder flags by @nsdeschenes in [#104335](https://github.com/getsentry/sentry/pull/104335) - chore(search-bar): Remove auto replacement on paste by @nsdeschenes in [#103718](https://github.com/getsentry/sentry/pull/103718) #### Seer - chore(seer): Update check for support repo types by looking at repo.id by @ryan953 in [#104817](https://github.com/getsentry/sentry/pull/104817) - chore(seer): Rename column to be more general in cases when we support other types of agents by @ryan953 in [#104693](https://github.com/getsentry/sentry/pull/104693) - chore(seer): Tag method name for seer rpcs by @Zylphrex in [#104605](https://github.com/getsentry/sentry/pull/104605) - chore(seer): codeowner for tests by @aliu39 in [#104494](https://github.com/getsentry/sentry/pull/104494) - chore(seer): Remove extra calls to invalidateQueries, useUpdateProjectSeerPreferences does it automatically by @ryan953 in [#104359](https://github.com/getsentry/sentry/pull/104359) - chore(seer onboarding): Set api owner of OrganizationSeerOnboardingCheck to Coding Workflows by @srest2021 in [#104876](https://github.com/getsentry/sentry/pull/104876) #### Seer Rpc - chore(seer rpc): Register search agent rpcs by @aayush-se in [#104551](https://github.com/getsentry/sentry/pull/104551) - chore(seer rpc): Add missing endpoints by @aayush-se in [#104526](https://github.com/getsentry/sentry/pull/104526) - chore(segment-enhancement): Add tracing to segment name normalization by @mjq in [#104395](https://github.com/getsentry/sentry/pull/104395) - chore(sentry apps): Token id and info in logs for failing refresh by @Christinarlong in [#104282](https://github.com/getsentry/sentry/pull/104282) - chore(slack): improve performance of /sentry link command by @cathteng in [#104019](https://github.com/getsentry/sentry/pull/104019) - chore(top-issues): add more actions by @cvxluo in [#104467](https://github.com/getsentry/sentry/pull/104467) - chore(trace-query-builder): Improve the DX around span search bars by @nsdeschenes in [#104757](https://github.com/getsentry/sentry/pull/104757) #### Triage Signals - chore(triage signals): Set org level default to medium too by @Mihir-Mavalankar in [#104621](https://github.com/getsentry/sentry/pull/104621) - chore(triage signals): Log cleanup by @Mihir-Mavalankar in [#104609](https://github.com/getsentry/sentry/pull/104609) - chore: Add back parallelization, try different orderby by @shruthilayaj in [#104890](https://github.com/getsentry/sentry/pull/104890) - chore: remove code that was added to help debug stats endpoint by @shruthilayaj in [#104804](https://github.com/getsentry/sentry/pull/104804) - chore: logging to debug anomaly detection by @shruthilayaj in [#104766](https://github.com/getsentry/sentry/pull/104766) - chore: split up some seer referrers by @shruthilayaj in [#104610](https://github.com/getsentry/sentry/pull/104610) - chore: remove flags by @ryan953 in [#104578](https://github.com/getsentry/sentry/pull/104578) - chore(cells) Add deprecation notices for a few issue endpoints by @markstory in [#104471](https://github.com/getsentry/sentry/pull/104471) - chore: Remove killswitch CLI tool by @markstory in [#104261](https://github.com/getsentry/sentry/pull/104261) - build: Bump objectstore to 0.0.14 by @jan-auer in [#104445](https://github.com/getsentry/sentry/pull/104445) - chore (preprod): capitalization fix by @mtopo27 in [#104279](https://github.com/getsentry/sentry/pull/104279) - chore(cells) Finish adding silo annotations to View, Endpoint and functions by @markstory in [#104172](https://github.com/getsentry/sentry/pull/104172) - refactor(replay) - shrink top header buttons to xs by @jerryzhou196 in [#104187](https://github.com/getsentry/sentry/pull/104187) ### Other - perf(rpc): Filter projects without data by @Zylphrex in [#104891](https://github.com/getsentry/sentry/pull/104891) - theme: remove useChonkTheme by @JonasBa in [#104911](https://github.com/getsentry/sentry/pull/104911) - ref(scraps): move formTheme into commonTheme by @TkDodo in [#104949](https://github.com/getsentry/sentry/pull/104949) - ref(scraps): remove unused tag types "white" and "black" from theme by @TkDodo in [#104946](https://github.com/getsentry/sentry/pull/104946) - ref(scraps): remove chart aliases from theme by @TkDodo in [#104950](https://github.com/getsentry/sentry/pull/104950) - ref(scraps): remove borderRadius from theme by @TkDodo in [#104948](https://github.com/getsentry/sentry/pull/104948) - ref(ui): do not disable eslint-plugin-query for debouncing by @TkDodo in [#103141](https://github.com/getsentry/sentry/pull/103141) - theme: remove theme.isChonk by @JonasBa in [#104827](https://github.com/getsentry/sentry/pull/104827) - ref(seer): Tweak Seer org settings page, including sort in the checkboxProvider query key by @ryan953 in [#104719](https://github.com/getsentry/sentry/pull/104719) - ref(forms): Convert JsonForm to FC by @scttcper in [#104506](https://github.com/getsentry/sentry/pull/104506) - ref(anomaly threshold): remove feature flag check by @shayna-ch in [#104874](https://github.com/getsentry/sentry/pull/104874) - ref(scraps): use new typography tokens by @natemoo-re in [#104470](https://github.com/getsentry/sentry/pull/104470) - ref(scraps): apply typography by @natemoo-re in [#104468](https://github.com/getsentry/sentry/pull/104468) - ref(explorer): update issue copy by @aliu39 in [#104802](https://github.com/getsentry/sentry/pull/104802) - ref(segment-enrichment): Use attribute name constants from conventions by @mjq in [#104607](https://github.com/getsentry/sentry/pull/104607) - theme: remove iconDirection by @JonasBa in [#104617](https://github.com/getsentry/sentry/pull/104617) - Revert "feat(ui): virtualization for compactSelect (#104574)" by @JonasBa in [#104776](https://github.com/getsentry/sentry/pull/104776) - theme: theme.background to theme.tokens.background.primary by @JonasBa in [#104658](https://github.com/getsentry/sentry/pull/104658) - ref(scraps): unify theme.form by @TkDodo in [#104753](https://github.com/getsentry/sentry/pull/104753) - ref(scraps): replace theme.borderRadius with theme.radius.md by @TkDodo in [#104748](https://github.com/getsentry/sentry/pull/104748) - ref(ai-insights): switch to gen_ai.operation.name/type by @obostjancic in [#104673](https://github.com/getsentry/sentry/pull/104673) - ref(ui): revert hard-coded menuWidth for Group By compactSelect by @TkDodo in [#104746](https://github.com/getsentry/sentry/pull/104746) - ref(explorer): issues rpc revamp by @aliu39 in [#104712](https://github.com/getsentry/sentry/pull/104712) - Skip flaky test: test_resetting_context by @devinfra-flakiness in [#104684](https://github.com/getsentry/sentry/pull/104684) _Plus 99 more_ 25.11.1 ------- ### New Features ✨ - feat(traces): Add cross event dropdown functionality by @nsdeschenes in [#104100](https://github.com/getsentry/sentry/pull/104100) - feat: Set Default max pickable days by @Zylphrex in [#104109](https://github.com/getsentry/sentry/pull/104109) - feat(symbols): Add platform-restricted builtin symbol sources with org access control by @vaind in [#102013](https://github.com/getsentry/sentry/pull/102013) - feat(alerts): Allow bumping max snuba subscription limit by @shruthilayaj in [#104126](https://github.com/getsentry/sentry/pull/104126) - feat(dashboards): add details widget to query summary page by @DominikB2014 in [#104112](https://github.com/getsentry/sentry/pull/104112) - feat(preprod): Add second row with build number, version info and date to comparison screen (EME-520) by @runningcode in [#104117](https://github.com/getsentry/sentry/pull/104117) - feat(symbols): Pass project platform to builtin symbol sources API (frontend) by @vaind in [#104116](https://github.com/getsentry/sentry/pull/104116) - feat(dashboards): Add duplicate control for prebuilt dashboards by @DominikB2014 in [#104103](https://github.com/getsentry/sentry/pull/104103) - feat(dashboards): Prevents rendering edit and save ui on prebuilt insights dashboards by @edwardgou-sentry in [#104101](https://github.com/getsentry/sentry/pull/104101) - feat(dashboards): Add wildcard operators to global filters by @Ahmed-Labs in [#104070](https://github.com/getsentry/sentry/pull/104070) - feat(dashboards): add details widget type by @DominikB2014 in [#104059](https://github.com/getsentry/sentry/pull/104059) - feat(dashboards): Add edit and delete guard for prebuilt dashboards to backend dashboard details endpoint by @edwardgou-sentry in [#104098](https://github.com/getsentry/sentry/pull/104098) - feat(dashboards): misc fixes to query prebuilt dashboards by @DominikB2014 in [#104099](https://github.com/getsentry/sentry/pull/104099) - feat(dashboards): register "details" widget as valid widget on the backend by @DominikB2014 in [#104062](https://github.com/getsentry/sentry/pull/104062) - feat(vitals): Add analytics for primary and secondary release selection by @markushi in [#103960](https://github.com/getsentry/sentry/pull/103960) - feat(onboarding): Add log drain docs to logs onboarding by @AbhiPrasad in [#104084](https://github.com/getsentry/sentry/pull/104084) - feat(playstation): Always fetch dumps from tempest by @mujacica in [#104040](https://github.com/getsentry/sentry/pull/104040) - feat(objectstore): Improve host rewriting by @lcian in [#103964](https://github.com/getsentry/sentry/pull/103964) - feat(agents): Show agent names in traces table by @ArthurKnaus in [#104079](https://github.com/getsentry/sentry/pull/104079) - feat: Remove adjacent tracing feature flag by @JPeer264 in [#103891](https://github.com/getsentry/sentry/pull/103891) - feat(eap): Support reading boolean attributes from response by @phacops in [#104063](https://github.com/getsentry/sentry/pull/104063) - feat(dashboards): Updates prebuilt dashboard preview and management in the All Dashboards view by @edwardgou-sentry in [#104018](https://github.com/getsentry/sentry/pull/104018) - feat(vercel): Remove `get_env_var_map` helper by @AbhiPrasad in [#104068](https://github.com/getsentry/sentry/pull/104068) - feat(explore): Hook to respect new downsampled retention by @Zylphrex in [#104013](https://github.com/getsentry/sentry/pull/104013) - feat(vercel): Add drain env variables to Vercel integration by @AbhiPrasad in [#103986](https://github.com/getsentry/sentry/pull/103986) - feat(issues): Allow disabling of filters in top group demo, add tags by @scttcper in [#104037](https://github.com/getsentry/sentry/pull/104037) - feat(aci): redirect incidents to metric issue details by @ameliahsu in [#104001](https://github.com/getsentry/sentry/pull/104001) - feat(crons): Always create detectors for all monitors in MonitorValidator by @evanpurkhiser in [#104004](https://github.com/getsentry/sentry/pull/104004) - feat(preprod): record if the status check failed by @trevor-e in [#104039](https://github.com/getsentry/sentry/pull/104039) - feat(explorer): rpcs for getting log/metric attrs for a trace id + substring by @aliu39 in [#103875](https://github.com/getsentry/sentry/pull/103875) - feat(aci): Format percentage based thresholds/data by @scttcper in [#104035](https://github.com/getsentry/sentry/pull/104035) - feat(explore): Enabling searching attributes on group by by @nsdeschenes in [#104003](https://github.com/getsentry/sentry/pull/104003) - feat(dashboards): loosen unique title db constraint on dashboards by @DominikB2014 in [#104046](https://github.com/getsentry/sentry/pull/104046) - feat(issues): allow pasting json top issues by @cvxluo in [#104022](https://github.com/getsentry/sentry/pull/104022) - feat(billing): use Subscription.orgRetention in customerOverview by @vbro in [#103124](https://github.com/getsentry/sentry/pull/103124) - feat(issues): more functionality for different team viewing in top issues by @cvxluo in [#103947](https://github.com/getsentry/sentry/pull/103947) - feat(dashboards): Adds action menu to prebuilt dashboard widgets by @edwardgou-sentry in [#103976](https://github.com/getsentry/sentry/pull/103976) - feat(aci): Move threshold info into detect section of metric monitor details by @malwilley in [#103926](https://github.com/getsentry/sentry/pull/103926) - feat(logs): Without chart data when table is empty by @Zylphrex in [#103930](https://github.com/getsentry/sentry/pull/103930) - feat(deletions): Retry timed out tasks by @armenzg in [#103966](https://github.com/getsentry/sentry/pull/103966) - feat(explore): Add hooks for date page filter props based on data cat… by @Zylphrex in [#103931](https://github.com/getsentry/sentry/pull/103931) - feat(billing): Update quota endpoints for Seer by @brendanhsentry in [#103948](https://github.com/getsentry/sentry/pull/103948) - feat: no-token-import rule by @TkDodo in [#103889](https://github.com/getsentry/sentry/pull/103889) - feat(settings): Remove vercel log drain feature flag by @AbhiPrasad in [#103940](https://github.com/getsentry/sentry/pull/103940) - feat(dashboards): ensure global filters carryforward when clicking view span samples on table by @DominikB2014 in [#103860](https://github.com/getsentry/sentry/pull/103860) - feat(devservices): Add symbolicator-tests mode by @loewenheim in [#103959](https://github.com/getsentry/sentry/pull/103959) - feat(aci): Display apdex option for spans by @scttcper in [#103791](https://github.com/getsentry/sentry/pull/103791) - feat(tests): Add helper to count mock calls by @lobsterkatie in [#103941](https://github.com/getsentry/sentry/pull/103941) - feat(explorer): send interactivity flag in client by @roaga in [#103934](https://github.com/getsentry/sentry/pull/103934) - feat(grouping): Add options to control grouphash caching by @lobsterkatie in [#103943](https://github.com/getsentry/sentry/pull/103943) - feat(eap): Always log the rpc query instead of only at debug by @wmak in [#103922](https://github.com/getsentry/sentry/pull/103922) - feat(issues): add summary to top issue card by @cvxluo in [#103880](https://github.com/getsentry/sentry/pull/103880) - feat(Replay): Update Query Archived Alias by @cliffordxing in [#103914](https://github.com/getsentry/sentry/pull/103914) - feat(tracemetrics): Copy previous metric instead of using defaults by @Zylphrex in [#103917](https://github.com/getsentry/sentry/pull/103917) - feat(explore): Add hooks for date page filter props based on data cat… by @Zylphrex in [#103822](https://github.com/getsentry/sentry/pull/103822) - feat: migrations should noop faster by @joshuarli in [#103795](https://github.com/getsentry/sentry/pull/103795) - feat(explorer): add config for intelligence level to client by @roaga in [#103873](https://github.com/getsentry/sentry/pull/103873) - feat: Add support for extrapolation modes in entity subscription by @shruthilayaj in [#103834](https://github.com/getsentry/sentry/pull/103834) - feat(aci): Replace detector type in url, add default by @scttcper in [#103837](https://github.com/getsentry/sentry/pull/103837) - feat(replay): Add sticky header support to replay table and header components by @jerryzhou196 in [#103825](https://github.com/getsentry/sentry/pull/103825) - feat(aci): redirect alert rules to detectors by @ameliahsu in [#103682](https://github.com/getsentry/sentry/pull/103682) - feat(charts): Adding new chart range selection hook by @Abdkhan14 in [#103748](https://github.com/getsentry/sentry/pull/103748) - feat(prevent): Remove seer app bullet from onboarding by @suejung-sentry in [#103421](https://github.com/getsentry/sentry/pull/103421) - feat(deletions): Retry task on timeout by @armenzg in [#103894](https://github.com/getsentry/sentry/pull/103894) - feat(replay): Add loading state to ReplayPlaylistProvider and update usage in related components by @jerryzhou196 in [#103835](https://github.com/getsentry/sentry/pull/103835) - feat(sdk): Trial higher envelope serialization limits by @alexander-alderman-webb in [#103882](https://github.com/getsentry/sentry/pull/103882) - feat(deletions): Cleanup more groups per project by @armenzg in [#103851](https://github.com/getsentry/sentry/pull/103851) - feat(perforce): Add Perforce integration infrastructure and stubs by @mujacica in [#103287](https://github.com/getsentry/sentry/pull/103287) - feat(perforce): Add frontend support for Perforce integration by @mujacica in [#103172](https://github.com/getsentry/sentry/pull/103172) - feat(symbolication): Make frame order explicit by @loewenheim in [#103638](https://github.com/getsentry/sentry/pull/103638) - feat(issues): top issues experiment by @cvxluo in [#103773](https://github.com/getsentry/sentry/pull/103773) - feat(aci): add Incident to GroupOpenPeriod lookup endpoint by @ameliahsu in [#103782](https://github.com/getsentry/sentry/pull/103782) - feat(dashboards): automatically populate dashboard ids in prebuilt dashboards by @DominikB2014 in [#103738](https://github.com/getsentry/sentry/pull/103738) - feat(charts): Custom icons for legends by @evanpurkhiser in [#103800](https://github.com/getsentry/sentry/pull/103800) - feat(Replay): Strip Dash Before EAP Replay Query by @cliffordxing in [#103793](https://github.com/getsentry/sentry/pull/103793) - feat(insights): Adds an endpoint to manually start issue detection task on a project by @edwardgou-sentry in [#103760](https://github.com/getsentry/sentry/pull/103760) - feat(aci): Add serialized data source to issue occurrence evidence data by @malwilley in [#103549](https://github.com/getsentry/sentry/pull/103549) - feat(explore): Limit explore visualizes to 8 by @Zylphrex in [#103826](https://github.com/getsentry/sentry/pull/103826) - feat(aci): Edit connected alerts directly from monitor details by @malwilley in [#103757](https://github.com/getsentry/sentry/pull/103757) - feat: Remove extrapolation modes from alerts translation by @shruthilayaj in [#103823](https://github.com/getsentry/sentry/pull/103823) - feat(deletions): Schedule task to delete pending deletions groups by @armenzg in [#103820](https://github.com/getsentry/sentry/pull/103820) - feat(aci): Make Workflow.when_condition_group unique by @kcons in [#103768](https://github.com/getsentry/sentry/pull/103768) - feat: Use extrapolation mode in alerts by @shruthilayaj in [#103731](https://github.com/getsentry/sentry/pull/103731) - feat: Add url_names option to deprecated() by @markstory in [#103758](https://github.com/getsentry/sentry/pull/103758) - feat(dashboards): add legend to queries module charts by @DominikB2014 in [#103752](https://github.com/getsentry/sentry/pull/103752) - feat(prevent): Enable EU for ai code review by @suejung-sentry in [#103420](https://github.com/getsentry/sentry/pull/103420) - feat(dashboards): allow a single equation on a chart by @bcoe in [#103783](https://github.com/getsentry/sentry/pull/103783) - feat: Add modal for binaries without dsyms by @noahsmartin in [#103554](https://github.com/getsentry/sentry/pull/103554) - feat(explore): Add saved queries to title for logs and metrics by @nsdeschenes in [#103644](https://github.com/getsentry/sentry/pull/103644) - feat(objectstore): Add a (no-op) Objectstore endpoint by @lcian in [#103468](https://github.com/getsentry/sentry/pull/103468) - feat(settings): Remove deprecated route props from SentryApplicationDetails by @scttcper in [#103797](https://github.com/getsentry/sentry/pull/103797) - feat(billing): update org retention settings in \_admin by @vbro in [#103126](https://github.com/getsentry/sentry/pull/103126) - feat(issues): top issues ui flag by @cvxluo in [#103776](https://github.com/getsentry/sentry/pull/103776) - feat(billing): add orgRetention to Subscription type by @vbro in [#103118](https://github.com/getsentry/sentry/pull/103118) - feat(eventstream): Synchronously write occurrences to EAP from the `SnubaEventStream` by @shashjar in [#103566](https://github.com/getsentry/sentry/pull/103566) - feat(events): Add logging to debug queries by @wmak in [#103766](https://github.com/getsentry/sentry/pull/103766) - feat(events): Add rpc request even on error by @wmak in [#103678](https://github.com/getsentry/sentry/pull/103678) - feat(insights): Remove Web Vital issue detection project allow list and add batching by @edwardgou-sentry in [#103740](https://github.com/getsentry/sentry/pull/103740) - feat(insights): Updates Web Vital Issue detection titles by @edwardgou-sentry in [#103657](https://github.com/getsentry/sentry/pull/103657) - feat(preprod): Add codesigning type to check for updates filter by @noahsmartin in [#103727](https://github.com/getsentry/sentry/pull/103727) - feat(explore): Update confidence footer again by @Zylphrex in [#103680](https://github.com/getsentry/sentry/pull/103680) - feat(scraps): add tokens by @natemoo-re in [#103685](https://github.com/getsentry/sentry/pull/103685) - feat(settings): Disable AI settings when gen-ai-features flag is off by @JoshFerge in [#103387](https://github.com/getsentry/sentry/pull/103387) - feat(aci): Add monitor created/updated analytics by @scttcper in [#103279](https://github.com/getsentry/sentry/pull/103279) - feat(eap): Enable deletion from EAP by default, with a killswitch option by @shashjar in [#102808](https://github.com/getsentry/sentry/pull/102808) - feat(explorer): support caseInsensitive param by @aliu39 in [#103494](https://github.com/getsentry/sentry/pull/103494) - feat(deletions): Re-attempt deletions after 6 hours by @armenzg in [#103643](https://github.com/getsentry/sentry/pull/103643) - feat(aci): redirect rules to automations with UI FF by @ameliahsu in [#103322](https://github.com/getsentry/sentry/pull/103322) - feat(insights): Adds metrics to web vitals issue detection task by @edwardgou-sentry in [#103538](https://github.com/getsentry/sentry/pull/103538) - feat(dashboards): link query overview to summary by @DominikB2014 in [#103530](https://github.com/getsentry/sentry/pull/103530) - feat(ACI): Delete data in Seer when dynamic detector type is changed by @ceorourke in [#103323](https://github.com/getsentry/sentry/pull/103323) - feat(dashboards): query dashboards by prebuilt id in api by @DominikB2014 in [#103557](https://github.com/getsentry/sentry/pull/103557) - feat(seer): better surface coding agent integration errors by @jennmueng in [#103302](https://github.com/getsentry/sentry/pull/103302) - feat(traces): Set page title to saved query name by @nsdeschenes in [#103633](https://github.com/getsentry/sentry/pull/103633) - feat(encryption): Add metrics for encrypted field by @vgrozdanic in [#103630](https://github.com/getsentry/sentry/pull/103630) - feat(encryption): Use EncryptedCharField in TempestCredentials by @vgrozdanic in [#103515](https://github.com/getsentry/sentry/pull/103515) - feat(aci): Add basic automation analytics by @scttcper in [#103416](https://github.com/getsentry/sentry/pull/103416) - feat(aci): Ensure DetectorGroup for recurring Groups by @kcons in [#103419](https://github.com/getsentry/sentry/pull/103419) - feat(detectors): Add detector type to breadcrumbs by @evanpurkhiser in [#103560](https://github.com/getsentry/sentry/pull/103560) - feat(aci): Disable error monitor create button by @malwilley in [#103544](https://github.com/getsentry/sentry/pull/103544) - feat(insights): register query module prebuilt dashboards by @DominikB2014 in [#103531](https://github.com/getsentry/sentry/pull/103531) - feat(aci): Allow empty monitor/alert names by @scttcper in [#103350](https://github.com/getsentry/sentry/pull/103350) - feat(aci): Rewire insights crons/uptime links to go to Monitors by @malwilley in [#103129](https://github.com/getsentry/sentry/pull/103129) - feat(spans): Allow integers in count if conditions by @Zylphrex in [#103526](https://github.com/getsentry/sentry/pull/103526) - feat(encrryption): Add Fernet Key Store by @vgrozdanic in [#103511](https://github.com/getsentry/sentry/pull/103511) - feat(ai): Normalize model names for a better cost calculation by @vgrozdanic in [#103508](https://github.com/getsentry/sentry/pull/103508) - feat(preprod): add cards to build details by @mtopo27 in [#103470](https://github.com/getsentry/sentry/pull/103470) - feat(seer): Add separate scanner acknowledgement function with rollout rate by @JoshFerge in [#103496](https://github.com/getsentry/sentry/pull/103496) - feat(explorer): copy for metric viewing tool by @roaga in [#103430](https://github.com/getsentry/sentry/pull/103430) - feat(config): Remove log for tz mismatch by @billyvg in [#103492](https://github.com/getsentry/sentry/pull/103492) - feat(explorer): highlight nav links and smooth scroll by @roaga in [#103432](https://github.com/getsentry/sentry/pull/103432) - feat(ui): Disable Amplitude console logging by @billyvg in [#103452](https://github.com/getsentry/sentry/pull/103452) - feat(onboarding): Simplify metrics onboarding for the Python SDK by @alexander-alderman-webb in [#103354](https://github.com/getsentry/sentry/pull/103354) - feat(explorer): add rpc to wrap trace-items endpoint by @roaga in [#103429](https://github.com/getsentry/sentry/pull/103429) - feat(Replay): Add Flag for EAP Query for Replay Details Page by @cliffordxing in [#103278](https://github.com/getsentry/sentry/pull/103278) - feat(billing): Add notification setting for seer users by @brendanhsentry in [#103411](https://github.com/getsentry/sentry/pull/103411) - feat: Add feature flag for downsampled date page filter by @Zylphrex in [#103403](https://github.com/getsentry/sentry/pull/103403) - feat(dashboards): Use a single value selector for boolean filters by @Ahmed-Labs in [#102792](https://github.com/getsentry/sentry/pull/102792) - feat: Consolidate adjacent traces & move next to search by @JPeer264 in [#102472](https://github.com/getsentry/sentry/pull/102472) ### Bug Fixes 🐛 - fix(snuba): add missing api.metrics.totals.second_query to Referrer enum by @constantinius in [#104155](https://github.com/getsentry/sentry/pull/104155) - fix(snuba): missing referrer enum for `api.organization-events.metrics-enhanced` and `api.insights.landing-table.metrics-enhanced.primary` by @aldy505 in [#102122](https://github.com/getsentry/sentry/pull/102122) - fix(playstation): Show warning when connection is good, but no errors by @mujacica in [#104097](https://github.com/getsentry/sentry/pull/104097) - fix(playstation): Show warning when connection is good, but no errors by @mujacica in [#104096](https://github.com/getsentry/sentry/pull/104096) - fix(dashboards): Filter out prebuilt dashboards from add to dashboard dropdown options by @edwardgou-sentry in [#104132](https://github.com/getsentry/sentry/pull/104132) - fix(sdk): Remove higher envelope serialization limits by @alexander-alderman-webb in [#104118](https://github.com/getsentry/sentry/pull/104118) - fix(explore): Bandaid to escape brackets by @nsdeschenes in [#104108](https://github.com/getsentry/sentry/pull/104108) - fix(dashboards): Fix trigger for single value global filter selector by @Ahmed-Labs in [#104107](https://github.com/getsentry/sentry/pull/104107) - fix(dashboards): can't save details widget by @DominikB2014 in [#104106](https://github.com/getsentry/sentry/pull/104106) - fix(aci): accept str instead of int for extrapolation mode in validator by @nikkikapadia in [#104015](https://github.com/getsentry/sentry/pull/104015) - fix(waterfall): Search for previous and next traces across environments by @Lms24 in [#104095](https://github.com/getsentry/sentry/pull/104095) - fix(playstation): Remove option to not fetch prospero dumps from tempest by @mujacica in [#104042](https://github.com/getsentry/sentry/pull/104042) - fix(waterfall): Relax "next_trace" lookup to just the trace id by @Lms24 in [#104047](https://github.com/getsentry/sentry/pull/104047) - fix(dashboards): Updates dashboard quota to not count prebuilt dashboards by @edwardgou-sentry in [#103985](https://github.com/getsentry/sentry/pull/103985) - fix(billing): Check self serve partner value in hasBillingInfo by @brendanhsentry in [#104066](https://github.com/getsentry/sentry/pull/104066) - fix(Replay): Include Timestamp Attribute in Trace Item by @cliffordxing in [#104030](https://github.com/getsentry/sentry/pull/104030) - fix(aci): use aggregate output type for % change detection charts by @scttcper in [#104061](https://github.com/getsentry/sentry/pull/104061) - fix(ACI): Fix adding sentry app action to a workflow by @ceorourke in [#103790](https://github.com/getsentry/sentry/pull/103790) - fix(aci): handle fake alert rule ids in AlertRuleDetector lookup by @ameliahsu in [#104031](https://github.com/getsentry/sentry/pull/104031) - fix(aci): Disable highlighting series on hover by @scttcper in [#103950](https://github.com/getsentry/sentry/pull/103950) - fix(billing): Let backend handle dynamic validation by @isabellaenriquez in [#103977](https://github.com/getsentry/sentry/pull/103977) - fix(ui): Fix typo in Laravel onboarding text by @romeopopescu in [#103896](https://github.com/getsentry/sentry/pull/103896) - fix(settings): Prevent infinite requests in forward stats by @scttcper in [#104032](https://github.com/getsentry/sentry/pull/104032) - fix(aci): don't fire action if there is a conflict when creating WAGS by @cathteng in [#104002](https://github.com/getsentry/sentry/pull/104002) - fix(aci): Multiply release data values by 100 by @scttcper in [#103981](https://github.com/getsentry/sentry/pull/103981) - fix(db): Avoid project db query by accessing just its id by @beezz in [#104008](https://github.com/getsentry/sentry/pull/104008) - fix(ourlogs): Add drawer QP and fix scroll by @k-fish in [#103979](https://github.com/getsentry/sentry/pull/103979) - fix(monitors): Allow editing cron monitor detectors with existing slug by @evanpurkhiser in [#103846](https://github.com/getsentry/sentry/pull/103846) - fix(tracemetrics): Wait for datascanned by @k-fish in [#103993](https://github.com/getsentry/sentry/pull/103993) - fix(preprod): fix positioning of app size tooltip by @trevor-e in [#103978](https://github.com/getsentry/sentry/pull/103978) - fix(misc): Fix getExactDuration behaviour when given a precision parameter by @kenzoengineer in [#103958](https://github.com/getsentry/sentry/pull/103958) - fix(aci): support notifications for non-dual written metric detectors by @mifu67 in [#103938](https://github.com/getsentry/sentry/pull/103938) - fix(aci): correctly query open periods within date range by @ameliahsu in [#103924](https://github.com/getsentry/sentry/pull/103924) - fix(tracemetrics): Fix analytics firing by @k-fish in [#103982](https://github.com/getsentry/sentry/pull/103982) - fix(ACI): Migrate fallthroughType to fallthrough_type by @ceorourke in [#103764](https://github.com/getsentry/sentry/pull/103764) - fix(performance): Fixes web vital issue trace links not working sometimes by @edwardgou-sentry in [#103859](https://github.com/getsentry/sentry/pull/103859) - fix(billing): Handle emirates by @isabellaenriquez in [#103973](https://github.com/getsentry/sentry/pull/103973) - fix: Code signature error list missing newlines by @noahsmartin in [#103969](https://github.com/getsentry/sentry/pull/103969) - fix(profiling): Link event id for profiles in trace view by @Zylphrex in [#103921](https://github.com/getsentry/sentry/pull/103921) - fix(aci): Try our best in Project.transfer_to by @kcons in [#103704](https://github.com/getsentry/sentry/pull/103704) - fix(issues): resolve column styling problems in top issues by @cvxluo in [#103946](https://github.com/getsentry/sentry/pull/103946) - fix(aci): always combine rule and workflow fire history in API by @cathteng in [#103945](https://github.com/getsentry/sentry/pull/103945) - fix(Replay): Update Timestamp Start Query by @cliffordxing in [#103942](https://github.com/getsentry/sentry/pull/103942) - fix(issues): Fix issue search single page count inaccuracy by @yuvmen in [#103865](https://github.com/getsentry/sentry/pull/103865) - fix(aci): simplify DetectorWorkflow connection permission requirements by @ameliahsu in [#103799](https://github.com/getsentry/sentry/pull/103799) - fix(alerts): filter out orphaned metric alerts when checking limit by @cathteng in [#103912](https://github.com/getsentry/sentry/pull/103912) - fix(mcp): Use mutable search in mcp link generation by @Zylphrex in [#103911](https://github.com/getsentry/sentry/pull/103911) - fix(ACI): Accept fallthrough type in actions by @ceorourke in [#103694](https://github.com/getsentry/sentry/pull/103694) - fix(aci): prevent deletion of system-created monitors in API by @ameliahsu in [#103843](https://github.com/getsentry/sentry/pull/103843) - fix(deletions): Fix MonitorCheckIn direct deletion by @yuvmen in [#103907](https://github.com/getsentry/sentry/pull/103907) - fix(aci): Immediate deletion of workflow-detector connections in DELETE endpoints by @malwilley in [#103869](https://github.com/getsentry/sentry/pull/103869) - fix(aci): Snake casing for data sources in evidence data by @malwilley in [#103858](https://github.com/getsentry/sentry/pull/103858) - fix(aci): add back logic to create IGOP associations for long-standing incidents by @mifu67 in [#103778](https://github.com/getsentry/sentry/pull/103778) - fix(explorer): set correct thread id in metadata by @roaga in [#103876](https://github.com/getsentry/sentry/pull/103876) - fix(tracemetrics): Add metric button not working by @Zylphrex in [#103900](https://github.com/getsentry/sentry/pull/103900) - fix(ui): point hardcoded dark background colors to UI2 theme token values by @TkDodo in [#103886](https://github.com/getsentry/sentry/pull/103886) - fix(ui2): align OperationDot by @TkDodo in [#103819](https://github.com/getsentry/sentry/pull/103819) - fix(explorer): accept trace id for flamegraph tool by @roaga in [#103818](https://github.com/getsentry/sentry/pull/103818) - fix(eap): Update attribute key name provided in `DeleteTraceItemsRequest` RPCs by @shashjar in [#103867](https://github.com/getsentry/sentry/pull/103867) - fix(eventstream): Fix trace item inserts to EAP via Snuba HTTP backend by @shashjar in [#103857](https://github.com/getsentry/sentry/pull/103857) - fix(aci): prevent deletion of system-created monitors in UI by @ameliahsu in [#103838](https://github.com/getsentry/sentry/pull/103838) - fix(aci): json.dump sentry app settings value fields by @cathteng in [#103845](https://github.com/getsentry/sentry/pull/103845) - fix(eap): Update the filter provided when issuing `DeleteTraceItemsRequest` RPCs by @shashjar in [#103848](https://github.com/getsentry/sentry/pull/103848) - fix(migrations): Fail migrations that delete models if no historical_silo_assignment is found by @wedamija in [#103702](https://github.com/getsentry/sentry/pull/103702) - fix(ui): Remove span wrapping avatar near commit author by @evanpurkhiser in [#103824](https://github.com/getsentry/sentry/pull/103824) - fix(aci): Retry failed Seer anomaly data fetches by @kcons in [#103788](https://github.com/getsentry/sentry/pull/103788) - fix(deletion): Fix MonitorCheckIn deletion failures by @yuvmen in [#103786](https://github.com/getsentry/sentry/pull/103786) - fix(aci): Hide failure rate and hide string options for p50 by @scttcper in [#103697](https://github.com/getsentry/sentry/pull/103697) - fix(eap): Pass `trace_item_type` in `RequestMeta` for `DeleteTraceItemsRequest` RPC by @shashjar in [#103784](https://github.com/getsentry/sentry/pull/103784) - fix(preprod): update frontend to new missing_dsym_binaries field by @trevor-e in [#103735](https://github.com/getsentry/sentry/pull/103735) - fix(eap): Provide correct endpoint name when deleting trace items from EAP by @shashjar in [#103749](https://github.com/getsentry/sentry/pull/103749) - fix(aci): remove email targetDisplay from UI POST request by @ameliahsu in [#103679](https://github.com/getsentry/sentry/pull/103679) - fix(integrations): update usage of is_enabled data forwarding by @liuirene256 in [#103584](https://github.com/getsentry/sentry/pull/103584) - fix(slack): Truncate blocks to be less than 50 for digest notifications by @Christinarlong in [#103498](https://github.com/getsentry/sentry/pull/103498) - fix(tracemetrics): Add 'new query' for save-as behaviour by @k-fish in [#103734](https://github.com/getsentry/sentry/pull/103734) - fix(explorer): new copy for metric attrs tool by @roaga in [#103728](https://github.com/getsentry/sentry/pull/103728) - fix(replay): Adjust placeholder height in user badge component by @jerryzhou196 in [#103726](https://github.com/getsentry/sentry/pull/103726) - fix(replay): Fix infinite re-render in breadcrumbs by @billyvg in [#103373](https://github.com/getsentry/sentry/pull/103373) - fix(explore): fix issue with not being able to save explore queries with a start and end time stamp selected by @edwardgou-sentry in [#103725](https://github.com/getsentry/sentry/pull/103725) - fix(explorer): better profile thread selection logic by @roaga in [#103656](https://github.com/getsentry/sentry/pull/103656) - fix(explorer): stricter short ID regex by @roaga in [#103721](https://github.com/getsentry/sentry/pull/103721) - fix(tracemetrics): Validate aggregate sort bys for metrics by @Zylphrex in [#103555](https://github.com/getsentry/sentry/pull/103555) - fix(preprod): Deduplicate sibling artifacts by app_id to prevent duplicate rows in status checks (EME-610) by @runningcode in [#103528](https://github.com/getsentry/sentry/pull/103528) - fix(encryption): Improve log message when we load 0 keys by @vgrozdanic in [#103715](https://github.com/getsentry/sentry/pull/103715) - fix(eu_data_export): fixes sts transfer job schedule by @viglia in [#103712](https://github.com/getsentry/sentry/pull/103712) - fix(aci): filter out non-alertable and broken sentry apps in available actions endpoint by @ameliahsu in [#101866](https://github.com/getsentry/sentry/pull/101866) - fix(timeseries): Handle orderbys not in groupby by @wmak in [#103547](https://github.com/getsentry/sentry/pull/103547) - fix(checkout): Use correct unit for attachments by @isabellaenriquez in [#103647](https://github.com/getsentry/sentry/pull/103647) - fix(aci): Filter connected monitors drawer by project by @malwilley in [#103572](https://github.com/getsentry/sentry/pull/103572) - fix(aci): close IGOP relationships in more cases and heal broken relationships by @mifu67 in [#103407](https://github.com/getsentry/sentry/pull/103407) - fix(ourlogs): Add error event to log list by @k-fish in [#103649](https://github.com/getsentry/sentry/pull/103649) - fix(dashboards): Fix incorrect URL construction for "Open in Explore" for Logs widgets by @gggritso in [#103642](https://github.com/getsentry/sentry/pull/103642) - fix(issues): Remove sentry logging on invalid url by @scttcper in [#103574](https://github.com/getsentry/sentry/pull/103574) - fix(feedback): remove feature badge for AI summaries & categories by @srest2021 in [#103571](https://github.com/getsentry/sentry/pull/103571) - fix(detectors): Navigate to detector type list page after deletion by @evanpurkhiser in [#103562](https://github.com/getsentry/sentry/pull/103562) - fix(aci): Apply chart zoom on automation history by @scttcper in [#103392](https://github.com/getsentry/sentry/pull/103392) - fix(aci): Autosize description, remove padding by @scttcper in [#103546](https://github.com/getsentry/sentry/pull/103546) - fix(issues): Attribute error in issue details thrown on None tag values by @yuvmen in [#103500](https://github.com/getsentry/sentry/pull/103500) - fix(replay): fix buttons from being cutoff by @jerryzhou196 in [#103522](https://github.com/getsentry/sentry/pull/103522) - fix(deletions): Fix Monitor deletion timeouts by @yuvmen in [#103495](https://github.com/getsentry/sentry/pull/103495) - fix(checkout): Insights on Team by @isabellaenriquez in [#103514](https://github.com/getsentry/sentry/pull/103514) - fix(replay): move hover to be over buttons by @jerryzhou196 in [#103524](https://github.com/getsentry/sentry/pull/103524) - fix(aci): update hits count for workflow fire history by @ameliahsu in [#103400](https://github.com/getsentry/sentry/pull/103400) - fix(crons): Add trailing slash to monitor environment detail endpoints by @evanpurkhiser in [#103480](https://github.com/getsentry/sentry/pull/103480) - fix(replay): validate replay start/end for summaries by @michellewzhang in [#103388](https://github.com/getsentry/sentry/pull/103388) - fix(issues): use correct tz for absolute date picker by @cvxluo in [#103423](https://github.com/getsentry/sentry/pull/103423) - fix(timeseries): Remove unwanted `groupBy` parameter by @gggritso in [#103482](https://github.com/getsentry/sentry/pull/103482) - fix(tracemetrics): Don't show metrics on error by @k-fish in [#103516](https://github.com/getsentry/sentry/pull/103516) - fix(seer): Increase lock duration for issue summary generation by @seer-by-sentry in [#103477](https://github.com/getsentry/sentry/pull/103477) - fix(grouping): Ensure custom titles use the correct frame by @lobsterkatie in [#103425](https://github.com/getsentry/sentry/pull/103425) - fix(loader): respect `prefers-reduced-motion` by @natemoo-re in [#103461](https://github.com/getsentry/sentry/pull/103461) - fix(integrations): data forwarding bug fixes by @liuirene256 in [#103393](https://github.com/getsentry/sentry/pull/103393) - fix(ui): Do not add extranious height to AI insights onboarding by @evanpurkhiser in [#103451](https://github.com/getsentry/sentry/pull/103451) - fix(dashboards): set widget to loading before adding to queue by @DominikB2014 in [#103449](https://github.com/getsentry/sentry/pull/103449) - fix(explorer): set thread id in profile navigation by @roaga in [#103427](https://github.com/getsentry/sentry/pull/103427) - fix(explorer): fix profile thread selection by @roaga in [#103426](https://github.com/getsentry/sentry/pull/103426) - fix(dashboards): queue doesn't apply to all datasets by @DominikB2014 in [#103444](https://github.com/getsentry/sentry/pull/103444) - fix(search): Fix handle backslashes in wildcard operators by @Zylphrex in [#103379](https://github.com/getsentry/sentry/pull/103379) - fix(explorer): only return active projects by @roaga in [#103434](https://github.com/getsentry/sentry/pull/103434) - fix(spans): Shim more fields for issue detectors by @jjbayer in [#103353](https://github.com/getsentry/sentry/pull/103353) ### Build / dependencies / internal 🔧 - ref(eap): Remove AnyResolved type by @Zylphrex in [#104130](https://github.com/getsentry/sentry/pull/104130) - chore(explore): Remove used explore flag backend by @Zylphrex in [#104021](https://github.com/getsentry/sentry/pull/104021) - chore(explore): Add in cross event query param by @nsdeschenes in [#103666](https://github.com/getsentry/sentry/pull/103666) - ref(explorer): add copy and nav for errors search by @aliu39 in [#104078](https://github.com/getsentry/sentry/pull/104078) - ref(explorer): update log tool copy by @aliu39 in [#104065](https://github.com/getsentry/sentry/pull/104065) - chore(aci): bump offset for fake IDs by @mifu67 in [#104051](https://github.com/getsentry/sentry/pull/104051) - chore: Remove vercel logs feature flag from backend by @AbhiPrasad in [#103975](https://github.com/getsentry/sentry/pull/103975) - ref(issues): move top issues tab to top by @cvxluo in [#104056](https://github.com/getsentry/sentry/pull/104056) - chore(tests): skip flaky test by @mifu67 in [#104057](https://github.com/getsentry/sentry/pull/104057) - chore(logs): Remove ourlogs-high-fidelity feature flag frontend by @Zylphrex in [#104016](https://github.com/getsentry/sentry/pull/104016) - chore(dashboards): Address global filter UI feedback by @Ahmed-Labs in [#103902](https://github.com/getsentry/sentry/pull/103902) - chore(explore): Remove visibility-explore-aggregate-editor flag frontend by @Zylphrex in [#104020](https://github.com/getsentry/sentry/pull/104020) - chore(logs): Remove ourlogs-high-fidelity feature flag backend by @Zylphrex in [#104017](https://github.com/getsentry/sentry/pull/104017) - ref(issues): delete top issue breadcrumbs by @cvxluo in [#104028](https://github.com/getsentry/sentry/pull/104028) - chore(feedback): Prefer over useFeedbackForm() by @ryan953 in [#103916](https://github.com/getsentry/sentry/pull/103916) - chore(seer): Setup new, blank, page for Seer settings to live by @ryan953 in [#103990](https://github.com/getsentry/sentry/pull/103990) - ref(explorer): rm old issue rpc by @aliu39 in [#103935](https://github.com/getsentry/sentry/pull/103935) - ref(ui): Use type-fest type for flatten by @scttcper in [#103998](https://github.com/getsentry/sentry/pull/103998) - chore(preprod): make build details and build compare breadcrumb consistent (EME-657, EME-659) by @mtopo27 in [#103994](https://github.com/getsentry/sentry/pull/103994) - chore(traces): Register flag for cross event querying by @nsdeschenes in [#103987](https://github.com/getsentry/sentry/pull/103987) - ref(events): Singularize pluralized params in the events endpoint by @wmak in [#103923](https://github.com/getsentry/sentry/pull/103923) - chore(deletions): Change schedule & date ranges by @armenzg in [#103897](https://github.com/getsentry/sentry/pull/103897) - chore(releases): fix releases tooltip width by @mtopo27 in [#103955](https://github.com/getsentry/sentry/pull/103955) - chore(explore): Hard code sdk name and version as span string attrs by @Zylphrex in [#103980](https://github.com/getsentry/sentry/pull/103980) - ref: switch to type-fest for utility types by @TkDodo in [#103961](https://github.com/getsentry/sentry/pull/103961) - chore(preprod): binary export insight by @mtopo27 in [#102459](https://github.com/getsentry/sentry/pull/102459) - ref(redis): Do not use redis-blaster for snowflake IDs generation by @beezz in [#103967](https://github.com/getsentry/sentry/pull/103967) - chore(preprod): fix typo in install modal by @mtopo27 in [#103968](https://github.com/getsentry/sentry/pull/103968) - ref(issues): clean up top issues styles by @cvxluo in [#103944](https://github.com/getsentry/sentry/pull/103944) - chore(aci): log missing WorkflowActionGroupStatus after bulk create by @cathteng in [#103928](https://github.com/getsentry/sentry/pull/103928) - chore(aci): allow feedback issues through workflow engine by @cathteng in [#100153](https://github.com/getsentry/sentry/pull/100153) - ref(issues): use top issues endpoint by @cvxluo in [#103899](https://github.com/getsentry/sentry/pull/103899) - ref(tracemetrics): Add test for metrics tab by @k-fish in [#103901](https://github.com/getsentry/sentry/pull/103901) - chore(replay): Cleanup zendesk feedback target in replay details by @ryan953 in [#103908](https://github.com/getsentry/sentry/pull/103908) - chore(preprod): amplitude events for emerge pages (EME-638) by @mtopo27 in [#103801](https://github.com/getsentry/sentry/pull/103801) - chore(releases): add give feedback to release details page by @mtopo27 in [#103866](https://github.com/getsentry/sentry/pull/103866) - chore(aci): fetch issue stream detector in process_workflows by @cathteng in [#103709](https://github.com/getsentry/sentry/pull/103709) - chore(traces): Swap from `useFeedbackWidget` to `useFeedbackForm()` in trace viewer by @ryan953 in [#103903](https://github.com/getsentry/sentry/pull/103903) - chore(aci): remove lastChecked from open period serializer by @mifu67 in [#103868](https://github.com/getsentry/sentry/pull/103868) - chore(billing): Add data-test-id for acceptance tests by @isabellaenriquez in [#103898](https://github.com/getsentry/sentry/pull/103898) - chore: Refactor FeedbackButton to accept all the feedback options by @ryan953 in [#103794](https://github.com/getsentry/sentry/pull/103794) - ref: set checkJs globally to true by @TkDodo in [#103890](https://github.com/getsentry/sentry/pull/103890) - ref(aci): remove detector usage in WorkflowFireHistory and action firing by @cathteng in [#103082](https://github.com/getsentry/sentry/pull/103082) - ref(taskbroker): Clarify docstring & class name by @armenzg in [#103893](https://github.com/getsentry/sentry/pull/103893) - ref(explorer): rpc to support issue/event detail queries with event id only by @aliu39 in [#103787](https://github.com/getsentry/sentry/pull/103787) - ref: bump Granian to 2.6, enable pname extra by @gi0baro in [#103817](https://github.com/getsentry/sentry/pull/103817) - ref(deletions): Use the same logic to schedule tasks by @armenzg in [#103836](https://github.com/getsentry/sentry/pull/103836) - ci: Enable Objectstore by @lcian in [#103483](https://github.com/getsentry/sentry/pull/103483) - chore(eco): allow deleting disabled org integrations by @cathteng in [#103785](https://github.com/getsentry/sentry/pull/103785) - chore(releases): remove floating feedback widget in favor of header feedback (ENG-5961) by @mtopo27 in [#103862](https://github.com/getsentry/sentry/pull/103862) - ref(billing): Convert CreditType to dynamic type union by @dashed in [#103815](https://github.com/getsentry/sentry/pull/103815) - ref(ui): Refactor EmptyMessage to use core components and simplify API by @evanpurkhiser in [#103798](https://github.com/getsentry/sentry/pull/103798) - chore(ACI): Pop actions off of conditions by @ceorourke in [#103755](https://github.com/getsentry/sentry/pull/103755) - ref(releases): Migrate release actions off deprecated route props by @scttcper in [#103705](https://github.com/getsentry/sentry/pull/103705) - ref(detectors): Hide environment selector for cron monitors by @evanpurkhiser in [#103841](https://github.com/getsentry/sentry/pull/103841) - chore(replay): Remove an extra wrapper in the Replay List page header by @ryan953 in [#103847](https://github.com/getsentry/sentry/pull/103847) - ref(aci): decouple detector from workflowfirehistory in API by @cathteng in [#102918](https://github.com/getsentry/sentry/pull/102918) - ref(explorer): support start/end for table and timeseries rpcs by @aliu39 in [#103779](https://github.com/getsentry/sentry/pull/103779) - ref(explore): Increase trace explorer visualization limit from 4 to 8 by @JoshFerge in [#103769](https://github.com/getsentry/sentry/pull/103769) - ref(seer): Update add-on enum by @isabellaenriquez in [#103695](https://github.com/getsentry/sentry/pull/103695) - ref(explorer): add copy for log details tool by @aliu39 in [#103765](https://github.com/getsentry/sentry/pull/103765) - ref(billing): Convert InvoiceItemType to dynamic type union by @dashed in [#103664](https://github.com/getsentry/sentry/pull/103664) - ref(seer): Introduce legacy add-on by @isabellaenriquez in [#103724](https://github.com/getsentry/sentry/pull/103724) - ref(compactSelect): improve clearing values by @TkDodo in [#103720](https://github.com/getsentry/sentry/pull/103720) - ref: short circuit post_upgrade hook for migrations-drift by @joshuarli in [#103337](https://github.com/getsentry/sentry/pull/103337) - ref(eap): Create a constant for the EAP insert items endpoint path by @shashjar in [#103780](https://github.com/getsentry/sentry/pull/103780) - ref(billing): Remove QUOTA_PREVENT_USERS notification by @brendanhsentry in [#103587](https://github.com/getsentry/sentry/pull/103587) - chore(replay): add new feature flag for new UI by @jerryzhou196 in [#103762](https://github.com/getsentry/sentry/pull/103762) - ref: bump sentry-relay to 0.9.22 by @srest2021 in [#103736](https://github.com/getsentry/sentry/pull/103736) - ref(feedback): move feedback empty state to /feedback by @michellewzhang in [#103763](https://github.com/getsentry/sentry/pull/103763) - ref(preprod): convert missing_dsym_binaries to bool by @trevor-e in [#103733](https://github.com/getsentry/sentry/pull/103733) - ref(crons): Simplify is_muted logic using all() instead of double negative by @evanpurkhiser in [#103732](https://github.com/getsentry/sentry/pull/103732) - chore(integrations): make project_ids not required by @liuirene256 in [#103747](https://github.com/getsentry/sentry/pull/103747) - chore(insights): Remove beta badge from Web Vitals seer suggestions by @edwardgou-sentry in [#103722](https://github.com/getsentry/sentry/pull/103722) - chore(issues): Remove old reference to performance category when building alert message by @malwilley in [#103580](https://github.com/getsentry/sentry/pull/103580) - chore(migrations): Fix up failed deletes by @wedamija in [#103703](https://github.com/getsentry/sentry/pull/103703) - ref(admin): Migrate ChangeDatesModal away from deprecated form by @scttcper in [#103499](https://github.com/getsentry/sentry/pull/103499) - ref(crons): Fix N+1 query in MonitorSerializer by removing is_muted property by @evanpurkhiser in [#103693](https://github.com/getsentry/sentry/pull/103693) - ref(crons): Delete Monitor.is_muted database column (stage 4) by @evanpurkhiser in [#103677](https://github.com/getsentry/sentry/pull/103677) - ref(aci): remove passing in detector to action.trigger attempt 2 by @cathteng in [#103099](https://github.com/getsentry/sentry/pull/103099) - chore(aci): create DetectorGroup with null detector if we can't find event by @cathteng in [#103700](https://github.com/getsentry/sentry/pull/103700) - ref: compositeSelect gets a required trigger by @TkDodo in [#103713](https://github.com/getsentry/sentry/pull/103713) - ref(checkout): Update route by @isabellaenriquez in [#103665](https://github.com/getsentry/sentry/pull/103665) - ref(eu_data_export): return list of jobs by @viglia in [#103717](https://github.com/getsentry/sentry/pull/103717) - chore(preprod): Use nonblocked project_id tag for other e2e metric by @NicoHinderling in [#103710](https://github.com/getsentry/sentry/pull/103710) - chore(deletions): Drop `sentry_incidentseen` and `sentry_incidentsubscription` leftover tables by @yuvmen in [#103559](https://github.com/getsentry/sentry/pull/103559) - ref(crons): Invalidate monitor query after environment muting by @evanpurkhiser in [#103692](https://github.com/getsentry/sentry/pull/103692) - ref(crons): Allow unmuting monitor envs when monitor "muted" by @evanpurkhiser in [#103689](https://github.com/getsentry/sentry/pull/103689) - ref(crons): Disable mute button when monitor has no environments (stage 5) by @evanpurkhiser in [#103568](https://github.com/getsentry/sentry/pull/103568) - chore(aci): Actually delete WorkflowFireHistory.is_single_written by @kcons in [#103683](https://github.com/getsentry/sentry/pull/103683) - ref(stats): Remove estimation logic for continuous profiling by @brendanhsentry in [#103658](https://github.com/getsentry/sentry/pull/103658) - ref(admin): Migrate change contract away from deprecated form by @scttcper in [#103503](https://github.com/getsentry/sentry/pull/103503) - ref(admin): Migrate end immediate action from deprecated forms by @scttcper in [#103501](https://github.com/getsentry/sentry/pull/103501) - chore(eco): default comment bots to off by @cathteng in [#103525](https://github.com/getsentry/sentry/pull/103525) - chore(insights): Removes free seer runs on Web Vitals issues by @edwardgou-sentry in [#103675](https://github.com/getsentry/sentry/pull/103675) - ref(dashboards): Remove spread from tags reduce by @scttcper in [#103670](https://github.com/getsentry/sentry/pull/103670) - ref(crons): Remove Monitor.is_muted field, make it computed (stage 3) by @evanpurkhiser in [#103567](https://github.com/getsentry/sentry/pull/103567) - chore(aci): update product links for LA by @ameliahsu in [#103671](https://github.com/getsentry/sentry/pull/103671) - chore(checkout): Add path pattern by @isabellaenriquez in [#103668](https://github.com/getsentry/sentry/pull/103668) - chore(aci): Remove WorkflowFireHistory.is_single_written by @kcons in [#103502](https://github.com/getsentry/sentry/pull/103502) - ref(scraps): make value and onChange required on compactSelect by @TkDodo in [#103654](https://github.com/getsentry/sentry/pull/103654) - ref: type reduce by @TkDodo in [#103631](https://github.com/getsentry/sentry/pull/103631) - ref(workflow_engine): Further reduce debug log size by @saponifi3d in [#103505](https://github.com/getsentry/sentry/pull/103505) - chore(issues): Remove reference to performance category in group has_replay by @malwilley in [#103585](https://github.com/getsentry/sentry/pull/103585) - chore: Tag extrapolation mode by @shruthilayaj in [#103540](https://github.com/getsentry/sentry/pull/103540) - ref: do not allow uncontrolled compactSelect by @TkDodo in [#103637](https://github.com/getsentry/sentry/pull/103637) - chore(explorer): add more debug logs for profiling by @roaga in [#103640](https://github.com/getsentry/sentry/pull/103640) - chore(ACI): Clean up metric issue by @ceorourke in [#103569](https://github.com/getsentry/sentry/pull/103569) - chore(Replay): Update EAP Flag Condition by @cliffordxing in [#103556](https://github.com/getsentry/sentry/pull/103556) - ref(reprocessing): Update documentation for reprocessing flow by @shashjar in [#102961](https://github.com/getsentry/sentry/pull/102961) - ref(ui): Use Stack over custom FormStack by @evanpurkhiser in [#103558](https://github.com/getsentry/sentry/pull/103558) - ref(crons): Add migration to backfill MonitorEnvironment.is_muted by @evanpurkhiser in [#103324](https://github.com/getsentry/sentry/pull/103324) - chore: Update API owners for Data Browsing by @gggritso in [#103542](https://github.com/getsentry/sentry/pull/103542) - ref(crons): Show processing errors on cron detectors list by @evanpurkhiser in [#103527](https://github.com/getsentry/sentry/pull/103527) - ref(insights): Refactor Seer Analysis sidebar component in the Web Vitals page overview by @edwardgou-sentry in [#103459](https://github.com/getsentry/sentry/pull/103459) - ref: bump sentry-relay to 0.9.21 by @brendanhsentry in [#103474](https://github.com/getsentry/sentry/pull/103474) - ref(performance): Improve web vitals issue check using occurrence type instead by @edwardgou-sentry in [#103471](https://github.com/getsentry/sentry/pull/103471) - chore(codeowners): adds data-browsing as owner by @alexjillard in [#102998](https://github.com/getsentry/sentry/pull/102998) - ref(replay): filter out events before replay start for log messages by @michellewzhang in [#102931](https://github.com/getsentry/sentry/pull/102931) - chore(aci): backfill detectorgroup for metric issues by @cathteng in [#103399](https://github.com/getsentry/sentry/pull/103399) - ref: cleanup intent-preloading feature flag by @TkDodo in [#103517](https://github.com/getsentry/sentry/pull/103517) - ref: bump objectstore-client to 0.0.11 by @getsentry-bot in [#103510](https://github.com/getsentry/sentry/pull/103510) - chore: disable flakey test by @JoshFerge in [#103497](https://github.com/getsentry/sentry/pull/103497) - ref(explorer): clean up old trace rpcs and auto-select sort field by @aliu39 in [#103491](https://github.com/getsentry/sentry/pull/103491) - ref(explorer): useSessionStorage to persist current run id by @aliu39 in [#103467](https://github.com/getsentry/sentry/pull/103467) - chore(explorer): add logs to profile tool by @roaga in [#103479](https://github.com/getsentry/sentry/pull/103479) - ref(conduit): Adjust permissions for conduit demo by @IanWoodard in [#103475](https://github.com/getsentry/sentry/pull/103475) - chore(preprod): abstract metric cards for build comparison by @mtopo27 in [#103469](https://github.com/getsentry/sentry/pull/103469) - ref(autofix): Reuse existing prism language map by @scttcper in [#103476](https://github.com/getsentry/sentry/pull/103476) - chore(preprod): fix casing by @mtopo27 in [#103472](https://github.com/getsentry/sentry/pull/103472) - ref(issues): Clarify markdown copy button label and show line count by @evanpurkhiser in [#103448](https://github.com/getsentry/sentry/pull/103448) - ref(workflow_engine): Make logs not insanely expensive by @saponifi3d in [#103464](https://github.com/getsentry/sentry/pull/103464) - ref(seer): Rename billing flag by @isabellaenriquez in [#103447](https://github.com/getsentry/sentry/pull/103447) - ref(checkout): Cleanup file structure by @isabellaenriquez in [#103378](https://github.com/getsentry/sentry/pull/103378) - ref(objectstore): Upgrade client to 0.0.10 by @lcian in [#103365](https://github.com/getsentry/sentry/pull/103365) - ref(profiling): remove flamegraph chunked query strategy feature flag by @viglia in [#103284](https://github.com/getsentry/sentry/pull/103284) ### Documentation 📚 - docs: Add update-migration script to AGENTS.md by @kcons in [#103770](https://github.com/getsentry/sentry/pull/103770) ### Other - typing: Remove organization_events_meta from soft list by @armenzg in [#104102](https://github.com/getsentry/sentry/pull/104102) - feat(explore-attr-breakdowns): Removing hovering CTA by @Abdkhan14 in [#104144](https://github.com/getsentry/sentry/pull/104144) - Revert setting extrapolation mode to sample weighted by @shruthilayaj in [#104136](https://github.com/getsentry/sentry/pull/104136) - ref(redis) Don't use redis-blaster for snowflake ids v3 by @markstory in [#104114](https://github.com/getsentry/sentry/pull/104114) - fix(mcp-onboarding): Support fullstack JS platforms by @ArthurKnaus in [#104153](https://github.com/getsentry/sentry/pull/104153) - add copy as markdown to user feedback by @mtopo27 in [#103954](https://github.com/getsentry/sentry/pull/103954) - ref(✂️): update knip and address new findings by @TkDodo in [#104151](https://github.com/getsentry/sentry/pull/104151) - flags(size): Add new flag to gate size issue reporting by @chromy in [#104122](https://github.com/getsentry/sentry/pull/104122) - ref(dynamic-sampling): simplify bias combination logic by @shellmayr in [#104119](https://github.com/getsentry/sentry/pull/104119) - deps(js): Upgrade sentry js sdk deps to `10.27.0` by @AbhiPrasad in [#104110](https://github.com/getsentry/sentry/pull/104110) - fix(date-page-filter): Fallback to max pickable days when absolute ra… by @Zylphrex in [#104111](https://github.com/getsentry/sentry/pull/104111) - feat(cells) Add date_updated to organizationmapping v2 by @markstory in [#103915](https://github.com/getsentry/sentry/pull/103915) - Icon SlashForward Replacing Chevron in Breadcrumbs by @Jesse-Box in [#104120](https://github.com/getsentry/sentry/pull/104120) - typing(tests): Minor changes by @armenzg in [#104105](https://github.com/getsentry/sentry/pull/104105) - feat(explore-attr-breakdowns): Adding error and empty search state UI by @Abdkhan14 in [#104012](https://github.com/getsentry/sentry/pull/104012) - feature(explore-attr-breakdowns): Removing yAxis heuristic from selection hint by @Abdkhan14 in [#104087](https://github.com/getsentry/sentry/pull/104087) - fix(uptime) Add a missing task import for uptime by @markstory in [#104104](https://github.com/getsentry/sentry/pull/104104) - chore(search-query-builder): Add metric for invalids and warnings by @Zylphrex in [#104076](https://github.com/getsentry/sentry/pull/104076) - chore(hybridcloud) Align keys used for organization snowflakeids by @markstory in [#104075](https://github.com/getsentry/sentry/pull/104075) - feat(cells) Add silo annotations to email, debug, and plugin views by @markstory in [#104034](https://github.com/getsentry/sentry/pull/104034) - ref(llm-detection): Send enhanced span data to support improved Seer analysis by @nora-shap in [#103871](https://github.com/getsentry/sentry/pull/103871) - chore(llm-detector): Add GenAI Consent Check by @roggenkemper in [#104060](https://github.com/getsentry/sentry/pull/104060) - feat(cursor-agent): include email and key name by @jennmueng in [#103989](https://github.com/getsentry/sentry/pull/103989) - fix(cursor-agent): ui handling of when you have more than 1 integration by @jennmueng in [#104007](https://github.com/getsentry/sentry/pull/104007) _Plus 134 more_ 25.11.0 ------- ### Various fixes & improvements - feat(explorer): custom copy and navigation for get_profile_flamegraph tool (#103314) by @roaga - feat(explorer): add rpc for profile flamegraph tool (#103293) by @roaga - feat(explorer): support generic table and timeseries rpcs and migrate existing tools to them (#103413) by @aliu39 - fix(aci): Make associate_new_group_with_detector more robust (#103418) by @kcons - feat(aci): redirect alerts nav to monitors (#103325) by @ameliahsu - fix(aci): Display correct resolution threshold (#103409) by @scttcper - Wire up frontend for new multiple architectures insight (#103415) by @rbro112 - chore(performance): remove trace-view-load-more (#103011) by @cvxluo - fix(preprod): update dyld label (#103408) by @trevor-e - fix(ui2): dropdown button overlap (#103404) by @natemoo-re - fix(typing): add some types to tagstore (#103405) by @thetruecpaul - chore(events): Clean up preprocess option (3/3) (#103194) by @thetruecpaul - chore(aci): set DetectorGroup detector to null when it's deleted (#103348) by @cathteng - fix(replay): Add fallback ordering to replay index page (#103328) by @srest2021 - feat(ai): Check gen-ai feature flag before org-level flags in Prevent AI (#103386) by @JoshFerge - fix(insights): Fix issues table link (#103401) by @scttcper - chore(preprod): Use nonblocked project_id tag for e2e metric (#103390) by @NicoHinderling - chore(tracemetrics): Remove unneeded trace metric from queries (#103391) by @Zylphrex - feat(performance): Updates Web Vitals issue detection to consolidate lcp, fcp, and ttfb into a single issue (#103272) by @edwardgou-sentry - fix(aci): Fix QuerySubscription deletion (#103398) by @kcons - feat(ACI): Send updated data to Seer on all snuba query changes (#103332) by @ceorourke - perf(dashboards): Fix slow re-render of ECharts objects (#103375) by @gggritso - fix(ui2): check `organization is not None` (#103372) by @natemoo-re - test(tracemetrics): Re-enable skipped trace metrics tests (#103396) by @Zylphrex _Plus 1563 more_ 25.10.0 ------- ### Various fixes & improvements - fix(sub v3): Rework usage and reserved columns (#101514) by @isabellaenriquez - feat(ai_grouping): Send token length metrics on stacktraces sent to Seer (#101477) by @yuvmen - fix(aci): conditionally show trigger logic type selector on automation edit (#100711) by @ameliahsu - feat(aci): Hide transactions dataset option (#101497) by @scttcper - perf(replays): Optimize memory usage and deserialization performance (#101195) by @cmanallen - fix(aci): Return empty list from open periods endpoint when detector has no linked group (#101046) by @malwilley - fix(spans-migration): changed type and wording of dropped fields warnings (#101479) by @nikkikapadia - fix(tracemetrics): Switch experimental backend to kwarg rate (#101520) by @k-fish - fix(alert): Delete IncidentTrigger as child of AlertRuleTrigger (#101460) by @kcons - fix(replay) - fix use fetch parallel pages (#101462) by @jerryzhou196 - feat(tracemetrics): Add extrapolation warning iff we scan partial data (#101517) by @narsaynorath - fix(inc-1453): Do not crash hard if end_timestamp violates the schema (#101512) by @untitaker - chore(timeseries): Mark `TimeSeries` meta property as optional (#101463) by @gggritso - fix(ai-insights): llm calls count (#101509) by @obostjancic - feat(tracemetrics): Update UX to separate query builder from charts (#101465) by @narsaynorath - fix(spans-migration): changed reason format (#101466) by @nikkikapadia - chore(sub v3): prep for EA (#101437) by @isabellaenriquez - fix(ui): Make build details more like release details (#101348) by @chromy - fix(sub v3): Misc feedback + bugs (#101474) by @isabellaenriquez - fix(sub v3): Make row clickability more obvious (#101467) by @isabellaenriquez - feat(agent-spans): Display used tools (#101506) by @ArthurKnaus - feat(sdk): Enable HTTP request source (#101502) by @alexander-alderman-webb - feat(auto_source): Use consistent stack trace granularity (#101432) by @armenzg - chore(search-bar): Default to contains for filtering strings (#101450) by @nsdeschenes _Plus 1679 more_ 25.9.0 ------ ### Various fixes & improvements - ref(feedback): simplify categories test coverage to be more efficient (#99451) by @aliu39 - fix(checkout v3): Keep customers on current tiers (#99423) by @isabellaenriquez - fix(billing): Use ff for prevent notification (#99489) by @brendanhsentry - feat(aci): Allow specific detector types to be passed to fetching hooks (#99486) by @malwilley - perf(aci): Avoid unnecessary organization db load (#99487) by @kcons - chore(detectors): Reset noise config limit for query injection issues (#99427) by @roggenkemper - feat(on-demand): Add feature flag check before cardinality check (#98726) by @narsaynorath - chore(issue-details): Add `num_exceptions` to issue details viewed analytics event (#99436) by @roggenkemper - perf(aci): Cache Group lookup for process_workflows/trigger_action (#99449) by @kcons - ref(search): Remove spaces from wildcard operators (#99399) by @nsdeschenes - feat: add explore equation to dashboards (#99404) by @shruthilayaj - ref(billing): remove cross-project selection upsells (#99444) by @cvxluo - feat(flamegraph): Cycle through flamegraph search results with enter (#99424) by @Zylphrex - ref: use pickle protocol 5 (#99119) by @asottile-sentry - ref: upgrade django-stubs and move cache hax to plugin (#99482) by @asottile-sentry - fix(js): Directly access process.env.NODE_ENV (#99481) by @evanpurkhiser - feat(tasks) Enable taskworkers by default in self-hosted (#99374) by @markstory - feat(analytics): log an error when an Event class was instantiated that lacks the eventclass decorator (#98922) by @constantinius - feat: Add taskbroker mode that doesn't start workers (#99474) by @markstory - ci(jest): regenerate jest-balance.json (#99453) by @getsentry-bot - feat(dashboards): Remove PlanFeature feature flag workaround (#99372) by @narsaynorath - feat(performance): Add beta badge to web vitals seer suggestions (#99476) by @edwardgou-sentry - chore(feedback) remove `Feedback` model (#99380) by @jerryzhou196 - ref: upgrade pydantic (#99473) by @asottile-sentry _Plus 1112 more_ 25.8.0 ------ ### Various fixes & improvements - fix(ci): Push docker image on release branches (#97936) by @hubertdeng123 - fix(explore): Insert group bys before visualizes if possible (#97923) by @Zylphrex - feat(logs): Support multiple visualizes and groupbys in logs (#97912) by @Zylphrex - ref(dashboards): make `WidgetCardChart` functional (#97885) by @lzhao-sentry - feat(summarization): Route s4s traffic to new pod (#97926) by @Mihir-Mavalankar - aci(feat): Use propagated timestamp to track triggering latency (#97612) by @kcons - feat(detectors): Update detection algorithm for MN+1 Experimental Detector (#97533) by @roggenkemper - fix(aci): Make rule/workflow redis buffer interactions non-transactional (#97917) by @kcons - ref: remove coreapi, use ParseError in sentry_app logic (#97913) by @JoshFerge - chore(cell-actions): use popper strategy fixed instead of portalling (#97593) by @lzhao-sentry - ref(replay): Refactor how we refresh bulk delete notifications (#97893) by @ryan953 - feat(replay): Add a dropdown to make it easier to select replays inside stories (#97713) by @ryan953 - feat(otlp): Collapse Trace Waterfall spans based on span name (#97706) by @gggritso - feat(otlp): Use `name` attribute in more spaces in the span waterfall (#97704) by @gggritso - ref: move codeowners endpoints into issues module (#97916) by @JoshFerge - ref(groupingInfo): Hide client fingerprint in Contributing Values view if it doesn't contribute (#97904) by @shayna-ch - ref(groupingInfo): add highlight to contributing values when All Values is set (#97812) by @shayna-ch - ref(issues): improve similar issues stacktrace diff (#97645) by @shayna-ch - chore: add good example of `SENTRY_DISALLOWED_IPS` (#97847) by @oioki - feat(trace-eap-waterfall): Exclude missing instrumentation nodes from FE traces (#97879) by @Abdkhan14 - ref(cell-actions): better interactions for ID and clearer menu indication (#97888) by @lzhao-sentry - :running: perf(aci): measure trigger action execution time (#97918) by @iamrajjoshi - chore(autofix): add more copy button content (#97891) by @roaga - feat(autofix): Show error message when drafting PR (#97867) by @roaga _Plus 1946 more_ 25.7.0 ------ ### Various fixes & improvements - ref(deletions): Remove unnecessary Seer calls in endpoint (#93541) by @armenzg - chore(detectors): Clean up detection settings (#95561) by @roggenkemper - ref(stories): rename sections (to core + product) (#95562) by @natemoo-re - fix(Jira-Server): Adds halts, better exceptions for failed syncs (#95281) by @GabeVillalobos - fix(stories): adjust routing (#95442) by @natemoo-re - feat(taskworker): Zstd compress process profile task (#95545) by @enochtangg - chore(relay): update VALID_PLATFORMS from relay location comment (#95510) by @cvxluo - ref(ecosystem): refactor link_all_repos to bulk update repositories (#95494) by @cathteng - build: fix storybook types (#95556) by @JonasBa - feat(replay): Unify the tooltips into one for replay details os/browser (#95558) by @ryan953 - feat(otlp): Parse JSON-looking attributes in span attributes panel (#95544) by @gggritso - chore(aci): setup single processing flag for issue alerts in workflow engine (#95178) by @cathteng - feat(otlp): Register flag for displaying span links in the trace view UI (#95549) by @gggritso - ref(ui): make "md" the new buttonBar gap default (#95551) by @TkDodo - feat: Add dashboard widget snapshot model (#95236) by @shruthilayaj - [ft] Add a enable PR review + test gen setting at an org level (#95456) by @rohitvinnakota-codecov - fix(explore): Only permit span.duration for eap count (#95480) by @Zylphrex - ref: replace space function with p.theme.space in core/button (#95414) by @TkDodo - chore(nextjs-insights): remove feature flag registration (#95543) by @shellmayr - fix(taskworker) Add a short backoff when fetching tasks (#95346) by @markstory - chore(ui): Increase contrast on issues chart (#95349) by @leeandher - feat(tours): re-implement tour with inverse theme (#95530) by @TkDodo - fix(explore): Prettify aggregation in saved queries (#95479) by @Zylphrex - :wrench: chore(aci): update `send_activity_notification` to not send notifications for metric alert resolutions (#95476) by @iamrajjoshi _Plus 670 more_ 25.6.2 ------ ### Various fixes & improvements - feat(feedback): enable feedback category option for org stats page (#94649) by @aliu39 - fix(anomaly detection): turn processing back on for dynamic rules (#94652) by @mifu67 - chore(sentry apps): Add SLO for updating servicehooks (#94489) by @Christinarlong - feat(prevent): Initial RepoTokenTable (#94381) by @ajay-sentry - feat(aci): automation edit scaffolding (#94595) by @ameliahsu - feat(replay): add feedback to LLM context (#94315) by @michellewzhang - chore(opsgenie): instrument opsgenie installation slos (#94587) by @Christinarlong - chore(detectors): Add google API filtering for Consecutive HTTP detector (#94634) by @roggenkemper - chore(launchpad): add dev check to skip ff logic on artifact upload path (#94638) by @NicoHinderling - profiling: allow session expanding (#94633) by @JonasBa - feat(aci): Add uptime detector form (#94617) by @malwilley - feat(preprod) Add file id for install file (#94642) by @noahsmartin - fix(ui): Silence additional AbortErrors (#94644) by @scttcper - fix(reports): Significantly increase the schedule_organizations deadline (#94596) by @kcons - feat(aci): add subfilters list to remaining frequency conditions (#94621) by @ameliahsu - :wrench: chore: add ecosystem to codeowners for sentry apps utils (#94620) by @iamrajjoshi - fix(ui): Throw error if response is undefined in api client (#94631) by @scttcper - :wrench: chore: fix and add a couple open pr comment logs (#94614) by @iamrajjoshi - :wrench: chore: sample sentry app client error slo logs (#94618) by @iamrajjoshi - feat(launchpad): Create size analysis upload (assemble) endpoint (#94353) by @NicoHinderling - fix(billing): update conditions for orgStatsBanner to appear (#94493) by @brendanhsentry - docs(replay): Iterate on bulk delete blueprint (#94494) by @ryan953 - ref(issues): add rate limits to tagkey details (#94626) by @JoshFerge - feat(simpleTable): Allow `` to accept any Div props (#94619) by @ryan953 _Plus 519 more_ 25.6.1 ------ ### Various fixes & improvements - feat(issues): Add hex parameterization experiment (#93970) by @mrduncan - feat(feedback): Split feedback tags into tags+context with collapsable sections (#93397) by @ryan953 - ref(grouping): Small changes to grouping tests (#93960) by @lobsterkatie - ref(replay): adjust timestamps in replay ai summary UI (#93992) by @michellewzhang - fix(replay): Add handling for null max_segment_id (#93989) by @cmanallen - chore(issues): Remove traceparent experiment (#93942) by @mrduncan - ref(trace-items): Pull useGetTraceItemAttributeKeys into hook (#93739) by @Zylphrex - ref(explore): Visualize should only have 1 y axis (#93938) by @Zylphrex - feat(preprod): Add analytics to the assemble endpoint (#93871) by @trevor-e - feat(trace-eap-waterfall): Hiding some attrs (#93964) by @Abdkhan14 - fix(aci): Fix accidental over-logging (#93971) by @kcons - feat(detectors): Add noise config to DB Query Injection Issue Type (#93943) by @roggenkemper - ref(dashboards): add a new table widget visualization component (#93902) by @lzhao-sentry - ref(issues): Remove redundant Type row from Event Grouping Information table (#93892) by @nora-shap - fix(taskworker) Extend deadlines for check_auth (#93961) by @markstory - flex: cleanup Flex* custom styling in favor of Flex primitive (#93809) by @JonasBa - ✨ feat(scm): add environment infomation to suspect commit prs (#93025) by @iamrajjoshi - ref(feedback): better summarization prompt (#93962) by @vishnupsatish - ref(replay): include error context in breadcrumb summary (#93669) by @michellewzhang - chore(issues): Remove regex parameterization experiment (#93958) by @mrduncan - fix(aci): Ensure slow conditions are consistent (#93895) by @kcons - feat(feedback): frontend to display summary (#93567) by @vishnupsatish - feat(devservices): Add tracing mode (#93759) by @hubertdeng123 - ref(profiling): Move flamegraphFrameFilter types around for tsgo (#93948) by @scttcper _Plus 105 more_ 25.6.0 ------ ### Various fixes & improvements - fix(release): Run self-hosted image push on release branches (#93827) by @hubertdeng123 - fixing(trace-eap-waterfall): Not implemented error (#93820) by @Abdkhan14 - Remove `File`-based `EventAttachment` code (#93804) by @Swatinem - fix(aci): Change open period range boundary to inclusive (#93535) by @snigdhas - fix(ourlogs): Expand the menu automatically when you change the function (#93821) by @colin-sentry - fix(dashboards-comparison): Add proper handling for environment filters (#93822) by @nikkikapadia - feat(sentryapps): Display sentry apps token usage as app rather than proxy user (#93763) by @leeandher - fix(issues): Handle breadcrumb item as array (#93784) by @scttcper - fix(issues): Move sentry attachment exception (#93783) by @scttcper - fix(ui): restore height for pageFilterBar (#93800) by @TkDodo - :wrench: chore: add logging for project transfers (#93779) by @iamrajjoshi - flex: add support for inline flex (#93813) by @JonasBa - ref(replays): Remove unused flag (#93805) by @cmanallen - releases: fix button overflow (#92344) by @JonasBa - chore(detectors): Normalize evidence data for query injection issues (#93760) by @roggenkemper - ref(ci): Remove unused matrix (#93815) by @untitaker - fix(browser-reports): Support the correct media type (#93814) by @armenzg - chore(taskworker): Update put child multiprocessing queue metric (#93744) by @enochtangg - ref: growing input is no more (#86553) by @JonasBa - ref(replays): Clean up RRWeb event parsing logic (#93517) by @cmanallen - fix(spans): Do not shut down the flusher at the beginning of rebalancing (#93807) by @untitaker - fix(release): Publish image on release branches (#93757) by @hubertdeng123 - ref: enable strict types on sentry.utils.github (#93710) by @asottile-sentry - Reapply "ref: match pipeline arg name in auth views (#93722) by @asottile-sentry _Plus 1454 more_ 25.5.1 ------ ### Various fixes & improvements - :wrench: chore(integrations): use `IntegrationProviderSlug` for Integration `key` (#91465) by @iamrajjoshi - ref: fix types for group_integration_details (#92026) by @asottile-sentry - Bump `devenv`/`devservices` to make Python SDK 3 compatible (#92028) by @antonpirker - build(ui): Remove react prod sourcemaps (#92006) by @scttcper - feat(spans): Produce items from process-segments (#91714) by @untitaker - feat(explore): Add attribute description throughout explore (#91829) by @Zylphrex - fix(symbolicator): check source credentials and not the credential token (#92024) by @Litarnus - feat(replay): Start bringing in new replay context wrappers to test (#91982) by @ryan953 - feat(agents-insights): dashboard placeholder (#92021) by @obostjancic - ref: remove remote_subscriptions migrations (#92004) by @asottile-sentry - fix(apps): disallow Manager to rotate an app secret with org:admin scope (#92019) by @oioki - issues: remove custom save button styling (#91974) by @JonasBa - replay: replace colors for tokens on timeline (#91933) by @JonasBa - trace: fix buttons in chonk (#91878) by @JonasBa - tag: fix bad tag change and flickering text (#91927) by @JonasBa - chore(sdk): Use add_full_stack by default (#91939) by @armenzg - fix(codeowners): move demomode upwards in codewards to stop matching everything (#92020) by @shellmayr - fix(nextjs-insight): Filter spans without component type from tree view (#92017) by @ArthurKnaus - Add directory for preprod (#91961) by @chromy - fix(span-buffer): Fix crashing behavior in flusher (#91949) by @untitaker - feat(agents-insights): feature flag registration (#92014) by @obostjancic - fix(codeowners): add owner to demomode line (#92012) by @shellmayr - ref: add flags to migrations lockfile (#91991) by @asottile-sentry - feat(source-maps): Do not render source maps wizard if platform is react native (#91860) by @priscilawebdev _Plus 231 more_ 25.5.0 ------ ### Various fixes & improvements - chore(perf-issues): Add a flag and check it to allow customer to disable detectors (#91734) by @leeandher - feat(trace-tabs-ui): Adding ops to search on click and hiding trace level ops breakdown (#91684) by @Abdkhan14 - build(ui): Add rspack as webpack alternative (#77077) by @scttcper - fix(taskworker) Fix async notification parameter serialization (#91720) by @markstory - fix(profiles): Set the proper span entity to insert data to in tests (#91736) by @phacops - fix(insights): line of code not working with db module on eap (#91654) by @DominikB2014 - ref(reserved budgets): Update types + constants (#91606) by @isabellaenriquez - feat(taskworker) Check 2% of tasks for pickle (#91624) by @markstory - chore(github): Only support pagination for getting labels (#91570) by @armenzg - Skip test_queries_profile_candidates_from_spans (#91724) by @armenzg - fix(issue-details): Avoid persisting stacktrace folding behaviour (#91719) by @leeandher - feat(dashboards): Newly added widgets should scroll into view (#91721) by @narsaynorath - ref(crons): Use dateAdded over dateCreated (#91667) by @evanpurkhiser - fix(utils): return 0% for null and undefined values in formatpercentage (#91710) by @shellmayr - ref: fix nullability of requires_org_level_access (#91694) by @asottile-sentry - feat(explore): Flatten visualize yaxes into multiple (#91664) by @Zylphrex - fix(widget-library): Hide filters at top of panel if not small screen (#91716) by @narsaynorath - feat(attachments): Include all attachment with screenshot in name (#91602) by @armenzg - fix(insights): show - instead of null when metric value is null (#91656) by @DominikB2014 - feat(ourlogs): Add a "new" badge for logs in the sidebar (#91674) by @colin-sentry - fix(nextjs-insights): remove project icon from rage/dead click widget (#91711) by @shellmayr - fix(nextjs-insights): show 0% for failure_rate()==0 instead of <0% (#91709) by @shellmayr - feat(nextjs-insights): add avg & p95 duration to navigations table (#91708) by @shellmayr - fix(sandbox): for debugging add telex org to exclude from redirect (#91704) by @constantinius _Plus 1819 more_ 25.4.0 ------ ### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing) Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it): https://docs.sentry.io/platforms/java/source-context/#setting-up-code-mappings Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit). This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such. This will automatically enable the following Sentry features : - Suspect Commits - GitHub pull request comments - Auto-assignments (if Codeowners imported) - Stack trace linking - Code coverage (if the customer also has an account) This will only be available to customers with the GitHub integration installed. You can read more about the system here: https://blog.sentry.io/code-mappings-and-why-they-matter/ By: @armenzg (#89389, #89302, #89211, #88952, #88787, #88676, #88673, #88557, #88475, #88440, #88372, #88251, #88087, #88073, #87842, #87915, #87912, #87776, #87630, #87581, #87437, #87498, #87399, #86598) ### Various fixes & improvements - :wrench: chore: fix slack webhook commands endpoint typing (#89579) by @iamrajjoshi - chore(issue-platform): Clean up issue platform feature flags now that we're using flagpole (#89451) by @wedamija - fix(issues): Open drawers without resetting scroll (#89574) by @scttcper - feat(ourlogs): Strip ANSI escape codes (#89619) by @colin-sentry - fix(schema-hints): Replace user tag with an available `user.*` tags (#89509) by @nikkikapadia - feat(explore): Remove feature flag for get traces rpc (#89621) by @Zylphrex - styles(explore): Reorganization explore for tours (#89616) by @Zylphrex - feat(logs): minor accordion cleanup (#89531) by @doralchan - ref: the first arg of prep_search is unused (#89611) by @asottile-sentry - ref: fix types for sentry.api.base (#89601) by @asottile-sentry - :wrench: chore: update msteams notifications typing (#89577) by @iamrajjoshi - ref(profiling): rename filestore profiles options (#89608) by @viglia - :wrench: chore: fix slack notifications typing (#89578) by @iamrajjoshi - fix(ui): make sure hovering disabled buttons doesn't change their textColor (#89588) by @TkDodo - feat(explore): Add support for count_unique in eap (#89558) by @Zylphrex - feat(demo-mode): issues tour (#89399) by @obostjancic - fix(dashboards-eap): Pass along sampled flag for disabling message (#89528) by @narsaynorath - fix(taskworker) Increase timeouts for deletion tasks (#89541) by @markstory - feat(explore): Switch trace samples over to rpc (#89575) by @Zylphrex - fix(dashboards): Fix typo in code comment (#89606) by @gggritso - Revert "feat(features) Add testing feature flag for region condition (#89405)" (12c54bb3) by @getsentry-bot - feat(profiling): Detect chunks without client sdk (#89195) by @Zylphrex - ref(laravel-insights): Move components (#89600) by @ArthurKnaus - feat(ui): chonkify segmentedControl (#89589) by @TkDodo _Plus 2007 more_ 25.3.0 ------ ### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing) Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it): https://docs.sentry.io/platforms/java/source-context/#setting-up-code-mappings Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit). This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such. This will automatically enable the following Sentry features : - Suspect Commits - GitHub pull request comments - Auto-assignments (if Codeowners imported) - Stack trace linking - Code coverage (if the customer also has an account) This will only be available to customers with the GitHub integration installed. You can read more about the system here: https://blog.sentry.io/code-mappings-and-why-they-matter/ By: @armenzg (#86283, #86327, #86280, #86196, #86188, #86189, #86109, #86026, #85981, #85976, #85931, #85742) ### Various fixes & improvements - Revert "chore(sentry apps): add SLO context manager for send alert event (issue alerts) (#86356)" (fa6491f2) by @getsentry-bot - fix(autofix): Fix running autofix after all issue summaries (#87134) by @jennmueng - fix(data-consent): Fix non touch customers seeing msa prompt (#87133) by @jennmueng - fix(eap-spans): count_op should use `score.total` (#87132) by @DominikB2014 - chore(sentry apps): Add context manager for comment webhook SLOs (#86739) by @Christinarlong - feat(devenv): Skip `devenv sync` call when we have FE changes and env var is set (#87112) by @wedamija - feat(insights): make score easier to query (#87129) by @DominikB2014 - chore(issue-details): Fix a few things about issue guide (#87122) by @leeandher - feat(issue-views): Improve drag handle and safari interactions (#87119) by @MichaelSun48 - :recycle: ref(aci): remove alert rule from metric alert chart building logic (#87103) by @iamrajjoshi - fix(jira): Add a 'key_id' block list for JIRA installed webhook endpoint (#87086) by @Christinarlong - fix(event_manager): Resolve TypeError while recording first insight span (#87123) by @jan-auer - chore(sentry apps): add SLO context manager for send alert event (issue alerts) (#86356) by @Christinarlong - ref(feedback): add evidence test coverage and send alerts if source is none (#87121) by @aliu39 - feat(releases): Change "version" to "release" in table (#87088) by @billyvg - feat(releases): Change release bubbles series color to match bubbles (#87109) by @billyvg - test(react19): Wait for text in billingPlans.spec.tex (#87120) by @scttcper - ref(tsc): convert projectPlugins details to FC (#87035) by @michellewzhang - chore(issues): Opt more modules into stronger typing (#87117) by @mrduncan - feat(ui): Move checkInTimeline underscan to the left (#87096) by @evanpurkhiser - fix(aci): ANY_SHORT_CIRCUIT early exit (#87114) by @cathteng - test(react19): Adjust widgetViewerModal for react 19 (#87110) by @scttcper - chore(uptime): Commit test helpers for getsentry (#87115) by @wedamija - feat(insights): add most related issues to backend (#87033) by @DominikB2014 _Plus 1390 more_ 25.2.0 ------ ### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing) Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it): https://docs.sentry.io/platforms/java/source-context/#setting-up-code-mappings Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit). This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such. This will automatically enable the following Sentry features : - Suspect Commits - GitHub pull request comments - Auto-assignments (if Codeowners imported) - Stack trace linking - Code coverage (if the customer also has an account) This will only be available to customers with the GitHub integration installed. You can read more about the system here: https://blog.sentry.io/code-mappings-and-why-they-matter/ By: @armenzg (#85174, #85065) ### Various fixes & improvements - Revert "feat(autofix): Add Autofix status to sidebar button (#85287)" (b20e50ed) by @getsentry-bot - fix(autofix): Fix flash on initial run (#85299) by @roaga - feat(autofix): Add Autofix status to sidebar button (#85287) by @roaga - fix(issues): Left align commit authors (#85291) by @scttcper - :sparkles: feat(aci): add support for sentry apps for issue alerts in NOA (#85218) by @iamrajjoshi - feat(crons): Implement an all checks page for crons (#85202) by @leeandher - fix(apidocs): fix typo in user feedback api (#85280) by @michellewzhang - ref(dashboards): Namespaced `Widget` components (#85238) by @gggritso - ref(uptime): Remove config_topic from UptimeRegionConfig (#85155) by @evanpurkhiser - ref(seer grouping): Add ability to ignore useless filenames (#85277) by @lobsterkatie - fix(auto_source_config): Handle when the frame is None (#85235) by @armenzg - feat(issues): Disable delete on missing permission (#85278) by @scttcper - fix(widget-builder): Visualize field overflows on long field names (#85271) by @nikkikapadia - feat(nav): Update rest of alert links to use new pathname builder (#85257) by @malwilley - fix(profiling): Prevent landing page from scrolling on context menu (#85273) by @Zylphrex - ref: remove default margin from Alert in sentry (#85128) by @michellewzhang - feat(taskworker) Add metrics for RPC durations (#85194) by @markstory - feat(nav): Update alert links from explore/insights/crons (#85254) by @malwilley - feat(nav): Update replay onboarding to use drawer (#85267) by @malwilley - ref(crons): Rename parallel field -> batched_parallel (#85261) by @evanpurkhiser - Reapply "ref(crons): Remove parallel mode (batched-parallel replaced it)" (#85262) by @evanpurkhiser - ref(widget-builder): Extract selection components (#85248) by @narsaynorath - chore(apis): Publish GroupExternalIssue endpoint (#85184) by @Christinarlong - ref: get_group_{body,title,description} to not need request (#85263) by @asottile-sentry _Plus 1429 more_ 25.1.0 ------ ### Various fixes & improvements - fix(issues): inherit ShortIdLookupEndpoint from GroupEndpoint (#83502) by @oioki - feat(widget-builder): Create blank widget preview for templates (#83509) by @nikkikapadia - fix(eslint): Cleanup some TS cruft in the eslint.config.mjs file (#83468) by @ryan953 - feat(eap): Add has filters to eap search query builder (#83437) by @Zylphrex - feat(explore): Add is_transaction to explore fields (#83423) by @Zylphrex - styles(explore): Fix spacing between explore toolbar visualize (#83449) by @Zylphrex - feat(streamline): Add an option to remove opt-out for new users (#83205) by @leeandher - ref(issue-details): Remove all query params from legacy UI when no event is found. (#83441) by @leeandher - Revert "ref(quick-start): Update backend enums names (#83361)" (0729289d) by @getsentry-bot - feat(symx): Add os as a tag (#83504) by @loewenheim - ref(quick-start): Update backend enums names (#83361) by @priscilawebdev - ref: fix type for serializers.models.rule (#83444) by @asottile-sentry - ref: fix typing for plugins.bases.issue{,2} (#83445) by @asottile-sentry - ref: standardize user param as User | RpcUser | AnonymousUser in Serializers (#83436) by @asottile-sentry - Reapply "ref: upgrade to python 3.13" (#83448) by @asottile-sentry - feat(widget-builder): Add widget dropdown for templates (#83426) by @nikkikapadia - ref(quick-start): Update comments in onboarding tasks model (#83496) by @priscilawebdev - ref(quick-start): Remove unused functions (#83499) by @priscilawebdev - ref(quick-start): Remove 'INTEGRATIONS' from onboarding task (#83488) by @priscilawebdev - ref(quick-start): Remove 'USER_CONTEXT' from onboarding tasks (#83489) by @priscilawebdev - ref(quick-start): Remove 'METRIC_ALERT' from onboarding task (#83487) by @priscilawebdev - ref(quick-start): Add 'default=True' to the flag manager (#83483) by @priscilawebdev - ref(quick-start): Remove 'USER_REPORTS' from onboarding task (#83490) by @priscilawebdev - fix(symx): Remove log message (#83491) by @tobias-wilfert _Plus 26 more_ 24.12.2 ------- ### Various fixes & improvements - feat(devservices): Add option to setup sentry with new devservices to existing action (#83415) by @hubertdeng123 - ref(react19): Remove various styled defaultProps (#83409) by @scttcper - feat(new-trace-issues): Updating designs for trace preview in issue details (#83430) by @Abdkhan14 - feat(metric-issues): Add "correlated issues" section (#83353) by @snigdhas - fix(ui): Clamp timeline zoom to the minute (#83435) by @evanpurkhiser - fix(eslint): Enable no-constant-binary-expression and fix violations (#83273) by @ryan953 - feat(eap): Support eap autocompleting booleans (#83433) by @Zylphrex - fix(migrations): Actually fix BoundedPositiveBigIntegerField (#83431) by @wedamija - ref: delete dead serializer code (#83429) by @asottile-sentry - feat(ui): List available param keys in useParams (#83428) by @scttcper - ref: fix types for mentions serializer (#83424) by @asottile-sentry - :recycle: feat(workflow_engine): issue alert action migration util for slack (#83123) by @iamrajjoshi - feat(metric-issues): Hide log level indicator for non-error issues (#83354) by @snigdhas - ref: use types-requests-oauthlib (#83418) by @asottile-sentry - ref: use types-unidiff (#83416) by @asottile-sentry - ref(profiling) drop drag and drop functionality (#83420) by @JonasBa - ref: upgrade django-stubs (#83413) by @asottile-sentry - chore(alerts): Remove lingering activated alerts code (#83342) by @ceorourke - chore(analytics): Add experimental analytics for new streamlined orgs (#83390) by @leeandher - feat(dashboards): Improve duration Y axis label formatting (#83337) by @gggritso - ref(profiling): Merge profile provider for both modes (#83338) by @Zylphrex - fix(migrations): Set the correct internal type for BoundedPositiveBigIntegerField (#83412) by @wedamija - fix: check user in helper (#83407) by @oioki - fix(widget-builder): Aggregates with no column not wiped (#83410) by @narsaynorath _Plus 775 more_ 24.12.1 ------- ### Various fixes & improvements - fix: fixes KeyError when running with stale topic dlq (#82512) by @lynnagara - chore(issue-views): Add analytics back to tab actions (#82504) by @MichaelSun48 - chore(sentry apps): Introduce new error types for sentry apps (#82507) by @Christinarlong - fix timezone normalization (#82496) by @kneeyo1 - ref(tsc): convert teamAccessRequestModal to FC (#82470) by @michellewzhang - ref(tsc): convert dashboardWidgetQuerySelectorModal to FC (#82466) by @michellewzhang - ref(issue-views): Overhaul issue views state and logic to a new context (#82429) by @MichaelSun48 - ref: strptime -> fromisoformat in tests (#82488) by @asottile-sentry - chore(various): Fix linter warnings (#82494) by @lobsterkatie - ref(insights): Split out `getAxisMaxForPercentageSeries` (#82493) by @gggritso - fix(ecosystem): Track metrics for issue detail ticket creation (#82436) by @GabeVillalobos - ref(aci): pass WorkflowJob into process_workflows (#82489) by @cathteng - fix(group-events): Fix typo and error text (#82490) by @leeandher - fix(web): Add react_config context on auth pages take 2 (#82480) by @BYK - feat(alerts): ACI dual write alert rule helpers (#82400) by @ceorourke - feat(dashboards): Pass `LineChart` series meta alongside the data (#82047) by @gggritso - fix(eap): Numeric attribute filtering in snql eap (#82472) by @Zylphrex - chore(issues): Opt in a few more endpoint tests to stronger types (#82382) by @mrduncan - ref: remove calls to iso_format in testutils (#82461) by @asottile-sentry - feat(dashboards): enable sorting by column in table view (#82239) by @harshithadurai - ref(workflow_engine): remove remaining references to condition in validators (#82438) by @mifu67 - fix(flags): separate permission class (#82463) by @oioki - feat(new-trace): Fixing scroll on trace drawer (#82475) by @Abdkhan14 - support routing stale messages to lowpri topic (#82322) by @lynnagara _Plus 240 more_ 24.12.0 ------- ### Various fixes & improvements - chore(utils): allow duplicate values in registry by making reverse lookup optional (#82114) by @cathteng - feat(workflow_engine): Add `process_data_packets` method (#82002) by @saponifi3d - ref(workflow_engine): Remove DetectorType (#82111) by @saponifi3d - chore(aci milestone 3): move aggregation value helpers to incidents directory (#82103) by @mifu67 - ref(feedback): remove spam detection logs - replaced by redash (#82071) by @aliu39 - fix(activity): Update activity message for linked issues (#82064) by @snigdhas - ref(replay): improve error messages for invalid searches that raise CouldNotParseValue (#82048) by @aliu39 - fix(toolbar): Include credentials with fetch requests (#82108) by @ryan953 - feat(autofix): Add support for streamed output (#82024) by @roaga - :sparkles: feat(discord): add button to redirect for user linking (#82104) by @iamrajjoshi - feat(workflow_engine): Adding support for `process_workflows` in the IssuePlatform (#81975) by @saponifi3d - ref: remove skip_for_relay_store (#82106) by @asottile-sentry - feat(metric-issues): Configure workflow notifications by group type (#81609) by @snigdhas - fix(iphone-codes): update frontend definitions (#82100) by @armcknight - ref: improve grouphash_metadata test (#82101) by @asottile-sentry - fix(iphone-codes): update BE mapping; remove unused method (#82094) by @armcknight - ref: remove xfail_if_not_postgres (#82097) by @asottile-sentry - ref: fix typing for endpoints.project_rule_preview (#82089) by @asottile-sentry - ref: fix types for test_event_attachment_details (#82091) by @asottile-sentry - ref: remove requires_not_arm64 (#82093) by @asottile-sentry - chore(aci): enforce config schema without subclassing (#81979) by @cathteng - ref: fix types for eventstore.test_base (#82092) by @asottile-sentry - chore(stacktrace): Make source map tooltip aligned (#82016) by @MichaelSun48 - ref: delete unused GroupEnvironmentWithStatsSerializer (#82090) by @asottile-sentry _Plus 93 more_ 24.11.2 ------- ### Various fixes & improvements - fix(dashboards): Abbreviate `LineChartWidget` Y axis integers (#81937) by @gggritso - Revert "chore(profiling): remove profiling.stack_trace_rules.allowed_project_ids option (#81903)" (d0bea1aa) by @getsentry-bot - feat(widget-builder): Add limit field to widget builder hook (#81944) by @nikkikapadia - fix(alerts): Fix EAP alert filter bar to behave more like explore (#81946) by @edwardgou-sentry - feat(alerts): Renames eap metrics in ui to spans (#81917) by @edwardgou-sentry - feat(alerts): Limits eap alert time windows and periods (#81916) by @edwardgou-sentry - chore(insights): Remove bundle analysis UI flag (#81932) by @gggritso - feat(widget-builder): Batch URL param changes (#81923) by @narsaynorath - fix(merged): Always show a link for latests event of a merged group (#81947) by @leeandher - fix(dashboards): Add missing propagated props in `LineChartWidget` (#81935) by @gggritso - chore(profiling): remove profiling.stack_trace_rules.allowed_project_ids option (#81903) by @viglia - feat(new-trace): remove prefix related (#81918) by @doralchan - :mag: nit(integration slo): cleanup tests (#81943) by @iamrajjoshi - ref(widget-builder): Split out tests (#81949) by @narsaynorath - fix(trace-view): Web Vitals scores (#81945) by @0Calories - ref(insights): Simplify `SpanTimeCharts` (#81931) by @gggritso - fix(oauth): only remove the related tokens (#81677) by @sentaur-athena - :wrench: chore(integration slo): cleaning up tests and use util method (#81936) by @iamrajjoshi - feat(issue summary): Change 3-dot menu to dropdown (#81928) by @roaga - feat(sdk): Upgrade @sentry SDKs to v8.43.0 (#81925) by @aliu39 - Better logging for backpressure (#81648) by @kneeyo1 - feat(dashboards): add success message when favoriting dashboards (#81887) by @harshithadurai - feat(ui): Add dark app loading theme (#81611) by @scttcper - ref(dashboards): Export Widget component props (#81924) by @gggritso _Plus 442 more_ 24.11.1 ------- ### Various fixes & improvements - feat(toolbar): Make the login-success page have styles that blend with the login flow (#81230) by @ryan953 - fix(issues): Revert to app external issue name (#81277) by @scttcper - Revert "chore(similarity): Do not send > 30 system frames to seer (#81259)" (104352cb) by @getsentry-bot - :wrench: chore(slos): Update Halt to Success for Bot Commands (#81271) by @iamrajjoshi - fix(auth): Adding scoping_organization_id to replica (#81213) by @sentaur-athena - chore(similarity): Do not send > 30 system frames to seer (#81259) by @jangjodi - fix(issues): Animate dropdown chevrons, button sizes (#81262) by @scttcper - feat(eap): Add missing profile.id column to EAP (#81263) by @Zylphrex - ref(dashboards): Modify how permissions are handled for editing/deleting dashboards (#80684) by @harshithadurai - feat(explore): Format numeric tags nicely in explore (#81255) by @Zylphrex - fix(explore): Preserve sort when adding group by (#81258) by @Zylphrex - ref(insights): remove insights-domain-view flag part 1 (#81241) by @DominikB2014 - chore(alerts): Drop included and excluded projects (#81250) by @ceorourke - ref: fix flaky digests test (#81256) by @asottile-sentry - chore(sentryapps) Remove option for sentryapp RPC transition (#81245) by @markstory - fix(grouping): Only collect metadata timing metric when actually getting metadata (#81252) by @lobsterkatie - chore(performance): Remove old anomaly detection backend (#80696) by @gggritso - Revert "chore(similarity): Add logging for over 30 system frames (#81130)" (7b7e7955) by @getsentry-bot - ♻️ chore(slo): SLOs for CommitContextIntegration (#81225) by @iamrajjoshi - chore(widget-builder): Remove organization props (#81248) by @narsaynorath - chore(integrations): SourceCodeSearchEndpoint metrics (#80956) by @mifu67 - chore(vsts): vsts installation step metrics (#80789) by @cathteng - Remove excluded_projects & include_all_projects columns (#81204) by @ceorourke - fix(issues): Wrap solutions in error boundary (#81244) by @scttcper _Plus 338 more_ 24.11.0 ------- ### Various fixes & improvements - feat(issue-details): Add support link to dropdown (#80804) by @roggenkemper - fix(issues): Show 50+ Replays whenever the count is maxed out like that (#80809) by @ryan953 - ref(replay): Refactor extractDomNodes stepper strategy into extractDomNodes.tsx (#80810) by @ryan953 - ref: make condition_data / action_data param names match for create_project_rule (#80781) by @asottile-sentry - ref: explicitly install libexpat1 (#80742) by @asottile-sentry - ref(dashboards): Fixes and refactoring for edit access selector button (#80633) by @harshithadurai - feat(flamegraphs): Support functions flamegraphs for continuous profi… (#80822) by @Zylphrex - feature(dashboards): added grid icon (#80806) by @doralchan - fix(charts): Respect stacked prop in area chart (#80824) by @Zylphrex - fix(insights): filter out ui.action in backend, and add to mobile (#80823) by @DominikB2014 - chore(flamegraph): Remove transactions from differential flamegraphs (#80807) by @Zylphrex - feat(functions): Use flamegraph as data source for slowest functions (#80791) by @Zylphrex - feat(dashboards): Dashboards landing page layout toggle (#80790) by @nikkikapadia - ref(grouping): Rename `GroupingComponent` to `BaseGroupingComponent` (#80725) by @lobsterkatie - feat(dynamic-sampling): Show project as active if not 100 percent (#80819) by @ArthurKnaus - feat(dynamic-sampling): Copy changes and doc links (#80818) by @ArthurKnaus - fix(releases): For semver releases, get latest release as the resolving one (#80737) by @armenzg - feat(dynamic-sampling): Use new span count endpoint (#80732) by @ArthurKnaus - feat(dynamic-sampling): Show stored span per sub-project (#80816) by @ArthurKnaus - fix(dynamic-sampling): set dynamic sampling project span count mql query limit (#80812) by @shellmayr - chore(codeowners): update telemetry experience ownership (#80813) by @shellmayr - fix(crons): Move limit back onto QuerySet for incident detection (#80805) by @evanpurkhiser - fix(grouping): Small types fixes (#80724) by @lobsterkatie - feat(backup): Add export checkpointer (#80711) by @azaslavsky _Plus 1276 more_ 24.10.0 ------- ### Various fixes & improvements - feat(releases): Split release commit from shared component (#78538) by @scttcper - chore(alerts): Add info log when sending subscription update data to Seer (#79049) by @ceorourke - feat(anomaly detection): add preview chart to new alert form (#78238) by @natemoo-re - feat(issue-stream): Use stacked primary secondary counts designs (#79070) by @MichaelSun48 - feat(alerts): Add new feature flag to enable EAP alerts (#78985) by @edwardgou-sentry - feat(discover): Update EAP dataset and entity key for discover builders (#78967) by @edwardgou-sentry - fix: add info to post process TypeErrors for debugging (#79099) by @mjq - ref(ingest): annotate transaction consumer with spans (#79101) by @mjq - ref(rr6): Replace many useRouter's with useNavigate's (#78804) by @evanpurkhiser - chore(feedback): Analytics for error rendering feedback item (#78978) by @c298lee - feat(explore): Linking to spans in traceview from all tables (#78984) by @Abdkhan14 - fix(eap): Count takes arg (#79066) by @Zylphrex - feat(quick-start): Add analytics code to the backend to track quick start completion (#79089) by @priscilawebdev - feat(quick-start): Add new feature flag for the new updates (#79094) by @priscilawebdev - fix(dashboard): OnDemand widget creation also includes transaction type (#79059) by @narsaynorath - fix(dashboard): OnDemand extraction for Transaction widgets (#79055) by @narsaynorath - feat(quick-start): Add analytics code to the frontend to track quick start completion (#79092) by @priscilawebdev - ref(quick-start): Update 'project to set up' logic to default to the first project (#78460) by @priscilawebdev - ref(onboarding): Add pnpm to express js install step (#79093) by @priscilawebdev - feat(dynamic-sampling): add feature flag (#79084) by @constantinius - fix(loader): Catch errors in `sentryOnLoad` separately (#78993) by @mydea - ref(feedback): 401 for unauth'd POSTs to projectUserReports (#79069) by @aliu39 - fix(issue-stream): reduce font size of events and user counts (#79028) by @MichaelSun48 - fix(issue-stream): Fix bug where replay divider was shown despite no replays (#79068) by @MichaelSun48 _Plus 1020 more_ 24.9.0 ------ ### Various fixes & improvements - fix(custom-views): Align hover state of overflow menu with add view button (#77526) by @MichaelSun48 - fix(issues): Align streamlined event id (#77529) by @scttcper - fix(similarity): Return failure reason from multithread seer call (#77522) by @jangjodi - test(performance): Rearrange trace keyboard test (#77519) by @scttcper - fix(anomaly detection): get aggregation key from snuba data (#77498) by @mifu67 - fix(ui): Remove team slug from settings search (#77520) by @scttcper - fix(issues): Fix incorrect API docs for statsPeriod (#77523) by @mrduncan - analytics(flags): add initial analytics (#77489) by @michellewzhang - chore(users): Move User base endpoint file to users directory (#77501) by @Christinarlong - chore(apidocs): Fix inconsistencies in replay docs (#77506) by @isabellaenriquez - chore(apidocs): id -> ID (#77505) by @isabellaenriquez - fix(onboarding): Open replay panel in quick start action (#77516) by @scttcper - fix(anomaly detection): update alert list status to be the same as details page (#77500) by @mifu67 - ref(js): Remove default export of DateTime (#77493) by @evanpurkhiser - chore(similarity): Increase seer delay and add to log (#77474) by @jangjodi - chore(apidocs): Make UserRole related endpoints private (#77504) by @isabellaenriquez - fix(custom-views): Change cursor for tab to pointer everywhere (#77513) by @MichaelSun48 - ref: fix test pollution integrity errors due to cache leaks between tests (#77476) by @asottile-sentry - chore(crons): Remove sentry monitor decorator from run_escalating_forcast job (#77499) by @MichaelSun48 - ref(js): Missed one DateTime defualt export (#77497) by @evanpurkhiser - feat(flags): hide flags from context and add feedback button (#77488) by @michellewzhang - publish api endpoints (#77179) by @nhsiehgit - ref(js): Remove usage of DateTime default export (#77494) by @evanpurkhiser - fix(ui): Inmprove spacing on code snippet header (#77492) by @evanpurkhiser _Plus 853 more_ 24.8.0 ------ ### Various fixes & improvements - style(toolbar): adjust alert indicator css (#76189) by @michellewzhang - fix(issue-summary): Word break on code (#76217) by @jennmueng - fix(issue-details): Prevent event error section from showing up if no errors (#76235) by @roggenkemper - nit(scm): group functions by class they come from in main integration class (#76240) by @cathteng - chore(migrations): Generalize the migrations_added file filter (#76244) by @wedamija - chore(explore): Add new referrer for explore in events (#76256) by @Zylphrex - ref(explore): Use sort type from discover (#76220) by @Zylphrex - misc(deps): Bump the versions of a few google packages (#76257) by @colin-sentry - chore(slack): temporarily track snuba user count queries round 2 (#76216) by @cathteng - feat(breadcrumbs): Fix breadcrumbs styles + navigation (#76207) by @leeandher - feat(features) Use dataclasses for flagpole instead of pydantic (#75859) by @markstory - ref(similarity): Manually filter times seen in backfill query (#76188) by @jangjodi - feat(insights): implement geo region selector in web vitals and assets (#76185) by @DominikB2014 - chore(dashboards): Register feature for auto sized Big Number widgets (#76205) by @gggritso - feat(profiling) add function metrics table (#76110) by @JonasBa - fix(self-hosted): SOURCE_COMMIT (#76139) by @joshuarli - Don't emit Sentry warnings for throttled queries to Snuba (#75879) by @xurui-c - chore(uptime): Switch result consumer duration/delay stats to use distribition (#76237) by @wedamija - chore: Bump React error codes cache TTL to 3 days (#76243) by @dashed - chore(uptime): Bump ACTIVE_FAILURE_THRESHOLD to 3 (#76218) by @wedamija - fix(alert): Correct url (#76236) by @schew2381 - fix(uptime): Always pass span_id from check result to occurrence (#76227) by @evanpurkhiser - ref(replay): update missing replay alert to include ad blocker note (#76215) by @michellewzhang - Revert "fix(breadcrumbs): Use subgrid to align log levels (#76148)" (d08c8050) by @getsentry-bot _Plus 1113 more_ 24.7.1 ------ ### Hierarchical grouping deprecation (ongoing) This project will move any projects using the mobile grouping configuration as defined here: https://github.com/getsentry/sentry/blob/44d816f0b9a9450fdf47136313b3a4b955ceab84/src/sentry/grouping/strategies/configurations.py#L160-L188 By: @armenzg (#74203) ### Various fixes & improvements - chore(data-secrecy): FF for Data Secrecy (#74749) by @iamrajjoshi - feat(utils): Add core `CircuitBreaker` functionality (#74560) by @lobsterkatie - fix(replay): fix new banner check for hydration errors (#74755) by @aliu39 - fix: split samples by threadid (#74738) by @JonasBa - Allow AI to be nullable (#74746) by @colin-sentry - Fix creating crash free session alerts (#74750) by @saponifi3d - feat(utils): Add helpers for circuit breaker and circuit breaker tests (#74559) by @lobsterkatie - chore(typing): stricter decorator type checking for leaky bucket (#74687) by @vartec - feat(uptime): Bump default timeout for onboarding monitors to 10s (#74739) by @wedamija - chore(similarity): Add seer failure reason to backfill log (#74735) by @jangjodi - fix(insights): Cache page alert re-rendering (#74737) by @narsaynorath - chore(saml2): Add flag for Single-Logout (#74736) by @leedongwei - chore(seer): Add timing metric to requests to Seer (#74688) by @lobsterkatie - feat(utils): Add stub for rate-limit-based `CircuitBreaker` class (#74557) by @lobsterkatie - Separates rejecting policy and throttling policy in Sentry tags and spans (#74733) by @xurui-c - feat(tracing): reparent ssr spans under pageload txn and under browser request span (#74675) by @JonasBa - ref(toolbar): add feature flag search (#74697) by @michellewzhang - remove temporary flagpole option (#74597) by @nhsiehgit - chore(issues): cleanup old issue annotations (#74684) by @oioki - ref: improve signatures of tsdb (#74725) by @asottile-sentry - feat(performance): enable long animation frame support for internal t… (#74637) by @KevinL10 - fix(metrics): Introduce new styles to alias field (#74722) by @priscilawebdev - feat(dashboards): Add split source field to API response (#74717) by @narsaynorath - ref: fix Future types for sentry_metrics routing_producer (#74682) by @asottile-sentry _Plus 296 more_ 24.7.0 ------ ### Hierarchical grouping deprecation (ongoing) This project will move any projects using the mobile grouping configuration as defined here: https://github.com/getsentry/sentry/blob/44d816f0b9a9450fdf47136313b3a4b955ceab84/src/sentry/grouping/strategies/configurations.py#L160-L188 By: @armenzg (#74144) ### Various fixes & improvements - chore(api): Rewrite Org Details docs (#73293) by @isabellaenriquez - metrics(replay): log rrweb_event_count to slow clicks table (#74277) by @aliu39 - fix(slack): Fix error handling when fetching slack channel information (#74267) by @dashed - chore(replay): alpha -> beta (#74279) by @michellewzhang - feat(trace-view): Add UI fallback to old view for STs (#73684) by @k-fish - chore(similarity): Add killswitches for each feature flag (#74274) by @jangjodi - feat(prompts): support a visible status for un-hiding components (#74228) by @aliu39 - nit(opsgenie): add config access requirement to error text (#74111) by @mifu67 - ref(similarity): Add killswitch to delete record task (#74212) by @jangjodi - ref(profiling) battery usage chart (#74273) by @JonasBa - ref(discover): Use snake case for dataset variable (#74215) by @narsaynorath - ref(proguard): Deobfuscate view hierarchies as part of symbolication (#74196) by @loewenheim - feat(profiling) construct profile from continuous chunk (#74171) by @JonasBa - ref(profiling) store unit on profile chart (#74152) by @JonasBa - ref(metrics): Update copies (#74270) by @priscilawebdev - ref(proguard): Remove separate queue (#74269) by @loewenheim - ref(metrics): Update copies (#74268) by @priscilawebdev - Revert "ref(proguard): Remove separate queue (#74198)" (a1ab12d0) by @getsentry-bot - ref(proguard): Remove separate queue (#74198) by @loewenheim - feat(metrics): numeric span attribute extraction (#74190) by @obostjancic - feat(metrics): update extraction rule tag description (#74118) by @obostjancic - fix(minimetrics): skip span attribute attach if there is no span (#74193) by @obostjancic - feat(auto-import): Enable default vscode auto-import for Sentry BE (#74197) by @MichaelSun48 - fix: fix broken links to Performance docs pages (#74235) by @mjq _Plus 911 more_ 24.6.0 ------ ### Various fixes & improvements - ref: upgrade boto3 (#72935) by @asottile-sentry - feat(related_issues): Free tier support for trace timeline and related issues (#72933) by @armenzg - ref(keyvaluedata): Change names and exports for better autocomplete (#72939) by @leeandher - feat(issues): adds backend for "resolve in upcoming release" (#70990) by @roggenkemper - feat(breadcrumbs): Implement shared timeline component (#72874) by @leeandher - ref(slack): Refactor Link Identity View (#72792) by @iamrajjoshi - chore(rules): Remove metric alert ignore archived flag (#72833) by @ceorourke - feat(query-builder): Add loading state and improved menu styles/positioning (#72940) by @malwilley - fix: Improve trimming of Swift function names (#72335) by @Steelskin - fix(query-builder): Remove [me,my_teams,none] suggestion from assigned (#72915) by @malwilley - feat(query-builder): Make date filters more user friendly (#72911) by @malwilley - fix(compact-select): Prevent CompactSelect from stealing focus back to itself after clicking into another element (#72883) by @malwilley - fix(spans): Return all queried span tags (#72937) by @Zylphrex - chore(rrweb): bump rrweb ver to 2.23.0 (#72936) by @michellewzhang - fix(replay): Fix error state quickly flashing when loading replay (#72823) by @billyvg - feat(am2): Add project to the blended sample rate function (#72900) by @wmak - Revert "perf(trace-explorer): Service Entry spans always have group 0 (#72817)" (9ebd80d3) by @getsentry-bot - feat(insights): add has_insights_xx span project flags (#72904) by @KevinL10 - chore(hybridcloud) Merge frontend-domains feature into multi-region (#72714) by @markstory - fix(ui) Fix broken redirect on org rename (#72906) by @markstory - ref: fix types for integrations tasks (#72898) by @asottile-sentry - ref: fix types for various tasks (#72899) by @asottile-sentry - ref: remove unused utils.canonical (#72774) by @asottile-sentry - ref: fix types in org provisioning (#72896) by @asottile-sentry _Plus 659 more_ 24.5.1 ------ ### Various fixes & improvements - ref(messaging): Removing Integration Namespace Imports (#72033) by @iamrajjoshi - ref(js): Fix a few biome warnings (#72048) by @evanpurkhiser - feat(insights): show update SDK banner cache module (#72015) by @DominikB2014 - fix(spanMetrics): Don't mark avg as a percentile (#72046) by @wmak - fix(new-trace): Fixing scrollbar offset. (#72029) by @Abdkhan14 - ref: fix types for sentry.utils.snowflake (#72019) by @asottile-sentry - fix(contexts): Fix casing for known context (#72045) by @leeandher - fix(related_issues): Prevent race condition (#72036) by @armenzg - fix(traceview): Allow raw text on additional data when set (#72038) by @leeandher - fix(insights): Fix flag name in Spans tab UI (#72039) by @0Calories - ref(test): Remove location from context (#72028) by @evanpurkhiser - feat(traces): Use new slice quantization from backend (#72034) by @k-fish - fix(context): Address a few small context bugs (#72013) by @leeandher - feat(self-hosted): Errors only self-hosted sidebar (#72012) by @hubertdeng123 - fix(relocation): Clean up relocation serializer (#71930) by @azaslavsky - ref: remove wrapping RawEvent payload with CanonicalKeyView (#72010) by @asottile-sentry - feat(similarity): Add read only flag to NN endpoint (#72021) by @jangjodi - feat(remote-config): Add proxy endpoint for configurations (#71773) by @cmanallen - chore(login): update the login banners (#72027) by @pevensentry - fix(similarity): use get_primary_hash in backfill (#72022) by @JoshFerge - feat(empty-states): Update arcade for issue stream empty state (#72024) by @roggenkemper - Revert "ref(replays): update videoReplayer code to match new rrweb logic & bump rrweb version (#71875)" (7ed3a135) by @getsentry-bot - feat(profileHours): Add profile hours to org stats (#71882) by @scttcper - feat(contexts): Add laravel as known platform context (#72008) by @leeandher _Plus 786 more_ 24.5.0 ------ ### Various fixes & improvements - Revert "fix(staff): Prevent fetching authenticators before preloading (#70938)" (2d7dcff0) by @getsentry-bot - feat(metrics): Add custom metrics banner (#70946) by @matejminar - feat(metrics): Register guide (#70948) by @matejminar - chore(issues): Add flag for resolve in upcoming release (#70898) by @roggenkemper - chore(generic-metrics): Add new options to toggle dropping percentiles (#70889) by @ayirr7 - fix(slack): don't raise RuntimeError if unable to fetch property in slack request (#67798) by @cathteng - Revert "nit: Remove authenticators from state (#70365)" (c946f52a) by @getsentry-bot - feat(performance): Adds error rate to queues module (#70883) by @edwardgou-sentry - feat(related_issues): Support passing an event_id to the endpoint (#70878) by @armenzg - dev(similarity): add more telemetry to backfill (#70947) by @JoshFerge - fix(issues): Fix missing retries configuration (#70907) by @mrduncan - chore(metrics): rollout feature flag (#70940) by @obostjancic - feat(trace-explorer): Supports metrics min/max (#70920) by @Zylphrex - feat(performance): queues module table sorting (#70817) by @edwardgou-sentry - feat(metrics): Default custom metric + dismiss empty state (#70936) by @matejminar - ref: improve devimports test (#70926) by @asottile-sentry - ref(insights): abstract ScreenLoadSpanSamples side panel for mobile modules (#70890) by @KevinL10 - fix(staff): Prevent fetching authenticators before preloading (#70938) by @schew2381 - fix(api): Update Endpoint so it Returns 404 as a `status_code` (#70918) by @iamrajjoshi - Hook up `peanutbutter` as an LPQ backend (#69187) by @Swatinem - ref(insights): Declare module base URLs as constants (#70861) by @gggritso - fix(metrics): copy code location (#70932) by @obostjancic - chore(metrics): remove meta datetime param (#70928) by @obostjancic - ci: reduce time running codecov (#70885) by @giovanni-guidini _Plus 747 more_ 24.4.2 ------ ### Related Issues - V1 (ongoing) This will include same-root and trace-connected issues. By: @armenzg (#69670, #69693, #69237) ### Various fixes & improvements - feat(traces): Add multiple queries for trace search (#69929) by @k-fish - feat(api-idorslug): Rename Path paramaters to `project_id_or_slug` (#69716) by @iamrajjoshi - ref(rules): Handle action match in delayed rule processor (#69797) by @ceorourke - ref(crons): Improve typing on MONITOR_CODEC (#69919) by @evanpurkhiser - reF(ui): Use Link component for performance/cache/tables/transactionCell (#69906) by @evanpurkhiser - feat(replay): Refetch the viewed-by data after an update to it (#69357) by @ryan953 - fix: no attribute error (#69908) by @nhsiehgit - feat(user): Add option to only return verified emails from verify_user_emails (#69812) by @davidenwang - ref(py): Update monitor_consumer to handle FilteredPayload (#69904) by @evanpurkhiser - ref: fix BytesWarning in last_seen_updater (#69909) by @asottile-sentry - ref(crons): Remove decode compat code (#69905) by @evanpurkhiser - ref(app-starts): Generalize screen table component (#69839) by @narsaynorath - ref(profiling): preserve colors when highlighting (#69912) by @JonasBa - fix(trace): track data quality from frontend (#69907) by @JonasBa - fix(project-release): POST should not call Snuba (#69831) by @sentaur-athena - fix(trace): use the same resize icon (#69869) by @JonasBa - feat(ui): Remove lazy renderer component prop (#69823) by @scttcper - ref(js): Use Link component in spanDescriptionLink (#69897) by @evanpurkhiser - feat(ui): Tag sentry events with concurrent mode (#69819) by @scttcper - ref: maxminddb module is always available, GEOIP_PATH_MMDB attr always present (#69902) by @asottile-sentry - fix(trace): remove click outside (#69862) by @JonasBa - ref(ui): Use Link component in performance http/tables/transactionCell (#69891) by @evanpurkhiser - ref(ui): Use Button for "Change Photo" (#69901) by @evanpurkhiser - feat(crons): Add ability dispatch clock ticks to kafka (#69896) by @evanpurkhiser _Plus 478 more_ 24.4.1 ------ ### Various fixes & improvements - ref(search): normalize parsed values (#69198) by @JonasBa - deps(ui): Upgrade webpack dev server, terser (#69150) by @scttcper - chore(hc): Handles sentry app permission check where org is not found (#69175) by @GabeVillalobos - chore(feature): Clean up released features that use `OptionBackedRolloutFeatureHandler` in getsentry (#69168) by @wedamija - feat(crons): Send assignee to issue platform (#69160) by @wedamija - ref(profiling): add deny list check when ingesting function metrics for a given project (#69180) by @viglia - ref(replays): show network tab under ff (#69171) by @michellewzhang - feat: Add Activated Alert Rules to alert rule index (#69124) by @nhsiehgit - Feat: Enable activated alert creation via alert rule form (#68959) by @nhsiehgit - test(ui): Add test for GH-69143 (#69149) by @evanpurkhiser - fix(issues): Fix title of unlabeled errors (#69195) by @matejminar - feat(trace): add shortcuts button (#69188) by @JonasBa - ref(trace): fix formatter (#69185) by @JonasBa - fix(grid-editable): adjust resizer height (#69190) by @obostjancic - ref(search) case insensitive grammar (#69146) by @JonasBa - fix(consumers): Handle passed in cluster overrides (#69112) by @rgibert - ref(related_issues): Minor code refactoring before feature work (#69137) by @armenzg - Enable queries using project slug as filter and groupby in Metrics API (#69111) by @shellmayr - feat(perf): Minor fixes to Requests view I (#69156) by @gggritso - fix(ddm): Add message to the block metric confirm modal (#69184) by @matejminar - feat(combo-box): Make it feel more like a select (#69087) by @ArthurKnaus - chore(replay): add ff for enabling network tab for mobile replays (#69166) by @michellewzhang - ref(replay): Cleanup old session-replay-trace-table experiment (backend) (#68822) by @ryan953 - feat: improved user auth tokens (#68148) by @mdtro _Plus 182 more_ 24.4.0 ------ ### Various fixes & improvements - Revert "ref(stories): Collapse `app` root (#68939)" (13dcc607) by @getsentry-bot - feat(ui): Add `actor` to delegating Avatar component (#68933) by @evanpurkhiser - ref(ui): Consolidate TeamBadge (#68927) by @evanpurkhiser - ref(stories): Improve types on TreeMapping (#68940) by @evanpurkhiser - ref(stories): Collapse `app` root (#68939) by @evanpurkhiser - feat(perf): Use `@sentry/status-page-list` for domain status link (#68899) by @gggritso - deps(ui): Update react-router to latest v3, create-react-class (#68926) by @scttcper - fix(trace): fix drawer bg color (#68934) by @JonasBa - feat(issue-details): Revise Context UI behind feature flag (#68081) by @leeandher - Revert "feat(replay): Persist has-viewed state to the server when replays are seen (#68743)" (ad312261) by @getsentry-bot - feat(perf): Bump "Requests" module from "Alpha" to "Beta" (#68930) by @gggritso - feat(perf): Adjust HTTP sample table column widths (#68901) by @gggritso - chore(self-hosted): 24.3.0 release tests (#67091) by @hubertdeng123 - deps(ui): Remove react-test-renderer (#68929) by @scttcper - fix(trace): fix text overlaps (#68928) by @JonasBa - fix(replay): Fix canvas replays when seeking without actively playing (#68646) by @billyvg - fix(perf): Link Response module domains to a specific project (#68905) by @gggritso - chore(issues): Remove legacy browser flag from BE (#67717) by @leeandher - ref(uI): Cleanup unused ts-ignore after update (#68924) by @scttcper - fix(replay): Fixes type error if same param is in url (#68851) by @c298lee - fix(bug): logging bug (#68919) by @ykamo001 - fix(crons): Update slug in quotas when deleting monitors (#68917) by @evanpurkhiser - chore(relocation): Add server-side Sentry capture logging (#68906) by @azaslavsky - feat(replays): Delete videos on replay delete request (#68463) by @cmanallen _Plus 1311 more_ 24.3.0 ------ ### Various fixes & improvements - ref(rules): Translate int minutes to words (#67021) by @ceorourke - fix(rate_limits): Remove special rate limits for group_index (#66730) by @volokluev - fix(replays): Drop and log click events with negative node-ids (#66993) by @cmanallen - ref: fix typing in sentry.testutils.factories (#67046) by @asottile-sentry - fix(discord): Add more unactionable status codes to ignore from slo (#66903) by @17hogeju - fix(hybridcloud) Deliver payloads concurrently (#66870) by @markstory - fix(tests): skip flaky test (#67047) by @scefali - ref(escalating): Remove TODOs from forecast task (#66889) by @jangjodi - feat(replays): move full replay button (#67014) by @scefali - fix(webvitals): drop fid column from page overview samples table (#66998) by @edwardgou-sentry - ref: remove unused strip_toplevel from safe_extract_zip (#67011) by @asottile-sentry - chore(hybridcloud) Remove outbox based webhooks (#66158) by @markstory - chore(processing) remove unused settings (#66967) by @markstory - feat(metric-stats): Add metric_stats generic metrics namespace (#66955) by @Dav1dde - feat(metrics): Add React Native onboarding (#66960) by @krystofwoldrich - feat(metrics): Add metrics onboarding for Android and Java (#67033) by @markushi - perf: add tracing to nodestore (#67002) by @anonrig - ref(projconfig): Fix typo in instrumentation in span op (#67035) by @iker-barriocanal - fix: disallow inviting Admin user if team-level roles are enabled (#66836) by @oioki - ref(projconfigs): Add more instrumentation (#66957) by @iker-barriocanal - feat(ddm): Add custom_metrics_access organization flag (#66953) by @iambriccardo - chore(ddm): add sidebar item flag (#66951) by @obostjancic - fix(issue-priority): Remove box shadow from priority dropdown (#67031) by @malwilley - ref(replay/issues): link full replay to errors tab from rage click issue (#67030) by @michellewzhang _Plus 1307 more_ 24.2.0 ------ ### Various fixes & improvements - Revert "build: update redis and remove redis-py-cluster (#64711)" (c699781d) by @getsentry-bot - rename issue_alert creators (#65207) by @nhsiehgit - ref(similarity-embedding): Move log (#65243) by @jangjodi - build: update redis and remove redis-py-cluster (#64711) by @anonrig - feat(metrics_extraction): user_misery to fall back to Discover (#65232) by @armenzg - build: optimize extract-ios-device-names command (#65112) by @anonrig - feat(trace): prevent back forward navigation (#65244) by @JonasBa - feat(metrics): Support basic spans metrics examples (#65119) by @Zylphrex - ref(similar-embeddings): Add shouldBeGrouped to diff analytics (#65235) by @jangjodi - chore(issues): Revert-revert of deleting streamline-targeting-context (#65160) by @leeandher - ref: use decode_responses=False for raw=True redis cache (#64885) by @asottile-sentry - fix(profiling): fix measurement chart messaging (#65237) by @JonasBa - ref: replace trivial uses of utcnow with tz-aware now (#65085) by @asottile-sentry - feat(hybridcloud) Add a metric for webhook saves (#65185) by @markstory - feat(ddm): sample tooltip prefix (#65230) by @obostjancic - fix(relay): Increase project config timeout (#65229) by @jjbayer - fix(ddm): Add op to series name (#65231) by @ArthurKnaus - chore(dashboards): remove inline widget editor (#65166) by @obostjancic - feat(ddm): Prefix multi query series names (#65222) by @ArthurKnaus - fix(ddm): Remove connected nulls (#65221) by @ArthurKnaus - chore(stats): remove metrics (#65220) by @obostjancic - feat(platforms): Add platform deno in BE (#65218) by @ArthurKnaus - feat(ddm): Multi query chart (#65217) by @ArthurKnaus - chore(dashboards): remove custom metrics from widget builder (#65156) by @obostjancic _Plus 207 more_ 24.1.2 ------ ### Various fixes & improvements - ref(api): Make processing team endpoints private (#63939) by @loewenheim - feat(issue-priority): Add priority column to issue stream (#64820) by @malwilley - Revert "ref: upgrade hiredis (#64789)" (782b0f44) by @getsentry-bot - feat(issue-details): Show static replay when error is not within the replay (#64827) by @malwilley - ref(sdk): Remove excessive json.loads spans (#64883) by @k-fish - fix(integrations): phabricator host validation (#64882) by @oioki - feat(integrations): Autofill project in selector after project creation modal (#64791) by @roggenkemper - ref(replay): remove 'new' badge from selector widgets & tab (#64848) by @michellewzhang - fix(replays): check before attempting to load in onboarding doc (#64842) by @michellewzhang - fix(ddm): Handle all and my projects (#64877) by @ArthurKnaus - ref: upgrade hiredis (#64789) by @asottile-sentry - fix(replays): Move code requiring exception-prone variables into try block (#64658) by @cmanallen - Sprinkle some tracing around more `save_event` functions (#64869) by @Swatinem - fix(ddm): Focused series backwards compatibility (#64868) by @ArthurKnaus - ref: Add option to throttle proguard processing (#64866) by @loewenheim - ref(similarity-embeddings): Remove unused organization level flag (#64815) by @jangjodi - ref: upgrade psycopg2-binary (#64809) by @asottile-sentry - fix(ddm): Global loading state on zoom (#64861) by @ArthurKnaus - fix(ddm): project param rename (#64860) by @obostjancic - fix(ddm): Clicking chart hides tooltip (#64859) by @ArthurKnaus - feat(ddm): Multiple focused series (#64855) by @ArthurKnaus - feat(ddm): Add new metrics/query endpoint base code (#64785) by @iambriccardo - feat(stats): metrics stats (#64790) by @obostjancic - ref(feedback): add analytics for mark as spam buttons (#64850) by @michellewzhang _Plus 606 more_ 24.1.1 ------ ### Various fixes & improvements - feat(issue-details): Add URL and breadcrumbs sidebar to issue replay when in fullscreen mode (#63920) by @malwilley - ref(open-pr-comments): include affected users in javascript comments (#63909) by @cathteng - fix(ai-ml): Fix ai feature PII check for isStaff users (#63958) by @jennmueng - fix(self-hosted): Try dynamically setting CSRF_TRUSTED_ORIGINS (#63908) by @hubertdeng123 - fix(ai-autofix): Fix ai autofix release lookup (#63926) by @jennmueng - fix(feedback): update comments signal tooltip (#63953) by @michellewzhang - ref(feedback): expand `sentryAppIssues` instead of endpoint call (#63952) by @michellewzhang - chore(api): Remove mocks from API helper invite tests (#63892) by @leeandher - fix(perf): Generate instrumentation gap spans before spans groups (#63531) by @gggritso - ref(api): Delete unnecessary `start_transaction` call in `project_configs.py` (#63948) by @szokeasaurusrex - feat(sdks): update js sdk to 7.98.0 (#63891) by @edwardgou-sentry - ref/tests(metrics_extraction): Reduce changes when adjusting spec versions (#63947) by @armenzg - fix(hybridcloud) Use record deletion to clear delivered outbox (#63890) by @markstory - feat(replay): Allow clicking on the circles in the replay timeline (#63887) by @ryan953 - feat(feedback): Add comments icon to feedback list items (#63903) by @ryan953 - fix(feedback): Only show URL when crash reports have a value, or its a feedback from the widget (#63901) by @ryan953 - ref(ddm): replace types with interfaces (#63944) by @obostjancic - chore(cardinality): Add cardinality limiter mode option (#63942) by @Dav1dde - feat(issues/feedback): allow `sentryAppIssues` to be expanded (#63905) by @michellewzhang - chore(spans): Option for span usage metric (#63934) by @jjbayer - ref(ddm): Split utils (#63933) by @ArthurKnaus - ref(ddm): Adapt metadata to new folder structure (#63938) by @iambriccardo - fix(ddm): useNewMetricsLayer param (#63937) by @obostjancic - ref(ddm): Rename the files for metrics metadata (#63931) by @iambriccardo _Plus 517 more_ 24.1.0 ------ ### Various fixes & improvements - feat(ddm-onboarding): Add dotnet instructions (#63194) by @ArthurKnaus - fix(hybridcloud) Add org slug route for prompts-activity (#63122) by @markstory - Fix typo in symx metrics (#63201) by @Swatinem - chore(app-start): Add screen total referrer (#63192) by @narsaynorath - ref(metrics_extraction): Metric spec versioning preparation (#63114) by @armenzg - feat(ds): Only show Get Samples if org is dynamically sampled (#63193) by @matejminar - feat(ddm-onboarding): Add js server instructions (#63189) by @ArthurKnaus - chore(ddm): remove addWidgets functionality (#63188) by @obostjancic - feat(ddm): new query default (#63187) by @obostjancic - feat(ddm-onboarding): Add electron instructions (#63186) by @ArthurKnaus - ref(ddm): Disable DDM via env var (#63178) by @jan-auer - profiling(ref): specify int type for profiling.flamegraph.profile-set.size option (#63175) by @viglia - feat(ddm): Move settings out of metrics selector (#63104) by @matejminar - fix(flutter-web): hide unactionable missing source context errors (#62998) by @buenaflor - ref(profiling): add option to handle the size of the profiles set to compute the flamegraph (#63112) by @viglia - fix(self-hosted): Superuser can set options in self-hosted (#63068) by @hubertdeng123 - feat(partnerships): adding org slug to agreement component (#63156) by @sentaur-athena - feat: apitoken last characters option (#62972) by @mdtro - fix: remove lodash/find usages (#63150) by @anonrig - fix(performance): simplify `extractSpanURLString` method (#63153) by @anonrig - ref(escalating issues): Remove backend feature flag references (#63036) by @ceorourke - fix: remove lodash/flatmap usages (#63149) by @anonrig - fix(events): remove lodash/assign usage (#63148) by @anonrig - fix(webVitals): remove lodash/toUpper usage (#63146) by @anonrig _Plus 677 more_ 23.12.1 ------- ### Various fixes & improvements - migrations(crons): Add is_muted to MonitorEnvironment (#62115) by @rjo100 - chore(logs): Remove logging for entire response object (#62123) by @leeandher - ref: factor out our remaining pkg_resources usages (#62084) by @asottile-sentry - ref: upgrade jsonschema (#62087) by @asottile-sentry - Revert "ref: upgrade to python 3.11 (#59730)" (f3ad67ad) by @getsentry-bot - fix(integrations) Make social auth user update silo safe (#62092) by @markstory - fix(hybridcloud) Return early when we can't find organizations (#62126) by @markstory - profiling: test idle callback finish strategy (#62171) by @JonasBa - Revert "test(backup): Remove @targets decorator and improve assert message (#61719)" (2f81e776) by @getsentry-bot - ref(tests): Remove TestStubs from contextPickerModal, customResolutionModal, debugMeta (#62132) by @billyvg - chore: remove lodash usages (#61593) by @anonrig - ref: upgrade to python 3.11 (#59730) by @asottile-sentry - Revert "feat(replays): Remove scalar query optimization (#61815)" (08821e13) by @getsentry-bot - feat(ddm): Handle dashboard naming collision (#62163) by @ArthurKnaus - feat(ddm): Explicitly pass codeLocations to the ddm/meta endopint (#62155) by @iambriccardo - fix(ddm): Metrics meta stale time (#62162) by @ArthurKnaus - feat(ddm): Update PHP onboarding docs link (#62159) by @ArthurKnaus - fix(ddm): Grouped chart crashing without data (#62158) by @ArthurKnaus - feat(ddm): Add PHP onboarding (#62156) by @ArthurKnaus - fix(onboarding-docs): Prism console warning language text (#62154) by @ArthurKnaus - feat(setting): Add audit log to add team (#62129) by @ykamo001 - fix(open-pr-comments): template nits (#62130) by @cathteng - fix(suspect-commits): Fix code mapping for files without a slash (#61896) by @malwilley - feat(replays): Add click.react_component_name as searchable field (#62027) by @cmanallen _Plus 100 more_ 23.12.0 ------- ### Various fixes & improvements - fix(craft): Set craft artifact provider to none (#62001) by @hubertdeng123 - fix(starfish): Obey `utc` URL parameter (#61963) by @gggritso - ref(stats-detectors): Move classes for better imports (#61959) by @Zylphrex - feat(devserver) Bake in options to streamline devserver + ngrok (#61953) by @markstory - feat(replays): Remove scalar query optimization (#61815) by @cmanallen - fix(ddm): display all code locations (#61994) by @obostjancic - ref: upgrade to python 3.9 (#36860) by @asottile-sentry - feat(ddm): Move feedback button to header (#61997) by @ArthurKnaus - feat(inbound-filters): Relax pattern for matching ChunkLoadError(s) (#61988) by @iambriccardo - feat(discover): Add support for p90 in discover (#61990) by @iambriccardo - feat(ddm): Rename ddm to metrics (#61993) by @matejminar - fix(ddm): code location copy event propagation (#61987) by @obostjancic - feat(alerts): fade out custom percentiles (#61926) by @obostjancic - Fix Craft publish (#61982) by @chadwhitacre - ref(crons): Move tolerance fields out in monitor form (#61807) by @davidenwang - fix(replay): Fix alignment of FeatureBadge in Replay Details tabs (#61970) by @ryan953 - feat(backup): Add creator/owner email/username to GET /relocations/ (#61969) by @azaslavsky - feat(crons): Sort DISABLED monitors to the end (#61950) by @evanpurkhiser - nit: Allow skipping scope_list argument in util func (#61967) by @schew2381 - feat(staff): Create initial staff class for _admin mode (#61653) by @schew2381 - Revert "ref: remove self-hosted cloudbuild (#61727)" (ae39b423) by @getsentry-bot - feat(spans): Groundwork for indexed spans tests (#61766) by @wmak - fix(user token): Stop leaking API token (#61941) by @ykamo001 - fix(slack); Check for existence of org_context (#61966) by @ceorourke _Plus 934 more_ 23.11.2 ------- ### Various fixes & improvements - feat(notifications): replace logic for bulk settings update (#60502) by @scefali - ref(notifications): remove some unused hybrid cloud service methods (#60488) by @scefali - fix(backup): Fix various small import and comparison bugs (#60593) by @azaslavsky - fix(alerts): Chart query overflowing container in alert details (#60597) by @ArthurKnaus - fix(perf): Allow `null` size fields in span waterfall (#60601) by @gggritso - ref(notifications): remove unused notification manager methods (#60493) by @scefali - ref(notifications): stop using update settings tests p2 (#60500) by @scefali - ref(notifications): modify legacy option code (#60437) by @scefali - ref(notifications): stop using update settings in unsubscribe context (#60445) by @scefali - fix(ddm): invalid mri message (#60599) by @obostjancic - feat(resources): Add link to resource summary from waterfall (#60557) by @AbhiPrasad - chore(perf-web-vitals-widget): Updated description. (#60598) by @Abdkhan14 - ref(webvitals): Support for using stored performance scores (#60397) by @edwardgou-sentry - chore(codeowners): add ddm owners (#60588) by @obostjancic - ref(charts): Use `GranularityLadder` class to get chart intervals (#60374) by @gggritso - feat(starfish): Fetch better releases in the selector (#60563) by @shruthilayaj - feat(profiling): add copy function source button (#60468) by @JonasBa - fix(hybrid-cloud): Fix cross-silo access on issue creation (#60595) by @leeandher - chore(hybridcloud) Move email reply tasks to a dedicated queue (#60560) by @markstory - fix(hybridcloud) Remove externalactor.actor_id (#60548) by @markstory - perf(charts): refactor baseChart (#60411) by @JonasBa - fix(metrics): Refine text contents for investigation rule notification (#60590) by @RaduW - ref(profiling): remove old call tree table (#60052) by @JonasBa - feat(ddm): spans use case (#60587) by @obostjancic _Plus 111 more_ 23.11.1 ------- ### Various fixes & improvements - chore(stats-detectors): Remove feature flag from root cause analysis … (#60408) by @Zylphrex - ref(hybrid-cloud): Removes unused onboarding task handling (#60337) by @GabeVillalobos - ref(notifications): remove UserNotificationSettingsDetailsEndpoint (#60302) by @scefali - fix(browser-starfish): fix query main graphs on resource module (#60409) by @DominikB2014 - chore(stats-detector): Remove feature flag checks in regression issues (#60406) by @Zylphrex - fix(backup): Handle multiple emails per user (#60404) by @azaslavsky - test(hc): Stabilize ProjectUserFeedbackDocs (#60405) by @RyanSkonnord - feat(open-source): Set feature flags for Open Source users (#59956) by @NisanthanNanthakumar - fix(ci): Reduce the amount of test data that's stored (#60197) by @evanh - feat(integrations): make sure stacktrace-link feature is set (#60326) by @scefali - ref(stacktrace): Remove references to frame.errors (#60393) by @malwilley - ref(feedback): update empty state illustration (#60399) by @michellewzhang - ref(crons): Add project_id to monitor_validation_failed log (#60402) by @evanpurkhiser - fix(browser-starfish): domain-filter not working (#60398) by @DominikB2014 - ref(notifications): stop providing organization_id_for_team argument (#60296) by @scefali - test(hc): Fix bug in snapshot comparison with altered test class name (#60325) by @RyanSkonnord - fix(browser-starifish): remove alpha badge resource module (#60392) by @DominikB2014 - ref: fix typing for avatar endpoints (#60319) by @asottile-sentry - test(hc): Change inheritance from AlertRuleDetailsPutEndpointTest (#60331) by @RyanSkonnord - ref(hc): Handle LazyObjects in serialize_generic_user (#60120) by @RyanSkonnord - feat(open-pr-comments): comment template (#60317) by @cathteng - fix(browser-starfish): cursor persisting when navigating between pages/filters (#60378) by @DominikB2014 - ref(codeowners): Adding wildcard to groupEventDetails (#60361) by @k-fish - fix(recommended-event): Use event ID as tie breaker to match latest event (#60323) by @malwilley _Plus 227 more_ 23.11.0 ------- ### Notification Settings 2.0 (ongoing) By: @scttcper (#58638, #58615) ### Resource Module Internal (ongoing) By: @DominikB2014 (#58939, #58937, #58891, #58785, #58768, #58792, #58770) ### Various fixes & improvements - fix(wizard) Fix possibly unbound variable in setup wizard (#59934) by @markstory - fix(starfish): Primary release can be undefined, check for it (#59993) by @shruthilayaj - feat(webvitals): Check if ttfb exists to determine proper no data state (#59912) by @edwardgou-sentry - feat(starfish): Highlight TTFD and link to docs when 0 (#59997) by @narsaynorath - fix(stafish): Fix typo in variable name (#59988) by @gggritso - feat(spans): Record resource spans for clustering (#58689) by @jjbayer - feat(metric-extraction): validate specs (#59981) by @obostjancic - ref(browser-starfish): use the shared domain selector in resource module (#59950) by @DominikB2014 - feat(database): "View Query Summary" links in span waterfall (#59785) by @gggritso - chore(starfish): Rename breadcrumb, remove duplicate sidebar item (#59980) by @shruthilayaj - feat(profiling): add differential flamegraph boilerplate to statistical issue (#59905) by @JonasBa - feat(starfish): Use short release version and truncate (#59936) by @shruthilayaj - Unrevert "fix(metrics-extraction): Explicitly set metric type for metrics querying (#59931)" (#59960) by @k-fish - fix(email): alerts migration email text (#59975) by @obostjancic - feat(metrics) Check max orgs per project limit when creating investigation rules (#59852) by @RaduW - feat(ddm-alerts): Add force metrics layer params (#59974) by @ArthurKnaus - fix(project-create): Use large icon variant in framework suggestion (#59969) by @ArthurKnaus - ref: upgrade mypy to 1.7.0 (#59937) by @asottile-sentry - Move metadata from `File` to `EventAttachment` (#59845) by @Swatinem - Revert "feat(metric-extraction): validate specs (#59894)" (dc20e27c) by @getsentry-bot - feat(metric-extraction): validate specs (#59894) by @obostjancic - feat(ddm): Add option to forcefully use the new metrics layer (#59898) by @iambriccardo - feat(open-pr-comments): get PR files (#59933) by @cathteng - fix(feedback): Remove feedback item update on feedback list change (#59947) by @c298lee _Plus 1016 more_ 23.10.1 ------- ### Various fixes & improvements - fix(hybridcloud) Fix a queue silo assignment (#58386) by @markstory - feat(migrations): Add new index to `IncidentTrigger` model (#58467) by @isabellaenriquez - feat(suspect-commits): Remove suspect commit recalculation period (when all-frames is enabled) (#58415) by @malwilley - fix(starfish): Pass webvital to charts in Webvitals module (#58517) by @edwardgou-sentry - feat(hc): Add __str__ implementation for RpcUser (#58485) by @mrduncan - Revert "feat(replays): Replay layout move start time (#58488)" (80e576dd) by @getsentry-bot - Revert "feat(replays): Replay layout add breadcrumbs to fullscreen mode (#58466)" (7f6fe452) by @getsentry-bot - feat(replays): Replay layout move start time (#58488) by @c298lee - feat(replays): Replay layout add breadcrumbs to fullscreen mode (#58466) by @c298lee - fix(alerts): use generic metrics dataset for on demand (#58510) by @obostjancic - fix(on-demand): Fix p100 and percentiles (#58511) by @iambriccardo - feat(dynamic-sampling):Add raw_query and user relation to custom_rules model (second try) (#58447) by @RaduW - fix(alerts): on demand migration ui (#58508) by @obostjancic - Revert "fix(alerts): Fix dataset selector width (#58499)" (#58501) by @ArthurKnaus - fix(on-demand): p100 support (#58500) by @obostjancic - fix(alerts): Fix dataset selector width (#58499) by @ArthurKnaus - fix(on-demand): remove p90 (#58496) by @obostjancic - feat(on-demand): conditionally show on-demand UI (#58330) by @obostjancic - ref(escalating-issues): Change batch size to 100 (#58489) by @NisanthanNanthakumar - Add Papercut label (ff80fbb5) by @chadwhitacre - chore(replay): Cleanup DOM Tab test, before we remove the tab itself (#58486) by @ryan953 - feat(replay): Add Jump up|down buttons to all the Replay Details tables & lists (#58359) by @ryan953 - chore(agg-spans): Update language on span frequency (#58484) by @shruthilayaj - fix(statistical-detectors): Feature flags in wrong place (#58483) by @Zylphrex _Plus 209 more_ 23.10.0 ------- ### Discord Integration (ongoing) By: @17hogeju (#57522) ### Notification Analytics Milestone 2 (ongoing) By: @scttcper (#56700) ### Notification Settings 2.0 (ongoing) By: @snigdhas (#57053, #56717, #56621) ### Various fixes & improvements - feat(crons): Add cron monitor created metric (#58017) by @davidenwang - ref(participants): Check for group list (#58204) by @ceorourke - feat(hybridcloud) Fix silo issues in shared issue HTML view (#57978) by @markstory - feat(sdk): Upgrade `@sentry` SDKs to v7.74.0 (#58198) by @billyvg - test(backup): Create backup version snapshot tests (#58173) by @azaslavsky - fix(hc): Silo fixes for alert rule actions (#58185) by @RyanSkonnord - meta(crons): Update API help text (#58048) by @rjo100 - fix(ci): fix rate limit test (#58184) by @volokluev - feat(ui): Throw error on non-json api responses (#58129) by @scttcper - ref(bug reports): display name and email in list and details (#58087) by @michellewzhang - chore(actionable-items): remove feature flag backend (#57934) by @roggenkemper - update release threshold api routes (#58177) by @nhsiehgit - feat(backup): Support import decryption (#58128) by @azaslavsky - chore(alert-rule): Add jira server action to frontend enum (#58186) by @schew2381 - feat(metrics): Add new option to toggle reading from new cache schema for indexer (#58170) by @john-z-yang - fix(hybridcloud) Assign control silo tasks to correct queues (#58112) by @markstory - fix(feedback): Improve spacing between feedback list items (#58182) by @ryan953 - ref(bug reports): modify blueprint name and contact_email to reflect BE (#58083) by @michellewzhang - fix(hc): Fix silo availability error in send_alert_event (#58044) by @RyanSkonnord - ref(replay): Improve accessibility type names, and compat with replay frames (#58179) by @ryan953 - feat(notifications): adds backfill for weekly report settings (#58168) by @scefali - feat(notifications): remove notification double write feature flag (#57863) by @scefali - feat(discord): adds logging of discord errors (#58176) by @scefali - fix(stat-detectors): Use 7 days for span analysis (#58096) by @narsaynorath _Plus 1060 more_ 23.9.1 ------ ### Various fixes & improvements - fix(fly): return user with correct auth (#56523) by @sentaur-athena - chore(api): Delete acceptance test for user tokens (#56537) by @schew2381 - fix(backup): Suppress verbose SQL error reporting (#56583) by @azaslavsky - chore(github-growth): remove auto repo linking feature flag (#56581) by @cathteng - docs: Create some stories for PageBanner (#56519) by @ryan953 - docs: Create a story for FeatureBadge (#56510) by @ryan953 - ref(ui): Refine featureDisabled prop type (#56538) by @scttcper - migration(crons): Add MonitorIncident table (#56435) by @rjo100 - ref(escalating-issues): Auto-transition tasks should update up to 500_000 groups per minute (#56168) by @NisanthanNanthakumar - chore(notifications): rename approval notifications to nudges in the UI (#56505) by @cathteng - feat(trace-view-load-more): Added ui for loading longer traces. (#56476) by @Abdkhan14 - feat(starfish): add span domain array (#56494) by @wmak - chore(profiling): Track accepted profile outcomes (#56575) by @Zylphrex - feat(replay): Link page breadcrumb on Replay Details to the list page, filtered by project (#56574) by @ryan953 - feat(crons): Add mark_environment_missed task (#56528) by @rjo100 - fix(notifications): fixes bug for commited_only settings (#56518) by @scefali - ref(ddm): datetime params (#56567) by @obostjancic - chore(github-growth): stop writing to commitfilechange language column (#56491) by @cathteng - chore(github-growth): more FE analytics (#56507) by @cathteng - chore(hybrid-cloud): Mark extract_user_ids_from_mentions to be a region silo function (#56441) by @dashed - feat(statistical-detectors): Integrate detector with breakpoint detection (#56384) by @Zylphrex - feat(trace-view-load-more): Fixed bug that loads an extra row of orphans. (#56561) by @Abdkhan14 - fix(dashboards): Use loading indicator to avoid multiple requests (#56558) by @narsaynorath - chore(hybrid-cloud): Stabilize issue integration defaults for split silo (#56297) by @dashed _Plus 46 more_ 23.9.0 ------ ### Notify on Disabled Integration (ongoing) https://www.notion.so/sentry/Tech-Spec-Notify-on-Disabled-Integration-Spec-e7ea0f86ccd6419cb3e564067cf4a2ef?pvs=4 By: @chloeho7 (#54286) ### save_event improvements (ongoing) With the new 2023 grouping config, we started incurring a higher processing cost per saved event. In order to bring it back under controlled a series of code changes will be perform to improve the understandability of the code and its performance. By: @armenzg (#53643) ### Notification Analytics Milestone 2 (ongoing) By: @scttcper (#56280, #56151, #56141, #55937, #55479, #55366, #54891, #54809) ### Various fixes & improvements - feat(crons): Fan out `check_missing` task to each `monitor_environment` (#55924) by @rjo100 - fix(severity): Prevent skipping severity score when equal to zero (#56225) by @lobsterkatie - docs(api): Clarify how to use id param in bulk delete issue endpoint (#56422) by @malwilley - feat(perf): Add link to Database view to sidebar (#56341) by @gggritso - chore(codeowners): update enterprise codeowners (#56487) by @cathteng - fix(commits): use externalId in filechange and project release commits FE (#56146) by @cathteng - fix(github-growth): improve performance of missing members API (#56477) by @cathteng - fix(api): test symbol sources in DetailedProjectSerializer (#56473) by @cathteng - feat(replay): Upgrade rrweb packages to v2 (#56088) by @billyvg - fix(backup): Handle UserRole name collisions (#56479) by @azaslavsky - logging(apis): better logging for api failures (#56432) by @scefali - Release threshold folder imports nit (#56400) by @nhsiehgit - docs: Document our loadingTriangle component (#56438) by @ryan953 - ref(tests): Split error event tests into classes (#56448) by @lobsterkatie - fix(jira-server): try a second project for jira server if the first one fails (#56439) by @scefali - ref(snuba-sdk): Update snuba-sdk version to latest 2.0.1 (#56419) by @enochtangg - fix(actionable-items): Remove source map debug from actionable items (#56405) by @roggenkemper - feat(save_event): Always use cache for stacktrace processing (#56413) by @armenzg - feat(stat-detectors): Add param to fetch all tags (#56434) by @narsaynorath - feat(ddm): support for 1m interval (#56467) by @obostjancic - fix(minimetrics): Fix broken recursion detection (#56466) by @mitsuhiko - ref(typing): Few typing changes for sentry.snuba.metrics (#56397) by @armenzg - ref(sentry-sdk): Upgrade SDK (#56461) by @mitsuhiko - feat(ddm): Add metrics explorer from getsentry (#56460) by @matejminar _Plus 1078 more_ 23.8.0 ------ ### Notify on Disabled Integration (ongoing) https://www.notion.so/sentry/Tech-Spec-Notify-on-Disabled-Integration-Spec-e7ea0f86ccd6419cb3e564067cf4a2ef?pvs=4 By: @chloeho7 (#54734, #54655, #54589, #54640, #54466, #54348, #54339, #53522, #54234) ### Notification Analytics Milestone 2 (ongoing) By: @scttcper (#54744) ### Various fixes & improvements - (fix): user creation for self-hosted clean installs (#54776) by @hubertdeng123 - fix(replays): remove replay from desktop and mobile projects (#54749) by @michellewzhang - ref: add mypy stubs for django-csp (#54786) by @asottile-sentry - chore(hybrid-cloud): Update OrganizationAuditLogsEndpoint to be a control silo endpoint (#54755) by @dashed - fix: ensure PYTEST_DEBUG_TEMPROOT exists (#54725) by @joshuarli - ref(replays): Update replay pages to show project name (#54728) by @c298lee - chore(codeowners): Update codeowners with project creation files (#54774) by @schew2381 - feat(commit-context): Do not create if older than 1 year (#54624) by @NisanthanNanthakumar - feat(backup): Support foreign key remapping (#54610) by @azaslavsky - feat(tracing-without-performance): Replay compatibility and ui improvements. (#54700) by @Abdkhan14 - fix(crons): Add border back to non-sticky timeline header (#54770) by @davidenwang - ref: upgrade datadog to a typed version (#54758) by @asottile-sentry - ref(crons): Remove temp_task_dispatcher (#54768) by @evanpurkhiser - fix(metrics-layer): Add xfailing metrics layer sort test (#54712) by @wmak - ref(query-builder): Cleanup query_framework code (#54586) by @wmak - ref(statistical-detectors): Clean up statistical detectors calculation (#54694) by @Zylphrex - fix(crons): Add className parameter to timeline components (#54769) by @davidenwang - ref(ui): Enhance Carousel component (#54747) by @evanpurkhiser - Feat/opt automator add region (#54631) by @kneeyo1 - sample-event: try synchronous kafka producing (#54748) by @JoshFerge - ref(alerts): Don't pass "name" field (#54739) by @ceorourke - chore(issues): Cleanup apply_rule logs and add some more for regressions (#54455) by @snigdhas - feat(crons): Implement fallback clock pulse task (#54647) by @evanpurkhiser - fix(actionable-items): Add scraping as hidden error (#54648) by @roggenkemper _Plus 424 more_ 23.7.2 ------ ### Notify on Disabled Integration (ongoing) https://www.notion.so/sentry/Tech-Spec-Notify-on-Disabled-Integration-Spec-e7ea0f86ccd6419cb3e564067cf4a2ef?pvs=4 By: @chloeho7 (#54001) ### save_event improvements (ongoing) With the new 2023 grouping config, we started incurring a higher processing cost per saved event. In order to bring it back under controlled a series of code changes will be perform to improve the understandability of the code and its performance. By: @armenzg (#53645, #53541) ### Various fixes & improvements - feat(tracing-without-performance): Returned orphan errors with trace … (#54103) by @Abdkhan14 - feat(profiling): use color pallete on chart (#54101) by @JonasBa - feat(issue-platform): Add an experimental frame drop issue type (#54028) by @phacops - feat(backup): Add DateAddedComparator (#54009) by @azaslavsky - feat(opsgenie): refactor validation (#53996) by @mifu67 - Declare events.save_event_highcpu queue (#54041) by @hubertsentry - fix(escalating): Add reason to feedback analytic (#54082) by @scttcper - deps(ui): Update jest dependencies (#54065) by @scttcper - feat(discord): Add metrics (#54072) by @spalmurray - fix(starfish): Handle free text search (#54060) by @wmak - fix(github-comments): update comment copy (#54104) by @cathteng - fix(most-helpful-event): One event dropdown disabled (#54070) by @17hogeju - feat(most-helpful-event): Add option in user settings to change default issue event (#54048) by @17hogeju - ref(metrics-layer): Test the span metric charts too (#54045) by @wmak - fix(metrics-layer): Incorrect metrics layer tests (#54046) by @wmak - fix(notification-actions): allow org and team admins to modify (#53797) by @cathteng - ref(starfish): Show 3 significant digits for queries per minute try 2 (#54100) by @AbhiPrasad - ref(hc): Mark silo stable tests stable (#54074) by @mrduncan - feat(profiling): add react native onboarding wizard (#54096) by @JonasBa - fix(mypy): fix mypy errors for src/sentry/api/serializers/models (part 1) (#53905) by @hubertsentry - Revert "ref(starfish): Show 3 significant digits for queries per minute (#54033)" (dd75a2cb) by @getsentry-bot - ref(starfish): Show 3 significant digits for queries per minute (#54033) by @AbhiPrasad - chore(grouping): Kill grouping levels endpoints (#54073) by @lobsterkatie - xfail flakey test (#54081) by @JoshFerge _Plus 400 more_ 23.7.1 ------ ### Escalating Issues V1 (ongoing) This will allow marking an issue as archived until escalating. By: @scttcper (#53011) ### Escalating Issues V2 (EA) (ongoing) This is a placeholder milestone for tracking post-v1 work for escalating issues. See the RFC: https://github.com/getsentry/rfcs/blob/main/text/0078-escalating-issues.md There's also discussions about escalation in here: https://github.com/getsentry/sentry/discussions/43039 V2 will focus on moving ongoing issues (upcoming) into the state archived-until-escalating after an issue being in the `ongoing` state for 14 days. By: @snigdhas (#52774) ### Various fixes & improvements - chore(replay): Remove unicode from slack View Replays link (#53518) by @ryan953 - feat(starfish): Replaces usage of p95 in the Database Module with avg (#53515) by @edwardgou-sentry - Revert "feat(profiling): Deobfuscate Android methods' signature (#53427)" (af3ae3b7) by @getsentry-bot - feat(integration-slack): store request error counts and disable on broken (#52994) by @chloeho7 - ref(grouping): Clean up message normalization (#53479) by @lobsterkatie - ref(projects): Redirect after project transfer (#53466) by @ceorourke - feat(secrecy): enable data secrecy for organizations (#53322) by @cathteng - feat(perf-detector-threshold-configuration) Added option for new Cons… (#53461) by @Abdkhan14 - fix(ci): Increase codecov `comment.after_n_builds` value (#53488) by @lobsterkatie - test(ui): Reset api mocks between EventDetails tests (#53497) by @scttcper - ref(hybrid-cloud): Fix a few tests in split silo mode (#53482) by @mikejihbe - feat(profiling): Deobfuscate Android methods' signature (#53427) by @phacops - feat(perf-detector-threshold-configuration) Added new thresholds and … (#53460) by @Abdkhan14 - fix(starfish): clicking endpoint in span summary replaces groupId with 'db' in url (#53517) by @DominikB2014 - feat(starfish): add transaction.op:http.server to webservice queries (#53355) by @DominikB2014 - fix(starfish): add quotes around transaction name (#53516) by @DominikB2014 - ref(redis): Configure default 3s socket timeout (#53513) by @beezz - feat(dynamic-sampling): Add project slug to response of AM2 check (#53514) by @iambriccardo - feat(dnd-worldmap-removal) Added null checks for columns and fields. (#53475) by @Abdkhan14 - Implement ArtifactBundle flat file indexing (#53505) by @Swatinem - chore(ts): Improve Starfish span metrics typing (#53453) by @gggritso - ref(feature): Remove no longer used heartbeat feature flag (#53510) by @priscilawebdev - ref(feature): Remove heartbeat feature (#53509) by @priscilawebdev - feat(dynamic-sampling): Improve check am2 compatibility (#53414) by @iambriccardo _Plus 399 more_ 23.7.0 ------ ### Escalating Issues V2 (EA) (ongoing) This is a placeholder milestone for tracking post-v1 work for escalating issues. See the RFC: https://github.com/getsentry/rfcs/blob/main/text/0078-escalating-issues.md There's also discussions about escalation in here: https://github.com/getsentry/sentry/discussions/43039 V2 will focus on moving ongoing issues (upcoming) into the state archived-until-escalating after an issue being in the `ongoing` state for 14 days. By: @snigdhas (#52360) ### Search Shortcuts (ongoing) Make common searches more accessible and discoverable for users. [notion page](https://www.notion.so/sentry/Search-Shortcuts-fka-Assignee-Filter-on-Issue-Stream-648954e782d04805bc64f1983e5cbd16?pvs=4) By: @scttcper (#52414, #52348) ### Various fixes & improvements - test(hybrid-cloud): Stabilizes sentry app install tests (#53004) by @GabeVillalobos - ref(saved search): Migrate betterPriority to priority (#52909) by @ceorourke - ref(sort): Change betterPriority to priority (#52910) by @ceorourke - feat(crons): Use timeout_at for timed out check-ins (#52570) by @rjo100 - ref(event_manager): Fix typing issues for event_manager (#52974) by @armenzg - test(backup): Add more model tests (#52923) by @azaslavsky - fix(replays): fix bin/mock-replays script (#52927) by @michellewzhang - ref(crons): Change to uuid validator for trace (#52561) by @rjo100 - fix(crons): Properly checks for environment name lengths (#52820) by @rjo100 - feat(grouping): Add metrics for issue merging and unmerging (#52919) by @lobsterkatie - chore(starfish): Adding referrers to starfish (#52749) by @wmak - chore(starfish): Add starfish referrers to the backend (#52754) by @wmak - ref(tsc): usageChart utils to tsx (#52935) by @IanWoodard - chore(hybrid-cloud): Add tags to debug Identity service (#52997) by @dashed - feat(starfish): Add unit and types for rates (#52991) by @wmak - ref(replay): Refactor the "Next Breadcrumb" button to use *Frame types (#52931) by @ryan953 - fix(group-attributes): log metric when post_save.send(update_fields=["status", "subs"]) is called for group (#52996) by @barkbarkimashark - fix(releases): Use query parameter when switching filters (#52937) by @scttcper - fix(discord): Change log level from error to info for unauthorized interactions (#52946) by @spalmurray - ref: fix typing for sentry.models.__init__ (#52992) by @asottile-sentry - feat(replay): Render the replay currentTime & hoverTime inside the performance waterfall (#52890) by @ryan953 - feat(perf): Hide timing metrics on http (#52993) by @k-fish - fix(issue-details): Fix react warning (#52907) by @roggenkemper - fix(hybrid-cloud): Fixes tests for split DB mode app installs using transaction routing and silo annotations (#52932) by @GabeVillalobos _Plus 434 more_ 23.6.2 ------ ### Escalating Issues V1 (ongoing) This will allow marking an issue as archived until escalating. By: @scttcper (#51765, #51852, #52048, #51766, #51735, #51671, #51158, #51185, #51187) ### Grouping Release (2023-01-01 config) Added new language/platform specific stack trace grouping enhancements rules that should make the default grouping experience better. This includes JavaScript, Python, PHP, Go, Java and Kotlin. By: @armenzg (#51040) ### Search Shortcuts (ongoing) Make common searches more accessible and discoverable for users. [notion page](https://www.notion.so/sentry/Search-Shortcuts-fka-Assignee-Filter-on-Issue-Stream-648954e782d04805bc64f1983e5cbd16?pvs=4) By: @scttcper (#51564, #51565, #51194) ### Various fixes & improvements - meta(routing) Sync with product-owners.yml in security-as-code@4447d434 (#52367) by @getsantry - fix(ui): Set lazy calendar component type (#52381) by @scttcper - chore(gh-comments): Drop pr window to 7 days for rollout (#51837) by @AniketDas-Tekky - ref(autocomplete): convert test to tsx (#52357) by @JonasBa - feat(functions): Tune function trends default threshold (#52346) by @Zylphrex - fix(starfish): Time spent local was always querying light time spent (#52374) by @shruthilayaj - ref(tests): convert test to tsx (#52368) by @JonasBa - feat(slack): slack channel lookup via schedule message (#52034) by @chloeho7 - feat(crons): Change crons groupcategory name (#52037) by @rjo100 - feat(perf-detector-threshold-configuration) Added frontend changes for more threshold configurations. (#52262) by @Abdkhan14 - fix(hc): Prevent exception from siloed_atomic (#52326) by @RyanSkonnord - feat(escalating-issues): Update MsTeams integration to use Group substates (#51756) by @NisanthanNanthakumar - ref(crons): Remove references to crons-issue-platform flag (#52036) by @rjo100 - Ref(generic-metrics): set default for index-tag-values to False (#52370) by @john-z-yang - feat(github-comments): use internal feature flag (#52002) by @cathteng - fix(ui): Export named constants from forms (#52361) by @scttcper - fix(mute-metric-alerts): Use incident link in metric alert emails for muting (#52363) by @roggenkemper - feat(starfish): API module consistency and continuity updaes (#52347) by @edwardgou-sentry - fix(mute-metric-alerts): Add query params to incident redirect (#52362) by @roggenkemper - fix(github-comments): update option toggle copy (#52354) by @cathteng - nit: Update fly build config (#52301) by @nhsiehgit - ref: django 3.x does not pass None groups to views any more (#52341) by @asottile-sentry - meta(routing) Sync with product-owners.yml in security-as-code@3d4fceac (#52355) by @getsantry - ref: make app label an identifier (#52342) by @asottile-sentry _Plus 790 more_ 23.6.1 ------ ### Various fixes & improvements - chore(hybrid-cloud): Fix get_webhook_payload_from_outbox classmethod (#51113) by @dashed - ref(js): Convert access.spec to tsx (#51106) by @evanpurkhiser - ref(js): Convert feature.spec to tsx (#51107) by @evanpurkhiser - ref(js): Convert breadcrumbs.spec to tsx (#51109) by @evanpurkhiser - ref(js): Convert dateTime.spec to tsx (#51111) by @evanpurkhiser - fix(crons): Properly send fingerprint array through issue platform (#51103) by @rjo100 - ref(hc): Updates org deletion code to queue an org mapping outbox update (#51004) by @GabeVillalobos - meta: Snuba team owns the post process forwarder (#51090) by @lynnagara - ref: Remove dead code from post process forwarder (#51079) by @lynnagara - ref: Remove spammy debug logs (#51001) by @untitaker - fix: Use unified CLI for metrics indexer in devserver (#51046) by @untitaker - feat(mute-metric-alerts): Add mute button to metric alerts page (#50967) by @roggenkemper - fix(hc): Serialize the organization via RPC to json (#51078) by @corps - fix(compactSelect): Escape quotes inside option values (#51007) by @vuluongj20 - fix(hybridcloud) Drain outbox after transaction completes (#51059) by @markstory - feat(gh-comments): Queuing Logic (#50865) by @AniketDas-Tekky - Added pretty printing to dump command (#51065) by @kneeyo1 - chore(ui): Upgrade to typescript 5.1 (#51073) by @scttcper - feat(crons): Add hover to rows (#51012) by @evanpurkhiser - feat(ts): Add LinkButton alias (#51013) by @evanpurkhiser - feat(starfish): Changes the web service view throughput chart to be a line chart (#51053) by @edwardgou-sentry - fix(starfish): use span.self_time instead of span.duration (#51051) by @DominikB2014 - feat(debug): Add Metric Alert Trigger (#51060) by @roggenkemper - fix(ui): Remove xAxis boundaryGap from profilingMeasurements (#51008) by @scttcper _Plus 14 more_ 23.6.0 ------ ### Escalating Issues V1 (ongoing) This will allow marking an issue as archived until escalating. By: @scttcper (#50456) ### Escalating Issues V2 (EA) (ongoing) This is a placeholder milestone for tracking post-v1 work for escalating issues. See the RFC: https://github.com/getsentry/rfcs/blob/main/text/0078-escalating-issues.md There's also discussions about escalation in here: https://github.com/getsentry/sentry/discussions/43039 V2 will focus on moving ongoing issues (upcoming) into the state archived-until-escalating after an issue being in the `ongoing` state for 14 days. By: @scttcper (#50896) ### JS Project Cleanup (ongoing) By: @scttcper (#50684, #50682, #50670) ### Various fixes & improvements - fix(issues): Switch to item kind on search autocomplete (#51045) by @scttcper - feat(consumer): Make max poll time configurable (#51020) by @ayirr7 - fix(api) Don't fail on invalid queries to organization_teams endpoint (#51042) by @markstory - feat(starfish): Cleanup (#50957) by @DominikB2014 - feat(hybridcloud) Run celery workers for each silo (#50821) by @markstory - fix(hybrid-cloud): Allow enums to serialize in RPC calls (#50913) by @mikejihbe - ref: Make model cache replica db preference configurable (#51027) by @beezz - fix(crons): Properly specify occurrence data (#50974) by @rjo100 - ref(starfish): Remove all references to scraped data SQL (#51033) by @gggritso - feat(graphql): Add has_graphql_request analytics property to issue/event (#50949) by @malwilley - fix(perf-issues): Require space in N+1 ext span description (#50994) by @mjq-sentry - fix(starfish): issues table reloads when span type changes (#50970) by @DominikB2014 - feat(dynamic-sampling): Improve AM2 compatibility check (#51039) by @iambriccardo - ref(replay): Deduplicate components used in Replay Details>Error & Network tabs (#50884) by @ryan953 - fix(traces): Return empty array when accessing offender span ids (#51037) by @narsaynorath - feat(discover-tags): Add page_size and cursor to endpoint (#50971) by @narsaynorath - fix(hybrid-cloud): Fix normalizeUrl (#51014) by @dashed - feat(starfish): Switch use_case_id for spans (#50757) by @wmak - fix(mocks) Fix load-mocks usage or OrganizationMember (#50942) by @markstory - fix(profiling): Ensure there are symbolicated frames for profile (#50999) by @Zylphrex - fix(starfish): Special cursor name for span table cursor (#50966) by @shruthilayaj - feat(starfish): Span category chart error and loading status (#50946) by @shruthilayaj - ref(starfish): Remove scraped data query fallbacks (#50972) by @gggritso - fix(native/unreal): Don't overwrite a previously set event level (#50717) by @bitsandfoxes _Plus 669 more_ 23.5.2 ------ ### Escalating Issues V1 (ongoing) This will allow marking an issue as archived until escalating. By: @scttcper (#50020), @armenzg (#49907) ### Issue States and Filters (ongoing) By: @scttcper (#49642, #49626, #49517, #49587, #49582) ### Various fixes & improvements - feat(replay): Change min version in replay onboarding (#50072) by @billyvg - bug(replays): Fix Replay Search box overflow/wrapping (#50074) by @ryan953 - feat(replays): add replay clicks field to replay index endpoint (#49873) by @JoshFerge - fix(analytics): Change actor_id to user_id in slack status analytic (#49966) by @jangjodi - dep(relay): Upgrade librelay to 0.8.25 (#50063) by @iker-barriocanal - chore(HC): Remove org mapping write paths in preparation of organization mapping updates (#50015) by @GabeVillalobos - feat(escalating-issues): Define analytic for escalating feedback (#50000) by @jangjodi - chore(profiling): Add referrers to profiling queries frontend (#49923) by @Zylphrex - feat(starfish) Hook up span view filter selectors to production data (#49987) by @gggritso - fix(hybridcloud) Fix serialization errors in RPC responses (#49922) by @markstory - feat(dashboar-widget-description) Added description field to Widget model (#49992) by @Abdkhan14 - fix(starfish) Small fixes to spans table (#50001) by @gggritso - chore(profiling) Add referrers to profiling queries backend (#49924) by @Zylphrex - Revert "ref(project_creation): Add project deletion to the go back button (#49844)" (fda9548a) by @getsentry-bot - ref(sessionstorage): use wrapper (#50051) by @JonasBa - ref(project_creation): Add project deletion to the go back button (#49844) by @priscilawebdev - feat: Return how an artifact was resolved (#49959) by @loewenheim - fix(clusterer): Fix clusterer datasource in test endpoint (#50040) by @iker-barriocanal - ref(spans): Sample all discovered rules (#49970) by @iker-barriocanal - ref(js): Remove unnecessary AsyncComponent props (#50034) by @evanpurkhiser - ref(js): Remove unnecessary extends AsyncComponentProps (#50031) by @evanpurkhiser - fix(dynamic-sampling): Fix logging with missing parameter (#50038) by @iambriccardo - fix(js): Avoid anchor nesting in monitor edit page (#50026) by @evanpurkhiser - ref(js): Add IGNORED_SPANS_BY_DESCRIPTION in initializeSdk (#50025) by @evanpurkhiser _Plus 268 more_ 23.5.1 ------ ### Issue States and Filters (ongoing) By: @scttcper (#49578, #49157) ### JS Project Cleanup (ongoing) By: @scttcper (#49381, #49255, #49210, #49159) ### Various fixes & improvements - fix(hc): Change integration search endpoint to control silo (#49589) by @RyanSkonnord - fix(starfish): Zerofill round up (#49598) by @shruthilayaj - feat(starfish): Update endpoint overview to be consistent (#49607) by @shruthilayaj - ref(performance): Move metrics histogram outlier filtering (#48731) by @mjq-sentry - feat(starfish): Add top endpoints chart to web service view (#49603) by @shruthilayaj - feat(starfish): Fix span summary chart styling (#49463) by @0Calories - feat(starfish): Updated WSV span group chart (#49499) by @shruthilayaj - ref(perf): Mark long-task with sentry-tracing-init (#49481) by @k-fish - chore(profiling): Add flags for more profiling features (#49461) by @Zylphrex - feat(starfish): Switch top graph to p50 (#49510) by @wmak - feat(starfish): adds synchronized axis markers to starfish charts (#49504) by @edwardgou-sentry - deps: bump profiling to alpha.6 (#49127) by @JonasBa - feat(create-project): Add framework selection modal tests (#49305) by @priscilawebdev - chore(discover-transactions-cell-action): Removed go to summary cell … (#49406) by @Abdkhan14 - Add index on sentry_monitorchecking.date_added to avoid seq scans during cleanup (#49310) by @beezz - Add a utility to query the memory usage percentage of a configured redis cluster (#49459) by @Swatinem - ref(createProject): convert test from jsx to tsx (#49304) by @priscilawebdev - ref(project-creation): Convert overview from class to func (#49303) by @priscilawebdev - feat(project-creation): Add framework selection modal (#49300) by @priscilawebdev - chore(js): Use FormFieldProps vs FormField['props'] (#49591) by @evanpurkhiser - feat(hybrid-cloud): Update api invite helper (#48829) by @dashed - chore(js): Convert Form to a FC (#49525) by @evanpurkhiser - ref(js): Convert SentryAppExternalIssueForm for a FC (#49581) by @evanpurkhiser - feat(issue-states): auto transition new and regressed issues to ongoing (#49522) by @barkbarkimashark _Plus 306 more_ 23.5.0 ------ ### Escalating Issues V1 (ongoing) This will allow marking an issue as archived until escalating. By: @scttcper (#48498, #47408), @armenzg (#48257, #48369, #48332, #48272, #48247, #48102, #48104, #47626, #47822, #47625), @jangjodi (#47954, #47843, #47716, #47601, #47593, #47586, #47578, #47496, #47419), @snigdhas (#47789, #47681, #47437), @NisanthanNanthakumar (#47799, #47749) ### Issue States and Filters (ongoing) By: @scttcper (#48047), @barkbarkimashark (#47691, #48042, #47881, #48043, #47753, #47720), @snigdhas (#48289, #47909, #48164, #47785, #47832, #47689, #47687, #47604, #47603, #47420) ### JS Project Cleanup (ongoing) By: @lobsterkatie (#49060, #49045), @scttcper (#48873, #48883, #48841, #48825, #48379) ### Various fixes & improvements - fix(onboarding): Add missing `useEffect` dependency (#49105) by @lobsterkatie - ref(api): Rename `handleXhrErrorResponse` to `getXhrErrorResponseHandler` (#49100) by @lobsterkatie - chore(starfish): Remove the count if query (#49097) by @shruthilayaj - fix(issue-platform): Fix `get_event_by_id` to correctly return occurrence information for transactions (#49059) by @wedamija - feat(starfish): Compare span samples to p50 baseline in table column (#48959) by @0Calories - feat(source-maps): adds new case for source map debugging (#49061) by @scefali - feat(starfish): Add releases to db module (#48782) by @wmak - ref(trends): Impose strict top event limit (#49098) by @udameli - feat(replays): Log to stdout when a slow click event is detected (#48775) by @cmanallen - fix(txnames): Revert high threshold for running the clusterer (#49087) by @jjbayer - instr(txnames): Count number of discovered rules (#49085) by @jjbayer - Allow defining different symbolicator for JS LPQ (#49072) by @Swatinem - feat(transaction-summary): Add analytics to track biases sufficiency assessment (#48865) by @priscilawebdev - chore(hybrid-cloud): save outbox messages when creating them for org members (#49055) by @dashed - feat(api): Allow overriding default pagination limits for testing (#49056) by @evanpurkhiser - feat(js): Add useMembers hook (#49043) by @evanpurkhiser - feat(issues): Add archived issue tag (#49044) by @scttcper - fix(issues): Remove resolve/archive/ignore action icons (#49058) by @scttcper - ref(pageFilters): Add ability to disable persistence (#49048) by @vuluongj20 - ref(js): Export useTeams as a named export (#49052) by @evanpurkhiser - chore(roles): Pixel Matters for Project/Team Settings Pages (#49042) by @leedongwei - ref(hc): Create ControlOption to support cross silo options (#48833) by @corps - chore(issue-platform): Remove project level option for creating issues via platform (#48911) by @wedamija - fix(issue-states): increase time limits for auto transitioning to ongoing issues (#49033) by @barkbarkimashark _Plus 1059 more_ 23.4.0 ------ ### Codecov Integration V2 This is the work post-MVP release for the Codecov Integration, with UI and performance improvements and a new CTA. By: @snigdhas (#46523, #46463, #46460, #46420, #46421, #46416, #46414, #46401, #46294), @scttcper (#46234), @armenzg (#46257) ### JavaScript SDK Dynamic Loader (ongoing) By: @mydea (#46996, #46995, #46994) ### Escalating Issues V1 (ongoing) This will allow marking an issue as archived until escalating. By: @jangjodi (#47333, #46636), @snigdhas (#47129, #47039, #46845), @barkbarkimashark (#47101, #47100, #47094, #47058, #47053), @armenzg (#46517), @scttcper (#46705, #46639), @NisanthanNanthakumar (#46205, #45971) ### Various fixes & improvements - fix(crons): Pass environment to edit monitor page (#47435) by @davidenwang - chore(js): Convert PackageLink to a FC (#47299) by @evanpurkhiser - chore(deps): bump cronstrue from 2.23.0 to 2.26.0 (#47431) by @dependabot - feat(worflow): Track unmerge issue usage (#47423) by @scttcper - feat(rulesnooze): Update endpoint to include info about if snooze is for all (#47414) by @roggenkemper - feat(analytics): Add user feedback info to issue analytics (#47296) by @malwilley - fix(issue-platform): Fix bug where searching by issue shortname in discover returns too many results (#47406) by @wedamija - feat(perf-issues): initialize giant http payload detector (#47264) by @DominikB2014 - feat(rulesnooze): Don't notify if rule is snoozed (#47197) by @roggenkemper - feat(trends): Update the breakpoint endpoint and request shape (#47412) by @udameli - Document 'download' query parameter (#47247) by @alyssa-glean - feat(replays): Add replays/:id/clicks/ endpoint for searching for click node and timestamp metadata (#47332) by @cmanallen - feat(code mapping): Derive code mappings for more distinct issues (#47345) by @lobsterkatie - chore(profiling): End profiling beta alert (#47249) by @Zylphrex - feat(profiling): Link from profile summary to transaction summary (#47328) by @Zylphrex - chore(perf): Remove old feature flag (#47394) by @udameli - feat(releasehealth): Switch mget to get for Redis Cluster compatibility (#46210) by @ayirr7 - fix(breadcrumbs): Resize breadcrumb rows when expanding object properties (#47369) by @malwilley - ref(escalating-issues): Add logs and increase freq of cron job (#47403) by @jangjodi - deps(ui): Upgrade to TypeScript v5 (#47405) by @scttcper - feat(email): Add X-SMTPAPI category to email headers (#47352) by @mbauer404 - chore(js): Add comment to js-sdk-loader eslint config (#47340) by @evanpurkhiser - fix(ui): Check type is number when using `>` `<` (#47360) by @scttcper - feat(hc): Send and receive RPCs over network (#47046) by @RyanSkonnord _Plus 745 more_ 23.3.1 ------ ### Various fixes & improvements - fix(dynamic-sampling):Set low volume transaction boost default to True (#46179) by @RaduW - feat(replays): Add backend support for `session-replay-network-details` feature (#46200) by @ryan953 - fix(roles): check for existence of org roles from team (#46197) by @cathteng - feat(escalating-issues): Add escalating group status (#45965) by @NisanthanNanthakumar - feat: Add a simple endpoint to lookup artifacts (#45757) by @Swatinem - fix(profiling): fix profiling timeout (#46193) by @JonasBa - fix(db-issue): Add db detector (#46154) by @wmak - chore(hybrid-cloud): Add outbox_runner to outbox tests (#46155) by @dashed - chore(hybrid-cloud): Update user type for sync_assignee_outbound (#46160) by @dashed - ref(profiling): Replace DataDog metric by a Sentry tag (#46156) by @phacops - fix(dashboards): Clear GroupStore when unmounting dashboard (#46189) by @edwardgou-sentry - fix(profiling): Show p75 only for suspect functions table (#46140) by @Zylphrex - feat(flag): Add flag for onboarding product selection - (#46184) by @priscilawebdev - ref(sourcemaps): Add date_uploaded field to bundle (#46172) by @iambriccardo - fix(sourcemaps): Change reverse sql type (#46180) by @iambriccardo - ref(sourcemaps): Remove date_last_accessed field from db (#46118) by @iambriccardo - chore(oss): add license to api docs spectacular ports (#46164) by @JoshFerge - fix(test): fix flake when time rolls to the next day (#46166) by @barkbarkimashark - feat(issue-platform): Hook up noise reduction config to occurrence ingestion (#46159) by @wedamija - chore(issue-platform): Remove unused features (#46161) by @wedamija - fix(codecov): Change endpoint for has_integration check (#46127) by @snigdhas - fix(profiling): Typo in format name sampled vs sample (#46150) by @Zylphrex - chore: Add missing license for jsonfield (#46148) by @markstory - fix(workflow): Add `ref_fallback` to issue details analytics (#46125) by @scttcper _Plus 233 more_ 23.3.0 ------ ### Stacktrace Codecov V2 (ongoing) This is the work post-MVP release. By: @armenzg (#44827) ### JavaScript SDK Dynamic Loader (ongoing) By: @AbhiPrasad (#44496) ### Various fixes & improvements - fix(ecosystem): Preserve codeowners filters on update (#45810) by @scttcper - chore(trace_view): Add perf issues to the mock trace (#45794) by @wmak - feat(dynamic-sampling): Add prioritise low volume transaction rules [TET-736] (#45635) by @RaduW - ref(onboarding): Update experiment segments (#45843) by @priscilawebdev - ref(onboarding): Update copy (#45830) by @priscilawebdev - ref(dynamic-sampling): Update Health Check copy (#45826) by @ale-cota - chore(commit-context): Flag cleanup (#45804) by @snigdhas - ref(compactSelect): Maintain menu width while searching (#45356) by @vuluongj20 - ref(outcomes) Add methods to build outcomes queries without django (#45730) by @markstory - feat(compactSelect): Add optional menu footer (#45339) by @vuluongj20 - ref(dynamic-sampling): Add onboarding experiement to the ds page (temp test) - (#45827) by @priscilawebdev - chore(view-hierarchy): Remove frontend feature flags (#45761) by @narsaynorath - chore(dashboards): Reintroduce release widget feature flag (#45791) by @shruthilayaj - fix (dyn-sampling): Change schedule interval for prioritise by project task [TET-788] (#45821) by @andriisoldatenko - chore(hybrid-cloud): Deprecate mediator destroyers (#45656) by @corps - feat(onboarding): Add view sample error button new design - (#45820) by @priscilawebdev - feat(onboarding): Add feature flag to control the View Sample Error button - (#45818) by @priscilawebdev - fix(onboarding): Fix issue when first error sent (#45817) by @priscilawebdev - feat(source-maps): Add debug ids UI - (#45711) by @priscilawebdev - feat(sourcemaps): Add endpoint for listing all artifact bundles of a project (#45751) by @iambriccardo - chore(hybrid-cloud): Backfill installation_id to service hooks (#45800) by @corps - fix(issue-platform): Explicitly pass `culprit` as part of the occurrence, and store `subtitle` correctly (#45809) by @wedamija - feat(crons): Explain crontab syntax in monitor form (#45801) by @davidenwang - ref(hybrid-cloud): Denormalize user avatars 1/3 (#45685) by @mikejihbe _Plus 792 more_ 23.2.0 ------ ### Stacktrace Codecov MVP Related to https://github.com/getsentry/sentry/discussions/42399 By: @snigdhas (#43819, #43667, #43675), @jangjodi (#43746) ### JavaScript SDK Dynamic Loader (ongoing) By: @AbhiPrasad (#44492, #44346, #44228) ### Various fixes & improvements - perf(sentry): Add optional referrer to query.search for granularity (#44585) by @k-fish - bug(replay): Do not render the list page until project data has loaded (#44623) by @ryan953 - fix(ui) Fix navigation between customer-domain accounts (#44625) by @markstory - feat(codeowners): [BE] Allow project members to edit project owner rules (#44508) by @jangjodi - ref(heartbeat): Update modal copy (#44658) by @priscilawebdev - Reverts for INC-307 (#44654) by @beezz - bump(dynamic-sampling): Bump sentry-relay to 0.8.18 (#44648) by @iambriccardo - feat(contexts): Add OpenTelemetry context (#44605) by @AbhiPrasad - fix: Avoid logging a `bad_report` for .NET events (#44291) by @Swatinem - chore(hybrid-cloud): Api* => Rpc* (#44646) by @corps - ref(hybrid-cloud): Isolate alert rules functionality by silo (#44644) by @mikejihbe - fix(api): Don't try and convert_args when http_method_not_allowed (#44635) by @evanpurkhiser - ref(api): Consistent relative endpoints import (#44640) by @evanpurkhiser - feat(profile-issues): Add profile category/type to search autocomplete (#44548) by @malwilley - fix(ui): Bring back Australia timezone (#44634) by @evanpurkhiser - feat: Deprecate legacy post process forwarder (#44631) by @lynnagara - fix(api): Remove inclusion of CHECKIN_ID in monitor check-in POST (#44630) by @evanpurkhiser - fix(source-maps): fixes too many values to unpack error in ArtifactSource (#44624) by @roggenkemper - ref(rules): Catch environment not existing (#44553) by @ceorourke - feat(analytics): improve analytics for soure map debugging (#44626) by @scefali - ref(tabs): Export `Item` as property of `TabList` & `TabPanels` (#44620) by @vuluongj20 - feat(ui): Switch translate tct return type to react element (#44610) by @scttcper - feat: adds tracking for setup wizard (#44619) by @scefali - feat(team-roles): Amend PUT on OrganizationMemberDetailsEndpoint (#44599) by @leedongwei _Plus 637 more_ 23.1.1 ------ ### Post-GA fixes and improvements for derived code mappings This will track work that are known issues that will be handled after the GA. See related RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @armenzg (#43323, #43325, #43310) ### Stacktrace Codecov MVP (ongoing) Related to https://github.com/getsentry/sentry/discussions/42399 By: @snigdhas (#43650, #43649, #43404, #43353, #43201), @jangjodi (#43032, #43517, #43407, #43116) ### Various fixes & improvements - ci(acceptance): Replace selenium finalizer with yield (#43711) by @mattgauntseo-sentry - test(profiles): test sample stats and raw weights across formats (#43685) by @JonasBa - fix(release_health) : bad granularity was causing limit validation error in MetricsLayer (#43729) by @RaduW - ref: upgrade structlog (#43680) by @asottile-sentry - ref(ui) Remove error for missing router context (#43693) by @markstory - ref(perf-issues): Increase unc asset duration threshold (#43722) by @k-fish - hotfix: handle empty series returns from get_series. (#43721) by @RaduW - Revert "feat(codecov): Get commit sha from Git blame (#42978)" (7d918eb7) by @getsentry-bot - feat(perf-issues) Add project options for consecutive db (#43701) by @DominikB2014 - fix(perf-issues): ensure php is not allowed to detect issues (#43694) by @DominikB2014 - feat(codecov): Get commit sha from Git blame (#42978) by @jangjodi - ref(mep): Allow up to 10 custom measurements (#43719) by @jan-auer - (perf-issues) Add detection rate project option to UI (#43698) by @DominikB2014 - fix(txnames): Skip deleted projects (#43716) by @jjbayer - feat(release-health): Switch release health backend to MetricsLayer (#43545) by @RaduW - chore(hybrid-cloud): remove region to control, use outbox (#43361) by @corps - feat(hc): Use hybrid cloud services in AuthIdentityHandler (#43035) by @RyanSkonnord - fix(sourcemaps): ease check on valid url and add data for invalid url issue (#43709) by @roggenkemper - test(acceptance): Reduce flakiness by waiting for requests to complete (#43486) by @mattgauntseo-sentry - ref(hybrid-cloud): test for both urls in MonitorCheckinDetails (#43690) by @cathyteng17 - ui(codecov): Fix codecov legend border (#43704) by @snigdhas - fix(tasks): Do not ignore exception by default (#43696) by @Zylphrex - ref: retry on 500s in docker pulls (#43700) by @asottile-sentry - Revert "CI(dispatch): Switch to merge commit sha where possible (#43570)" (f2dd50ad) by @getsentry-bot _Plus 285 more_ 23.1.0 ------ ### Derived Code Mappings (GA Release - JS and Python) Python is in EA already. We will first add JS to EA and then GA both of them. For JS, this will only apply to stacktraces that have source maps applied, otherwise, it is not possible to derive code mappings. Read https://github.com/getsentry/rfcs/pull/16 for more details. By: @armenzg (#42302) ### Stacktrace linking and code mapping improvements (ongoing) Various improvements to configuring Code Mappings by a customer. This milestones is simply to track the various related PRs. By: @armenzg (#43105, #43104, #42810) ### Post-GA fixes and improvements for derived code mappings (ongoing) This will track work that are known issues that will be handled after the GA. See related RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @armenzg (#43265, #43199, #42554, #42510, #42544, #42540, #42511, #42487) ### Stacktrace Codecov Integration (ongoing) Related to https://github.com/getsentry/sentry/discussions/42399 By: @snigdhas (#43114, #43025, #43024, #43015) ### Various fixes & improvements - Revert "fix(domains) Remove usage or params.orgId in search (#43205)" (2fc1398b) by @getsentry-bot - ref(js): Convert events/userFeedback to a FC (#43283) by @evanpurkhiser - feat(replays): Remove calendar icon from Replays list table (#43252) by @ryan953 - feat(replays): Remove the icon from the "Open Replay" preview in Issues (#43251) by @ryan953 - ref(ui): Visually improve PageHeadingQuestionTooltip (#43277) by @evanpurkhiser - chore(ui): Upgrade babel, babel-loader, core-ui (#43286) by @scttcper - ref(scim): Use transaction instead of span (#43287) by @AniketDas-Tekky - feat(modal) Consolidate close prevention props (#43258) by @malwilley - fix(integrations): Use services to get organization data (#43284) by @leeandher - fix(useOverlay): Only enable maxSize modifier when open (#43193) by @vuluongj20 - fix(domains) Use routing params in join-request route (#43271) by @markstory - fix(integrations): Use organization_id for finding the integration (#43279) by @leeandher - ref(js): Remove default Button export (#43280) by @evanpurkhiser - ref(js): Consistent spacing in eventEntry (#43230) by @evanpurkhiser - ref(replays): Rename Replay API fields to be snake_case and new names (#43206) by @ryan953 - feat(replays): Convert fields to snake-case and add additional query aliases (#43194) by @cmanallen - feat(anr-rate): Update ANR rate defaults on project details (#43248) by @shruthilayaj - bug: Fix import of button (#43272) by @ryan953 - Revert "ref(js): Remove default Button export (#43254)" (9f77d654) by @getsentry-bot - ci: Skip pip install when we have a cache hit in venv action (#43267) by @mattgauntseo-sentry - security(codeql): set codeql to weekly scans, on prs, and on master b… (#43213) by @mdtro - revert-revert: feat(hybrid-cloud): Move Integration/OrgIntegration to Control and implement IntegrationService (#43183) by @leeandher - chore: Add $schema to package.json + tsconfig.json (#43235) by @evanpurkhiser - ref(js): Export named Alert (#43255) by @evanpurkhiser _Plus 621 more_ 22.12.0 ------- ### Derived Code Mappings (EA release - Python only) This adds the ability of deriving code mappings automatically for all orgs using Python and Github at first. See RFC for details: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @armenzg (#41562, #41523, #41466, #41464, #41384) ### Derived Code Mappings (GA Release - JS and Python) (ongoing) Python is in EA already. We will first add JS to EA and then GA both of them. For JS, this will only apply to stacktraces that have source maps applied, otherwise, it is not possible to derive code mappings. Read https://github.com/getsentry/rfcs/pull/16 for more details. By: @armenzg (#42293, #42249, #42155, #42161, #42147, #42130, #42082, #42069, #41777, #41933, #41909, #41794, #41771, #41733, #41706, #41718, #41639, #41671, #41648), @jangjodi (#42192) ### Stacktrace linking and code mapping improvements (ongoing) Various improvements to configuring Code Mappings by a customer. This milestones is simply to track the various related PRs. By: @scttcper (#41582, #41585, #41529, #41512, #41474, #41299, #41403, #41372), @snigdhas (#41465), @armenzg (#41409) ### Post-GA fixes and improvements for derived code mappings (ongoing) This will track work that are known issues that will be handled after the GA. See related RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @armenzg (#42348, #41857) ### Stacktrace linking: Mobile Support (ongoing) By: @jangjodi (#42117, #41936) ### Various fixes & improvements - ref(js): Remove enforceActOnUseLegacyStoreHook hack (#42370) by @evanpurkhiser - feat(java): Add feature flag for deobfuscating java exception values (#42353) by @edwardgou-sentry - feat(profiling): add profiling-flamechart-spans flag (#42357) by @eliashussary - feat(node): fix package for windows path (#42325) by @JonasBa - feat(profiling): add transaction context (#42347) by @JonasBa - ref(replays): Move replay-events-meta test into correct folder (#42324) by @ryan953 - Revert "chore(routes): Remove support for deprecated pre-Sentry 10 routes" (#42374) by @dashed - chore(anr-rate): Add option for abnormal_mechanism extraction flag (#42367) by @shruthilayaj - chore(hybrid-cloud): test model decorators and fk breakage (#42254) by @corps - chore(transactions): Set the entity argument to default "false" (#42371) by @olksdr - ref(contexts): Convert chunck from class to function (#42246) by @priscilawebdev - feat(txnames): Sort rules in project options (#42372) by @jjbayer - chore(js): useApi in groupEventDetails (#42355) by @evanpurkhiser - fix(profiling): remove wasteful rect (#42351) by @JonasBa - feat(issues): Add frontend typings for issue occurrence data (#42329) by @malwilley - ref(hybrid-cloud): use organization_slug in MonitorCheckIns (#42356) by @cathyteng17 - ref(replays): Create NetworkHeaderCell for Replay Details (#42240) by @ryan953 - ref(profiling): rm profiling-onboarding-checklist feature flag (#42354) by @eliashussary - ref(replays): Refactor Replay network table sorting (#42235) by @ryan953 - fix(profiling): fix zoom when frame is in view (#42350) by @JonasBa - feat(discover-quick-context): Added issue title (#42343) by @Abdkhan14 - chore(hybrid-cloud): use organization_slug in MonitorDetails (#42300) by @cathyteng17 - (perf-issues) add fingerprinting to consecutive db detector (#42339) by @DominikB2014 - frontend(invite): update invite link helper text (#42344) by @mdtro _Plus 731 more_ 22.11.0 ------- ### Derived code mappings (Internal Release) (ongoing) This milestones add support for creating Python code mappings automatically for orgs with the Github integration installed. This milestone initially focuses on Python projects. Future work described in this RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @snigdhas (#41147, #41036, #40882, #40973, #40934, #40881, #40717, #40528, #40465, #40271), @armenzg (#41131, #41067, #40892, #40781, #40764, #40729, #40671, #40461, #40190, #40101), @scttcper (#40593) ### Derived code mappings (EA release - Python only) (ongoing) This adds the ability of deriving code mappings automatically for all orgs using Python and Github at first. See RFC for details: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @armenzg (#41313, #41199, #41132, #41125, #41083), @snigdhas (#41097, #41038, #41080, #41003, #41000, #40991, #40979) ### Various fixes & improvements - feat(profiling): Add release to profile payload (#41282) by @Zylphrex - fix(tests): escape `.` in regex passed to findByText (#41391) by @mdtro - test(js): Convert DashboardList to RTL (#41375) by @malwilley - test(js): Convert SentryApplicationDetails to RTL (#41378) by @evanpurkhiser - feat(profiling): profiling onboarding sidebar (#41322) by @eliashussary - feat(useStacktraceLink): add hook to fetch stack trace link (#41269) by @JonasBa - dep(profiling): Bump sentry sdk for updated profiler (#41324) by @Zylphrex - feat(analytics): Record analytics for first profile sent (#41315) by @Zylphrex - perf(users-endpoint): Improve users endpoint performance more (#41347) by @Zylphrex - fix(metrics): Use parameterize instead of for loop in test (#41316) by @iambriccardo - ref(perf-issues): Add projectoption for enabling individual detector (#41328) by @k-fish - ref(contexts): Prettify only known contexts - (#41379) by @priscilawebdev - ci(jest): regenerate jest-balance.json (#41377) by @getsentry-bot - fix(code-mappings): Always add a trailing backslash for codemappings (#41330) by @snigdhas - fix(replays): Adjust Replay Details layout(s) dimensions (#41331) by @jesus4497 - test(js): Convert ManageDashboards test to RTL (#41352) by @malwilley - feat(monitors): Tag error events with monitor id (#41291) by @davidenwang - ref(access): Dataclass to represent (requires_sso, sso_is_valid) pairs (#41239) by @RyanSkonnord - test(js): Convert organizationAuthList to RTL (#41309) by @evanpurkhiser - feat(hybrid-cloud): Add /user-feedback/* Django route (#41326) by @dashed - test(js): Convert teamKeyTransactionButton to RTL (#41308) by @evanpurkhiser - Customize pip-compile header (#41334) by @atugushev - ref: fix typing in sentry.integrations.slack (#41314) by @asottile-sentry - feat(hybrid-cloud): Add /issues/* Django route (#41333) by @dashed _Plus 1017 more_ 22.10.0 ------- ### Automatic code mappings for Python/Github projects (ongoing) This milestones add support for creating Python code mappings automatically for orgs with the Github integration installed. Future work described in this RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md By: @armenzg (#39975, #39750) ### Various fixes & improvements - Revert "feat(commit-context): Refactor Issue Owner auto-assignment (#40048)" (#40081) by @wedamija - ref(emails): Update perf issue email subject (#40072) by @ceorourke - test(js): Convert AcceptOrganizationInvite to RTL (#39809) by @evanpurkhiser - ref: improve pin_github_action ref matching (#40067) by @asottile-sentry - test(ui): Convert SelectAsyncField test to RTL (#40060) by @malwilley - test(js): Convert TableField test to RTL (#40064) by @malwilley - deps(ui): Upgrade to jest v29 (#40070) by @scttcper - test: Use initialProps when testing hooks with reactHooks.renderHook (#39532) by @ryan953 - feat(hybrid-cloud): Add a test for file upload (#39931) by @AniketDas-Tekky - feat(ui): Add aria-describedby to form inputs (#40037) by @evanpurkhiser - feat(commit-context): Refactor Issue Owner auto-assignment (#40048) by @NisanthanNanthakumar - chore(hybrid-cloud): ORM decorators updated. (#40022) by @corps - ref(email): Add performance issue alert email template (#39948) by @ceorourke - test(js): Rebalance tests (#40036) by @evanpurkhiser - fix(all-events) issue where events tab makes extra api call (#40056) by @DominikB2014 - feat(all-events) Add minidump all events (#40049) by @DominikB2014 - feat(perf_issues): Only send error issues to digests system (#40050) by @wedamija - feat(commit-context): Support GitLab (#39381) by @NisanthanNanthakumar - ref: Mark batching kafka consumer as deprecated (#40044) by @lynnagara - ref(gitlab): No need to show token (#40045) by @armenzg - Add all inclusive resources (#40047) by @0Calories - feat(charts): Add auto-generated aria labels (#39653) by @vuluongj20 - fix(auth): Fix `device-failed` position (#40011) by @vuluongj20 - feat(replays): Add Slowest Transaction Column To Transaction Replay Table (#39930) by @danecando _Plus 916 more_ 22.9.0 ------ ### Various fixes & improvements - fix(js): Avoid constructing API inside fetchOrganizationDetails (#38859) by @evanpurkhiser - feat(codeowners): Add assignee dropdown codeowners copy (#38832) by @scttcper - test(ui): Convert project install tests to RTL (#38866) by @scttcper - feat(dashboards): widgets use mep setting provider to determine if requests should be metricsEnhanced or not (#38810) by @edwardgou-sentry - feat(replays): Change replay event tags type and update UI (#38604) by @jesus4497 - ref: Continue typing eventstream (#38858) by @lynnagara - feat(sidebar): open up broadcasts if #whats-new is the hash (#38838) by @scefali - Added question tooltip beside processed baseline toggle. (#38875) by @Abdkhan14 - feat(perf-issues): Add analytics event to count num of perf issues on issues stream page (#38876) by @0Calories - feat(metrics): Add `count_web_vitals` to metrics layer [TET-161] (#38873) by @ahmedetefy - feat(dashboard): Flip top level query filter flag (#38829) by @narsaynorath - ref(dashboards): Delete deprecated dashboard tests (#38872) by @edwardgou-sentry - chore(perf-issues): Add issue creation rate limiter metrics (#38874) by @udameli - ref(perf-issues): prettify test event JSON (#38871) by @mjq-sentry - feat(perf_issues): Make `GroupTagKeyValuesEndpoint` work with perf issues (#38865) by @wedamija - feat(profiling): add links to profiledetails (#38824) by @eliashussary - fix(perf-issues): N+1 with odd number of potential sources missed (#38862) by @mjq-sentry - feat(perf_issues): Default `sentry:performance_issue_creation_rate` to 1.0, and gate perf issue creation using `performance-issues-ingest` (#38864) by @wedamija - feat(perf_issues): Explicitly hide performance issues from search if feature flag is disabled (#38863) by @wedamija - feat(perf-issues): Add Performance Issues analytics (#38807) by @0Calories - feat(dashboards): Flip grid layout feature flag (#38827) by @narsaynorath - feat(metrics): Support rate for derived metric [TET-129 TET-127] (#38792) by @ahmedetefy - feat(metrics): Register new option [sns-1660] (#38816) by @untitaker - fix(datascrubbing): Limit sensitiveFields (#38803) by @jjbayer _Plus 746 more_ 22.8.0 ------ ### Various fixes & improvements - fix(breadcrumbsFilter): Fix level tag crop issue (#37777) by @vuluongj20 - ref(dropdownMenu): Mark as deprecated (#37319) by @vuluongj20 - feat(workflow): Remove `duplicate-alert-rule` flag (#37489) by @scttcper - fix(dashboards): Fix custom metrics not displaying with units correctly in widget viewer(#37807) by @edwardgou-sentry - feat(replays): New column size and improve of a11y (#37765) by @jesus4497 - ref(perf): Add duplicate detection on group hash (#37787) by @k-fish - fix(profiling): Profiling stats response for no projects (#37772) by @Zylphrex - feat(replays): Normalize resources with client expectations (#37708) by @cmanallen - feat(dashboard-filters): Save and expose releaseId in dashboards (#37779) by @narsaynorath - ref: upgrade confluent-kafka to 1.9.2 (#37733) by @asottile-sentry - pass resolution time to get_files_changed_in_releases() (#37800) by @komal-saini - don't call flagr on this feature flag since we'll be hard-coding the handler (#37799) by @barkbarkimashark - fix(suspect-resolutions): Get files changed in releases within 5h time-window (#37789) by @komal-saini - fix: explicitly define app label (#37795) by @MeredithAnya - fix(integrations): don't remove functions before they're actually removed (#37793) by @vpandiarajan20 - ref(indexer): Add postgres, cloudspanner modules (#37771) by @MeredithAnya - Sentry Functions: Backend Webhook Integration (#37205) by @vpandiarajan20 - ref(indexer): Deprecate DbKey (#37790) by @lynnagara - ref(suspect-resolutions): refactor code around (#37775) by @barkbarkimashark - fix(dashboard): Pass location to handleAddQueryToDashboard (#37785) by @shruthilayaj - fix(releases): filter out releases with projects by project membership instead of access (#37495) by @barkbarkimashark - feat(suspect-resolutions): track the suspect resolutions algo changes in analytics events (#37778) by @barkbarkimashark - Revert "fix(mep): Missed a tag resolver (#37768)" (#37782) by @k-fish - fix(ui): integrations text alignment (#37776) by @robinrendle _Plus 789 more_ 22.7.0 ------ ### Various fixes & improvements - ref(replays): Refactor MouseTracking component into a react hook (#36710) by @ryan953 - feat(release-activity): backend support for tracking release activity (#36608) by @barkbarkimashark - feat(grouping): Add support for automatic grouping updates (#36358) by @mitsuhiko - feat(replays): add session replays endpoints, proxy logic (#36631) by @JoshFerge - fix(dashboards): Open in Discover missing in Default Dashboard (#36728) by @narsaynorath - chore(deps): Upgrade @sentry/* JS SDKs from 7.6.0 to 7.7.0 (#36727) by @AbhiPrasad - fix(mep): Remove the granularity hacks (#36724) by @wmak - chore(deps): Bump eslint-config-sentry 1.94 -> 1.95 (#36693) by @NisanthanNanthakumar - fix(test) Allow the connection name to be defined by migration tests (#36712) by @markstory - fix(perf) Disabled performance settings if denied access (#36675) by @DominikB2014 - fix: Remove potentially unnecessary pip installs (#36649) by @untitaker - fix: Fix unbound variable if DEVENV_NO_REPORT=1 (#36650) by @untitaker - test(issue-details): Fix issue details create comment test (#36715) by @Zylphrex - ref(tags): Refactor the Tags table so the rows are independant of the styled title (#36711) by @ryan953 - fix(ci): include workdir to cache-dependency-path in setup-sentry (#36718) by @joshuarli - bug(replays): Remove the custom replays navTabs, use core nav which supports with dark-mode (#36709) by @ryan953 - feat(replays): Cleanup unneeded tabs from the Replay Details page (#36706) by @ryan953 - feat(alert): Create metric alerts on project creation (#36582) by @Neo-Zhixing - fix(devserver): Start both string indexers when metrics are enabled (#36682) by @untitaker - feat(profiling): Ingest profile call trees (#36268) by @Zylphrex - ref: replace legacy compat.map with list comprehensions (api) (#36694) by @asottile-sentry - feat(integrations): Endpoint for SentryFunctions creation page (#36557) by @vpandiarajan20 - tests(mep): Add missing tests for entity subscription helper functions (#36689) by @wedamija - feat(mep): Add `PerformanceMetricsEntitySubscription` for use with MEP alerts (#36653) by @wedamija _Plus 760 more_ 22.6.0 ------ ### Various fixes & improvements - ref: replace `import_submodules` with explicit `*` imports (#35677) by @asottile-sentry - ref: fix linting of fixtures namespace (#35684) by @asottile-sentry - ref(sentry app): Rewrite Sentry App Tests (#35664) by @ceorourke - feat(discover): Support sum function while querying metrics in discover (#35576) by @edwardgou-sentry - ref: re-enable pyc files now that we're on python 3 (#35678) by @asottile-sentry - ref: allow explicit relative imports `from .json` (#35676) by @asottile-sentry - fix(replays): fix error/durations on Replays for page >1 (#35647) by @SDaian - ref(virtualizedtree): compute startindex and avoid wasteful iterations (#35621) by @JonasBa - feat: Thread names (#35620) by @loewenheim - Revert "Revert "ref: simplify and type flake8 plugin (#35645)" (#35651)" (#35673) by @asottile-sentry - fix(cra-metrics): Count all users in metrics alerts (#34957) by @jjbayer - feat: Run csharp/il2cpp events through symbolicator (#35615) by @Swatinem - ref: upgrade boto* packages to fix conflicts (#34524) by @asottile-sentry - ref(stack-trace): Update header style (#35670) by @priscilawebdev - fix(relay): Defer cache invalidation up until after DB transaction (#35523) by @untitaker - feat(dashboard): Add field options for table cols to config (#35622) by @shruthilayaj - fix(projectconfig): Invalidation task deals with deleted project (#35668) by @flub - ref(stack-trace): Add new design changes - (#35617) by @priscilawebdev - chore(deps): bump @sentry/release-parser from 1.3.0 to 1.3.1 (#35657) by @dependabot - chore(deps): bump core-js from 3.22.7 to 3.23.1 (#35656) by @dependabot - ref(widget-builder): Replace Feedback Button with FeatureFeedback component (#35571) by @priscilawebdev - chore(deps): bump echarts from 5.3.1 to 5.3.3 (#35658) by @dependabot - build(deps): bump css-what from 5.0.0 to 5.1.0 (#35623) by @dependabot - build(deps-dev): bump @types/node from 17.0.38 to 17.0.42 (#35598) by @dependabot _Plus 746 more_ 22.5.0 ------ ### Replays v0 (ongoing) By: @billyvg (#34407, #34388) ### Various fixes & improvements - ref(js): Convert DateTime to a FC (#34628) by @evanpurkhiser - chore: Update logo for dark or light theme (#34229) by @mattjohnsonpint - ref(js): Convert U2fContainer to a FC (#34630) by @evanpurkhiser - ref(js): Convert discover eventsV2 Breadcrumbs to a FC (#34629) by @evanpurkhiser - ref(js): Convert ProjectPerformanceContainer to a FC (#34624) by @evanpurkhiser - ref(js): Convert gridEditable/sortLink to a FC (#34615) by @evanpurkhiser - ref(js): Convert LoadingError to a FC (#34626) by @evanpurkhiser - ref(js): Convert UnlinkedAlert to a FC (#34632) by @evanpurkhiser - ref(js): Convert TagDistributionMeter to a FC (#34627) by @evanpurkhiser - style(js): Small formatting adjustment to projectSettingsLayout (#34625) by @evanpurkhiser - ref(js): Convert TeamAvatar to a FC (#34623) by @evanpurkhiser - ref(js): Convert ValueComponent to a FC (#34620) by @evanpurkhiser - ref(js): Convert BreadcrumbTitle to a FC (#34619) by @evanpurkhiser - feat(onboarding): Customized cards (#34603) by @Neo-Zhixing - ref(js): Convert OnboardingWizardSidebar to a FC (#34609) by @evanpurkhiser - chore(dashboard): Default RH field to crash_free_rate (#34285) by @shruthilayaj - fix(dashboard): Remove session.status as a filter tag (#34593) by @shruthilayaj - fix(discover): Fix bug preventing saving queries with equation (#34580) by @wmak - feat(crash_rate_alerts): Add logic to enforce session -> metric alerts (#34534) by @wedamija - feat(replays): Better console messages + add string formatting (#34501) by @billyvg - fix(dev): also patch invalid escape sequences in selenium.* (#34577) by @asottile-sentry - Revert "fix(notifications): Use `metrics_key` (#34572)" (04f013dd) by @getsentry-bot - ref(integrations): Update GH and GL feature descriptions (#34578) by @ceorourke - feat(alertWizard): Show My Projects in project selector in alert wizard (#34583) by @mikellykels _Plus 732 more_ 22.4.0 ------ ### Replays v0 (ongoing) By: @ryan953 (#33313) ### Various fixes & improvements - debug(tests): Added some debugging for flakey ado test (#33632) by @AniketDas-Tekky - ref(rate limits): Tag DD metric w/ rate limit type (#33621) by @ceorourke - ref(access log): Add Datadog metrics (#33644) by @ceorourke - ref(reflux): remove index signature (#33407) by @JonasBa - feat(flamechart): allow rendering the chart on arbitrary x axis (#33577) by @JonasBa - fix(ui): typo on languages (#33628) by @23RoMax - fix(ui): Don't show project picker for alert wizard v3 (#33634) by @taylangocmen - JSON syntax and OpenAPI spec fixes, to silence (some) swagger/openapi codegen errors. (#28396) by @tesueret-msft - fix(alertStatus): Handle alert details page when no project (#33635) by @mikellykels - fix(rate limit): Format 429 response correctly (#33629) by @ceorourke - fix(workflow): Format metric date to number from query params (#33633) by @scttcper - fix(ui): Add % to crash free sessions tooltip (#33624) by @mikellykels - feat(replay): Implement the View in Fullscreen button (#33566) by @ryan953 - feat(workflow): Tidy up projects page design (#33608) by @mikellykels - fix(sudo modal): no longer trying to log superuser access on sudo (#33622) by @maxiuyuan - feat(perf): Add MEP to transaction summary (#32773) by @k-fish - feat(dashboards): Update Release Health dataset to use sessions v2 (#33582) by @shruthilayaj - ref(alerts): Use Badge in team filter (#33596) by @vuluongj20 - feat(onboarding): remove welcome page experiment and use new experience (#33616) by @scefali - feat(workflow): Add Undo to issue removal toast (#33249) by @mikellykels - ref(page-filters): All environments -> All env (#33568) by @davidenwang - ref(perf): Move long-tasks to app-wide (#33614) by @k-fish - fix(new-widget-builder-experience): Unnecessary dashboard visit requests (#33619) by @narsaynorath - ref(page-filters): Move issues sort options inside table (#33590) by @vuluongj20 _Plus 771 more_ 22.3.0 ------ ### Various fixes & improvements - feat(perf): Add MEP param to other landing requests (#32575) by @k-fish - feat(devenv): set sentry SDK default off if dsn not provided and relay off (#32569) by @JoshFerge - ref(dam): Use cols and aggregates (#32441) by @shruthilayaj - feat(mep): Introduce p100 to the metric query builder (#32570) by @wmak - feat(mep): Introduce the count_web_vitals functions to metrics (#32507) by @wmak - ref(sdk): Move back to 5000ms idleTimeout (#32564) by @k-fish - feat(dashboards): Widget Viewer beta badge and style (#32588) by @edwardgou-sentry - chore: Add team-web-backend as CODEOWNERS of SDK (#32033) by @sl0thentr0py - ref(ui): Improve uage of BookmarkStar (#32553) by @evanpurkhiser - test(js): Convert organizationGroupDetails/action to RTL (#32598) by @evanpurkhiser - chore(deps): bump pillow from 8.3.2 to 9.0.1 (#32552) by @dependabot - chore(js): Upgrade babel from 7.15 -> 7.17 (#32016) by @evanpurkhiser - feat(onboarding): Add onboarding welcome page experiment (#31733) by @scefali - feat(codeowners): Decode base64 CODEOWNERS contents to utf-8 (#32582) by @NisanthanNanthakumar - fix(projects): Use subText for project issues table's heading (#32597) by @vuluongj20 - fix(projects): Use subText for project card's score title (#32595) by @vuluongj20 - fix(ui): fixed size of open in issues button (#32573) by @robinrendle - fix(ui): copy of alert details chart (#32587) by @robinrendle - ref(ui): Make small UI changes to Button component (#31903) by @vuluongj20 - ref(page-filters): Add `alignDropdown` prop to environment selector (#32461) by @vuluongj20 - fix(tests): Another attempt to reduce flakiness of event frequency tests (#32580) by @wedamija - fix(dashboards): Don't display edit button in Widget Viewer for prebuilt dashboards (#32567) by @edwardgou-sentry - fix(design): Fix code css definition (#32589) by @dashed - fix(discover): Add to Dashboard test from a Discover Query (#32577) by @edwardgou-sentry _Plus 605 more_ 22.2.0 ------ ### Various fixes & improvements - ref(ui) Move forms out of views/settings/components (#31785) by @markstory - feat(perf): Show link to docs when some web vitals data is missing (#31764) by @0Calories - feat(dashboard): Add duplicate widget button in dashboard edit mode (#31776) by @edwardgou-sentry - feat(metrics): Add metrics to series transformer (#31783) by @matejminar - ref(new-widget-builder-experience): Add visualization & query fields (#31786) by @priscilawebdev - feat(profiling): add flamegraph tooltip (#31663) by @JonasBa - ref(endpoints): SentryApp endpoints module (#31749) by @mgaeta - feat(ui): Add empty state for for review tab (#31782) by @taylangocmen - ref(models): Move more models to submodules (#31583) by @mgaeta - Select weekly email template based on feature flag (#31802) by @Neo-Zhixing - feat(workflow): Add alert-rule-status-page flag (#31796) by @scttcper - fix(perf): Transaction is missing in perfForSentry (#31801) by @k-fish - feat(codeowners): add api owners group to CODEOWNERS (#31739) by @JoshFerge - meta(gha): Deploy workflow issue-routing-helper.yml (#31798) by @chadwhitacre - chore(auth): Enable automatic IdP migration for all users (#31774) by @RyanSkonnord - feat(ratelimits): Turn on rate limit enforcement (#31789) by @AniketDas-Tekky - ref(perf): Switch VC component to use perf.now (#31795) by @k-fish - ref(api): Refactor organization_member_team_details (#31751) by @RyanSkonnord - fix(pagerduty): Fix logging params (#31794) by @ceorourke - feat(dashboards): widget viewer modal feature flags (#31792) by @edwardgou-sentry - feat(reports): Include transactions in project series histogram (#30839) by @Neo-Zhixing - feat(apidocs): document SCIM member index post with new tooling (#31695) by @JoshFerge - feat(apidocs): document SCIM member index get with new tooling (#31694) by @JoshFerge - fix(alert-rule-action): Initialize formdata with existing values (#31710) by @NisanthanNanthakumar _Plus 502 more_ 22.1.0 ------ ### Frontend Deploys (ongoing) By: @billyvg (#28878) ### Python: Add support for Apple arm64 development (ongoing) Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon). In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing. By: @armenzg (#30071, #29739, #29449, #29315, #29013, #28769, #28607) ### Docker: Add support for Apple arm64 development (ongoing) In order to do development for Sentry, we need to spin up various Docker containers. Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon). This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture. By: @armenzg (#29494, #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724) ### Connecting Dashboards and Discover (ongoing) Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard. By: @edwardgou-sentry (#28699, #28827, #28745, #28637) ### Various fixes & improvements - ref(ratelimit): Added a config and changed a default (#31141) by @AniketDas-Tekky - feat(dev): Fix `jest --watch` (#31138) by @billyvg - ref(auth): Increase sample rate to 1.0 on idpmigration.* metrics (#31139) by @RyanSkonnord - ref(pageFilters): Constrict types on updateParams better (#31073) by @evanpurkhiser - feat(notifications): Nudge Notifications (#30409) by @mgaeta - fix(ui): Team details doesn't load depending on navigation (#31081) by @mikellykels - fix(snuba-tests): wrap tag key in Column (#31137) by @MeredithAnya - test(ui): Convert globalSelectionLink to RTL (#31007) by @scttcper - fix(suspect-spans): Make sure to query for frequency column (#31134) by @Zylphrex - fix(echarts): Remove type casting from MapSeries (#31130) by @scttcper - ref(webhooks): Use ApiClient (#31127) by @ceorourke - fix(dashboard): Set line height on BigNumber to avoid clipping (#31136) by @narsaynorath - fix(echarts): Use default echarts bar series type (#31129) by @scttcper - fix(teamStats): Adjust gap between bar charts (#31119) by @scttcper - fix(dashboards): TopN widgets Open in Discover opens with TopN display type (#31120) by @edwardgou-sentry - ref(metrics): Consolidate wrappers around string indexer (#31051) by @untitaker - ref(performance-metrics): Port failure Rate sidebar widget - Summary to metrics (#31014) by @priscilawebdev - feat(profiling): move flamegraph and differential flamegraph (#30910) by @JonasBa - ref(ui): Extract LoadingTriangle from LoadingIndicator (#31118) by @evanpurkhiser - ref(notifications): Prepare Slack for sending Nudges. (#30765) by @mgaeta - ref(integrations): Split up large file (#30786) by @mgaeta - ref(analytics): Analytics Refactor + Types (#30555) by @mgaeta - fix(teamStats): Fix link to alert details from triggered (#31124) by @scttcper - ref(sentry apps): Don't raise IgnoreableSentryAppError (#31033) by @ceorourke _Plus 2051 more_ 21.12.0 ------- ### Frontend Deploys (ongoing) By: @billyvg (#28878) ### Python: Add support for Apple arm64 development (ongoing) Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon). In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing. By: @armenzg (#30071, #29739, #29449, #29315, #29013, #28769, #28607) ### Docker: Add support for Apple arm64 development (ongoing) In order to do development for Sentry, we need to spin up various Docker containers. Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon). This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture. By: @armenzg (#29494, #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724) ### Connecting Dashboards and Discover (ongoing) Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard. By: @edwardgou-sentry (#28699, #28827, #28745, #28637) ### Various fixes & improvements - feat(cra-metrics): Adds crash rate alerts over metrics [INGEST-629] [INGEST-632] (#30400) by @ahmedetefy - fix(perf): Re-add onboarding for landing v3 (#30675) by @k-fish - fix(performance-metrics): Handle null serie values (#30594) by @priscilawebdev - feat(snql): Enable snql on facets performance endpoints (#30557) by @wmak - fix(discover): Updates Discover widget modal to propagate global header selection to the dashboard view when submitting (#30641) by @edwardgou-sentry - feat(suspect-spans): Allow specifying certain columns (#30576) by @Zylphrex - fix(chart-unfurl): Fix daily top5 rendering (#30669) by @shruthilayaj - ref(projectconfig_cache): Delete redis-blaster implementation, execute deletes faster (#30636) by @untitaker - feat(dashboards): Open Library Modal in edit mode (#30591) by @shruthilayaj - ref(js): Cleanup GSH getParams / utils (#30658) by @evanpurkhiser - style(js): Improve comments formatting in AsyncComponent (#30667) by @evanpurkhiser - ref(js): Convert (some of) redirectDeprecatedProjectRoute to a FC (#30640) by @evanpurkhiser - ref(js): Convert ScrollToTop to a hook (#30652) by @evanpurkhiser - ref(js): Remove UNSAFE_componentWillReceiveProps (#30663) by @evanpurkhiser - ref(js): Remove unused getEndpoint (#30659) by @evanpurkhiser - fix(ui): Span tree connector design (#30498) by @vuluongj20 - fix(js): Remove double `- Sentry` in Activity route title (#30626) by @evanpurkhiser - feat(teamStats): Remove some team unresolved issue age buckets (#30650) by @scttcper - style: Hover & focus state for buttons (#30654) by @vuluongj20 - fix(ui): Fix undefined markline data error (#30655) by @taylangocmen - ref(js): Convert OrganizationCreate to a FC (#30638) by @evanpurkhiser - chore(deps): bump typescript from 4.4.4 to 4.5.4 (#30615) by @dependabot - feat(teamStats): Add team-insights-age-unresolved flag (#30644) by @scttcper - ref(js): Rename constants/{globalSelectionHeader -> pageFilters} (#30618) by @evanpurkhiser _Plus 1646 more_ 21.11.0 ------- ### Frontend Deploys (ongoing) By: @billyvg (#28878) ### Python: Add support for Apple arm64 development (ongoing) Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon). In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing. By: @armenzg (#29739, #29449, #29315, #28769, #28607) ### Docker: Add support for Apple arm64 development (ongoing) In order to do development for Sentry, we need to spin up various Docker containers. Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon). This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture. By: @armenzg (#29494, #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724) ### Connecting Dashboards and Discover (ongoing) Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard. By: @edwardgou-sentry (#28699, #28827, #28745, #28637) ### Various fixes & improvements - fix(tests) Remove import that wasn't caught in pr (#30018) by @markstory - chore(tests) Remove old react-select test helpers (#29998) by @markstory - ref(tests) Replace usage of predicate in MockApiClient (#29997) by @markstory - feat(dashboards): Add dashboard widget resizing flag (#30000) by @narsaynorath - feat(ci): Drop ubuntu from dev env CI (#29956) by @armenzg - ref(native-stack-trace-v2): Add more adjusts (#30013) by @priscilawebdev - fix(dev): Patch firefox_profile.py from Selenium package (#29887) by @armenzg - feat(ui): Add metrics switch to performance page [INGEST-572] (#30011) by @matejminar - ref(native-stack-trace-v2): Apply design feedback (#29989) by @priscilawebdev - ref(js): Convert GlobalSelectionHeaderRow to a FC (#30004) by @evanpurkhiser - meta(py): Upgrade python typing analysis script (#29961) by @mgaeta - ref(ts): Make GlobalSelectionStore useLegacyStore compatible (#30002) by @evanpurkhiser - security(issue-alerts): Validate the issue alert owner is a member of the organization (#29962) by @wedamija - feat(ui): Storybook - Add theme switcher & noBorder option to (#29765) by @vuluongj20 - feat(notifications): Slack Digests (#29677) by @mgaeta - feat(ui): Release Details Sidebar component update (#29842) by @mikellykels - feat(release-comparison): Add Regressed tab to issue filter tabs (#27896) by @mikellykels - adds hook and experiment (#29976) by @scefali - feat(logo-upload): Update serializer to account for popularity (#29978) by @leeandher - test(ui): Convert seenByList to RTL (#29983) by @scttcper - test(ui): Convert collapsible component to RTL (#29982) by @scttcper - feat(widget-library): Add Library Widgets to Dashboard (#29881) by @shruthilayaj - feat(tests) Add request matchers to MockApiClient (#29910) by @markstory - ref(tests) Move tests for MutedBox to RTL (#29967) by @markstory _Plus 1127 more_ 21.10.0 ------- ### Frontend Deploys (ongoing) PRs: #28878 ### Python: Add support for Apple arm64 development (ongoing) Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon). In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing. PRs: #28769, #28607 ### Docker: Add support for Apple arm64 development (ongoing) In order to do development for Sentry, we need to spin up various Docker containers. Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon). This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture. PRs: #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724 ### Connecting Dashboards and Discover (ongoing) Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard. PRs: #28699, #28827, #28745, #28637 ### Various fixes & improvements - feat(workflow): Enable issue-percent-filters flag by default (#29325) - feat(post-process-forwarder) Allow different types of post process forwarders (#29225) - ref(search): Enable search without waiting for search groups to load (#29336) - adds experiment for trial label (#29305) - fix(discover): Various snql discover fixes (#29219) - chore(deletion) Drop aborted column (#29323) - fix(snapshots): Fixes datetime comparison with str issue (#29349) - fix(ui): Handle empty alert chart (#29348) - feat(dev): Run dev env workflow when .pre-commit-config.yaml changes (#29331) - ref(tests): Use screen for querying in RTL (#29312) - fix(alerts): Fix logic that creates snapshots for crash rate alerts (#29320) - ref(grouprelease): Buffer GroupRelease.last_seen update per minute (#29328) - ref(minichart): Add extra empty space on the top - [INGEST-495] (#29321) - ref(js): Remove unused withProjects on incidentRules/triggers (#29335) - test(js): Always use our exported act (#29340) - ref(js): Rewrite Sidebar as a functional component (#29278) - test(js): Refactor useLegacyStore test to use testing-library/react-hooks (#29338) - fix(workflow): Filter team release counts by teams projects (#29341) - feat(team-insights): Add Number of Releases section (#29101) - Temporarily disable pyright pre-commit checks. (#29326) - build(deps): bump nth-check from 2.0.0 to 2.0.1 (#29000) - fix(growth): Select the correct project when showing sample transaction banner (#29324) - fix(visibility): Unbound errors for visibility files (#29330) - fix(js): Links should not receive router attributes (#29279) _Plus 590 more_ 21.9.0 ------ - No documented changes. 21.8.0 ------ - No documented changes. 21.7.0 ------ - No documented changes. 21.6.3 ------ - No documented changes. 21.6.2 ------ - No documented changes. 21.7.1 ------ ### Breaking Change If you are upgrading from a release prior to 10.0.0 you need to first upgrade to 21.6.1 and run migrations. For more information [see the upgrade guide](https://develop.sentry.dev/self-hosted/#hard-stops). 21.6.1 ------ - No documented changes. 21.6.0 ------ ### Deprecation Warning There will be a future change to where the frontend bundle will be loaded asynchronously. This will be a breaking change that can affect custom plugins that access certain globals in the django template. Please see https://forum.sentry.io/t/breaking-frontend-changes-for-custom-plugins/14184 for more information. 21.5.1 ------ - No documented changes. 21.5.0 ------ - No documented changes. 21.4.1 ------ - No documented changes. 21.4.0 ------ - No documented changes. 21.3.1 ------ - No documented changes. 21.3.0 ------ - No documented changes. 21.2.0 ------ - No documented changes. 21.1.0 ------ - No documented changes. 20.12.1 ------- - No documented changes. 20.11.1 ------- - No documented changes. 20.11.0 ------- - No documented changes. 20.10.1 ------- - No documented changes. 20.10.0 ------- - No documented changes. 20.9.0 ------ - No documented changes. 20.8.0 ------ - No documented changes. 20.7.1 ------ - No documented changes. 20.7.0 ------ - No documented changes. v20.6.0 ------- - Switched to CalVer v10.0 ----- Please refer to our blog post: https://blog.sentry.io/2020/01/07/self-hosted-sentry-10-is-ready-to-serve-get-it-while-its-hot/ v9.1.2 ------ - Bug fixes from 9.1.1 release. - See https://github.com/getsentry/sentry/releases/tag/9.1.2 for a summary v9.1.1 ------ - Bug fixes from 9.1.0 release. v9.1 ---- The changelog for Sentry 9.1 is summarized. For full details, we recommend reviewing the full set of SCM changes on GitHub. First, an important preface: FUTURE VERSIONS OF SENTRY WILL INTRODUCE BACKWARDS INCOMPATIBLE INFRASTRUCTURE This is the last version in the 9.x series, and our next release will migrate many legacy technologies onto standardized versions our SaaS service uses. The most notable, known concerns are: - Postgres will be the only supported SQL database - Our new search infrastructure (codenamed Snuba) will become required (we'll provide a migration path) - Various new infrastructure services will be required (such as Kafka) This is required for Sentry to continue to support open source releases in a meaningful way, and ensures we have only a single, standard way of running the services. Integrations ~~~~~~~~~~~~ We've added a new global integration concept to Sentry, which raises plugins to the organization level. Access to these integrations are controlled with the `org:integrations` scope, and are granted to any user with an Admin or higher role. This release includes integrations for: - Azure DevOps - BitBucket - GitHub - GitHub Enterprise - GitLab - Jira - Jira Server There is additionally a Slack integration, though it requires a now-deprecated workspace token in order to use. Note: a known issue exists where integrations are always shown as enabled, even when you haven't configured the appropriate server settings (such as OAuth keys). Native Support ~~~~~~~~~~~~~~ Various improvements for native (compiled) runtimes is included in this release. - Improved rendering for native stacktraces. - Improved support for Apple crash reports. - Added unreal engine 4 crash dump support. - Added code identifier support for debug files. Security ~~~~~~~~ - Added SAML2 SSO support. - Member invitations will now automatically expire after 30 days. - Fixed potential settings exposure if sentry was deployed in DEBUG mode. Misc ~~~~ - Settings have been greatly improved and updated to allow non-admins read-only access in many areas. - Added additional localization configuration for User Feedback dialogs. - Added account session history under Account Settings -> Security -> Session History. - Event data stored in Redis & RabbitMQ no longer uses pickle to encode data. All data is now encoded in JSON. - Various improvements to CSP and other browser Reporting API support. - Many features disabled via feature flags now indicate how to enable them in the UI. - Improved suspect commit generation for Java projects. - Repository access is now coupled to integrations access (`org:integrations`) - Various improvements to exception fingerprinting. v9.0 ---- The changelog for Sentry 9 is summarized. For full details, we recommend reviewing the full set of SCM changes on GitHub. There are far too many changes to list in Sentry 9, but the major highlights are documented below. There are also significant schema and data changes in this release, so plan for a huge amount of updates and a measurable increase in utilization of your data stores. Note: Major features which are undocumented here should be considered unstable, and are almost certainly behind a feature switch which is intended to be disabled. Dashboard ~~~~~~~~~ We've removed the project-manager-esque dashboard and brought back a team/card based selection as as a new sidebar for quick access. We will continue to iterate on what projects mean in Sentry going forward and this is simply a first step towards future changes. Settings ~~~~~~~~ A new global settings UI has been introduced. This is an attempt to unify all settings and make it easier to find the numerous configuration options throughout Sentry. Environments ~~~~~~~~~~~~ Environments have been moved up in the hierarchy and are now a first class citizen. While still early, this is intended to replace the need for having separate projects per environment. To use environments you simply need to ensure you're configuring the ``environment`` parameter in the Sentry SDK, and it should automatically propagate into Sentry proper. Owners ~~~~~~ A new owners feature allows you to define per-project rules for declaring explicit ownership. Much like GitHub's .gitowners, this helps Sentry understand who is responsible for a specific issue, and more importantly lets you limit email alerts to only the relevant parties. In addition to explicit owners, the release framework has expanded to support implicit owners and suspect commits. This currently only works with GitHub.com hosted repositories, but will be expanded to support other providers in future versions of Sentry. Teams & Projects ~~~~~~~~~~~~~~~~ Projects can now be associated with many teams, and teams can be referenced in comments and assignment as well as the new ownership features. Both Team and Project names have been deprecated, and the short name as been promoted as the canonical reference. Teams can be mentioned using #team-name. Integrations ~~~~~~~~~~~~ The beginnings of the new integration framework (plugin v3) have landed, along with an initial version of a new Slack integration. The new integrations framework will likely change in upcoming versions of Sentry, and we dont suggest building against it yet. Some caveats: - The Slack integration requires Slack workspace tokens. - While there is some early work of other integrations in this release, they are not yet GA nor are they exposed. API ~~~ Various portions of processing for the API will require additional dependencies and configuration (such as symbolic). - The 'secret key' for a DSN is no longer required and has been deprecated in SDKs. - Added support for Minidumps generated by Breakpad and Crashpad. - Added support for Cordova and Electron. - A new standard 'security report' endpoint has been exposed, which supports HKPK, CSP, Expect-CT, and Expect-Staple reports. - Improved reprocessing feature. - Improved support for native Debug Symbols (Apple, Linux). - The ingestion API is now JSON-schema based (though still fairly flexible). - Added setup wizard for various SDKs (e.g. react-native). Privacy Changes ~~~~~~~~~~~~~~~ As part of GDPR, the open source version of Sentry now changes the default policy for its beacon (the service which tells sentry.io statistics about open source usage) to **not** send the system's contact email address by default. You can still opt-in to this, which will allow us to contact you in the event of a major security issue. Misc ~~~~ - User Feedback will now send an email notification. - Almost all major UI components are now driven by the client-side application. - Avatars have been added for organizations. - Various improvements to issue hashing, specifically for native (iOS) and javascript applications. - Various improvements to Single Sign-On flows. You should update any external auth extensions you're using as part of this (sentry-auth-github, sentry-auth-google). - Support for SAML via sentry-auth-saml2. - Support for Google Cloud Storage as a storage backend. - A new Assistant to help onboard users. - Add count estimates to search results. - Superuser has been locked down significantlly with idle timeouts and secondary sessions. - 2FA can now be enforced for an organization. - Various performance around event processing to make up for all the added load we're forcing on ya'll. =) v8.22 ----- - BREAKING: Members will no longer be automatically granted membership to the default organization. You should use SSO or the invite flows. - Add support for SAML2 authentication through identity providers that implement the ``SAML2AuthProvider``. See getsentry/sentry-auth-saml2. - BREAKING: Group share urls have all been invalidated and must be regenerated. - Added the ability for users to disable workflow notifications on a per-project basis. Schema Changes ~~~~~~~~~~~~~~ - Added ``ProjectSymCacheFile`` model. - Added index on ``TagValue(project_id, key, last_seen)`` - Add ``GroupShare`` model. API Changes ~~~~~~~~~~~ - Added API endpoint to list members awaiting access v8.21 ----- - Ignore querystrings when looking up release artifacts - Add Visual Studio authentication provider for plugins. - Add "team" parameter to the project details API. - Added mailing list support (via ``List-Id`` header) to digest emails. Schema Changes ~~~~~~~~~~~~~~ - Added ``IdentityProvider`` model. - Added ``Identity`` model. - Added ``UserIdentity`` model. - Added ``ProjectTeam`` model v8.20 ----- - Make BitBucket repositories enabled by default - Add raw data toggle for Additional Data - Improved function name resolving for JavaScript sourcemaps - Add initial support for Redis Cluster. - Support a list of hosts in the ``redis.clusters`` configuration along side the traditional dictionary style configuration. - Better support for rendering rich JSON and URL encoded HTTP bodies by guessing the content type based on format heuristics. - Better support for sanitizing of string HTTP bodies. Schema Changes ~~~~~~~~~~~~~~ - Added index on ``ProjectPlatform(last_seen)`` column - Added index on ``GroupCommitResolution.commit_id`` - Enable ``citext`` extension in Postgres. - Dropped ``TagKey.project_id`` foreign key constraint - Dropped ``TagValue.project_id`` foreign key constraint - Dropped ``GroupTagKey.project_id`` foreign key constraint - Dropped ``GroupTagKey.group_id`` foreign key constraint - Dropped ``EventUser.project_id`` foreign key constraint - Added ``Email`` model - Change ``CommitFileChange.filename`` from varchar to text in PostgreSQL v8.19 ----- - Hide project filter when there are no projects to list. - Added lookup methods to constants to get a unique `integration_id` for a given event, and to get information (documention url, human readable name) from that id. Schema Changes ~~~~~~~~~~~~~~ - Added ``Integration``, ``OrganizationIntegration``, and ``ProjectIntegration`` models - Added ``Repository(integration_id)`` column v8.18 ----- - Expanded resolution options to allow current and explicit versions. - Added proguard support - Removed support for global dsyms. - Moved Queue admin page to React. - Replaced usage of jQuery Flot library with internal graphs. - Expanded ignore actions to include deltas and rates for both occurrences and users impacted. - Add a new option (`auth.allow-registration`) for determining whether registration is allowed on an installation. - Moved "create organization" into React. - Expanded React Form components (Form, ApiForm). - Moved "create team" into React. - add Slack to supported auth backends in social auth (for plugins) - Expanded resolution actions (on stream) to include current release and explicit release. Schema Changes ~~~~~~~~~~~~~~ - Added Release.commit_count - Added Release.last_commit_id - Added Release.authors - Added Release.total_deploys - Added Release.last_deploy_id - Added ``FeatureAdoption`` model - Removed DSymBundle - Removed DSymObject - Removed DSymSDK - Removed DSymSymbol - Removed GlobalDSymFile - Added GroupHash.state - Drop index on ``ReleaseEnvironment(project_id)`` - Drop index on ``ReleaseCommit(project_id)`` - Drop unique constraint on ``ReleaseEnvironment(project_id, release_id, environment_id)`` - Added GroupResolution.type - Added GroupResolution.actor_id - Added Project.platform - Added GroupSnooze.actor_id - Added ScheduledJob - Added GroupResolution.actor_id - Added ``ScheduledJob`` model - Added User.last_active API Changes ~~~~~~~~~~~ - Project keys endpoint will include all available keys by default. Use ``status=active`` to retain the old behavior. v8.17 ----- - Added @mentions to comments - Initial (internal) analytics abstraction. - Turned on reprocessing by default - Added basics for Data Forwarding integrations. - Changed the grouping and default `in_app` values for cocoa events. - Removed global dsym support. - Removed support for legacy apple report format. - The threads interface now contributes to grouping if it contains a single thread. - Added per-key (DSN) rate limits (``project:rate-limits`` feature). - Added tsdb statistics for events per-key. - Added ``sentry.deletions`` abstraction to improve bulk deletions. - Added basic workspace for Visual Studio Code. - Added hovercards for Issue IDs in activity entries. - Added event count options to ignore. - Added user frequency options to ignore. Schema Changes ~~~~~~~~~~~~~~ - Dropped ``GroupTagValue.group_id`` foreign key constraint - Dropped ``GroupTagValue.project_id`` foreign key constraint - Added ``Deploy.notified`` column - Added index on ``EventTag.date_added`` - Added unique index on ``Environment(organization_id, name)`` - Added unique index on ``ReleaseEnvironment(organization_id, release_id, environment_id)`` - Added ``EventUser.name`` column - Added ``UserReport.event_user_id`` column v8.16.1 ------- - Fixed issue in migration 0302 that prevented upgrading v8.16 ----- - Added data migration to create UserEmail objects for users whose primary emails did not have them - Time series data (used by graphs and other features) is now updated when groups are merged. - Added distributions to the release system to better support mobile apps - Update activity entries to reference issues by their short ID. - Added user notifications settings for deploy emails. Schema Changes ~~~~~~~~~~~~~~ - Added ``Distribution`` model - Added ``ReleaseFile.dist`` column - Added ``UserOption.organization`` column - Added ``CommitAuthor.external_id`` column API Changes ~~~~~~~~~~~ - Deprecate `dateStarted` in releases endpoints v8.15 ----- - Added overview for a release to view a breakdown of files changes, commit authors, new issues, and issues resolved - Refactor usage of ``sentry.app`` to use individual modules. - Implemented ``--concurrency`` on ``sentry cleanup`` - Added support for the new symbol server system to support native SDKs better. - Added deploy email - Added OAuth2 support to the web API. - Simplified management of secondary email addresses. - Fixed an issue where changing primary email address would remove the pre-existing verified email. - Disallow duplicating primary emails for users moving forward. - Resolve issues when commits with ``Fixes SHORTID`` are included in releases - Added support for associating debug symbols with iTunes applications and builds. - Added the ability to claim unassigned issues when resolving them. API Changes ~~~~~~~~~~~ - Added CommitFileChangeEndpoint - Added IssuesResolvedInReleaseEndpoint - Added ReleaseDeploysEndpoint - Added OrganizationReleaseCommitsEndpoint - Added EventFileCommittersEndpoint - Added ReleaseDeploysEndpoint Schema Changes ~~~~~~~~~~~~~~ - Added ``Deploy`` model - Added ``ApiApplication`` model - Added ``ApiAuthorization`` model - Added ``ApiGrant`` model - Removed ``ApiToken.key`` column - Added ``ApiToken.application`` column - Added ``ApiToken.refresh_token`` column - Added ``ApiToken.expires_at`` column - Added ``ApiToken.scope_list`` column - Added ``ApiKey.scope_list`` column - Added ``ReleaseHeadCommit`` model Security ~~~~~~~~ - Added encryption to the following fields: - AuthIdentity.data - AuthProvider.config - Option.value - OrganizationOption.value - ProjectOption.value - UserOption.value v8.14.1 ------- - Fixed issues related to migrations failing to finish for 8.14 - Fixed an issue where Release version names were erronously too restrictve. - Fixed an issue where "New Issues" counts would have all been 0 for releases created in 8.14. v8.14 ----- - Added new internal processing interface that supports multiple processing steps per stacktrace (for instance JavaScript + native) - Add IE10 legacy browser filter - Added data migration to merge legacy releases - Added support for symbolizing inlined frames and added heuristics for fixing up native stacktraces. - Removed instruction_offset as a frame attribute from stacktraces - [BREAKING] Quotas must now instantiate RateLimited and NotRateLimited return values. - [BREAKING] Redis quota implementations now return BasicRedisQuota instead of tuples. - Commits using the ``Fixes SHORTID`` annotation will now be tracked appropriately. - Release functionality is now detected at a project level to enable various features. - Added basic encryption facilities (``sentry.utils.encryption``). - Added support for "Fixes XXX, YYY" and "Fixes XXX YYY" notations. - Added bulk "Resolve in Next Release" to stream actions. - Various visual improvements to notifications, including the addition of transactions. - Plugins can now add tasks that run in sentry as celery workers. - Added the ability to verify TLS connections when fetching artifacts. - Added data migration to merge environments across an organization - Added ``timesSeen`` keyword to issue search. - Added feature signals, such as first time release tracking is enabled. API Changes ~~~~~~~~~~~ - Added OrganizationReleasesEndpoint. - Added context type ``app`` for cocoa events. - Added ``assignedTo`` param to ``/projects/{org}/{project}/issues/``. - Split out filtered stats onto Inbound Data Filters page - Added OrganizationReleasesEndpoint - Added OrganizationReleaseFileEndpoint Schema Changes ~~~~~~~~~~~~~~ - Added unique index on ``Release(organization_id, version)`` - Removed unique index on ``Release(project_id, version)`` - Added ``GroupCommitResolution`` model. - Added ``Environment.organization_id`` column. - Added ``EnvironmentProject`` model. - Added ``Project.flags`` column. - Added not null constraint to ``Environment.organization_id`` column. - Removed not null constraint on ``Environment.project_id`` and ``ReleaseEnvironment.project_id`` columns v8.13 ----- - Added individual filters for legacy browsers to improve customization of error filtering based on browser versions - Support for setting a custom security header for javascript fetching. - start using ReleaseProject and Release.organization instead of Release.project - Project quotas are no longer available, and must now be configured via the organizational rate limits. - Quotas implementation now requires a tuple of maximum rate and interval window. - Added security emails for adding and removing MFA and password changes. - Added the ability to download an apple compatible crash report for cocoa events. - Add memory and storage information for apple devices - The legacy API keys feature is now disabled by default. - Show Images Loaded section for cocoa events with version number. - Added registers to stacktrace for cocoa exceptions. - Fixed bug where workflow notification subject may not include a custom email prefix. - Added configurable subject templates for individual alert emails (`mail:subject_template` option). - Added data migration to populate ReleaseProject.new_groups - Moved organization settings to React. - Added support for managing newsletter subscriptions with Sentry.io Schema Changes ~~~~~~~~~~~~~~ - Added ``ReleaseProject.new_groups`` column. - Moved organization settings to React. Schema Changes ~~~~~~~~~~~~~~ - Added ``ReleaseProject.new_groups`` column. - Added ``OrganizationAvatar`` model. API Changes ~~~~~~~~~~~ - Added avatar and avatarType to ``/organizations/{org}/`` endpoint. - Provide commit and author information associated with a given release - Provide repository information for commits - Added new internal processing interface that supports multiple processing steps per stacktrace (for instance JavaScript + native) v8.12 ----- - Fix bug where some users would incorrectly not receive workflow notifications for projects they were subscribed to. - restructured dSYM processing. It now records errors in the symbolication process more accurately and will report system errors them to the internal logger. - Added data migration to backfill legacy release data - Added data migration to backfill legacy commit data - Added data migration to backfill legacy release file and environment data - Allow gziped/deflated JavaScript artifacts to be uploaded through the API. - Shared issue view no longer shows SDK. - Added ``activeSince`` to search (uses ``active_at``). - Added ``firstSeen`` to search (uses ``first_seen``). - Added ``lastSeen`` to search (uses ``last_seen``). - Added ``firstRelease`` to search (uses ``first_release``). - Fixed usage (and propagation) of ``Group.first_release``. - The + and - datetime search helpers now work with ranges (e.g. ``<=``). - Added the ability to download artifacts from releases. SDKs ~~~~ - The `repos` interface has been added. Schema Changes ~~~~~~~~~~~~~~ - Added ``Release.organization`` column. - Added ``ReleaseProject`` model. - Added ``ReleaseCommit.organization_id`` column. - Added ``ReleaseFile.organization`` column. - Added ``ReleaseEnvironment.organization_id`` column. v8.11 ----- - Ignore a ``null`` ``Origin`` header for authentication. - Added the ability to search for issues that you are subscribed to from the stream view. - Added the ability to search issues by their last seen timestamp. - Improved UI for password and API key fields used in integrations - Fixed bug where API responses would include incorrect `isSubscribed` values for issues. - Added support for switching to unsymbolicated tracebacks in cocoa. - Invalidate user sessions when changing password and 2fa settings. - Add configurable password validators to enforce password strength. - Send email to specific email when adding a new email rather than sending to all unverified email addresses. - Allow user to resend email verification to primary email address. - Added additional detail to subscription help text when viewing a group. - Add Asana to supported auth backends in social auth (for plugins) - Cleaner install UI when creating a new project. - Added support for recording symbols separately in frames independent of the function. - Reduce noisy Postgres logs from inserting duplicate onboarding rows. - Added device icons for Apple Watch and Apple TV - Added export action to group tag details. - Improved display of user tags. - Added 'transaction' tag which automatically populates from explicit culprits. - Added beginnings of repository management to UI (behind `organizations:repos` feature). Schema Changes ~~~~~~~~~~~~~~ - Added ``User.session_nonce`` column. - Added ``CommitFileChange`` model. - Added ``Repository.url`` column. - Added ``Repository.provider`` column. - Added ``Repository.config`` column. - Added ``Repository.external_id`` column. - Added ``Repository.status`` column. API Changes ~~~~~~~~~~~ - Added ``/organizations/{org}/config/repos/`` endpoint. - Added ``/organizations/{org}/repos/{repo}/`` endpoint. v8.10 ----- - New and improved UI. - Removed previously deprecated ``sentry celery`` command. - Replaced the ``events`` queue with ``events.{preprocess,process,save}_event``. - Added Danger (danger/danger) for monitoring various PR requirements. - Enabled organization weekly report emails for all organizations. - Add S3 filestore backend. - ``SENTRY_FILESTORE`` deprecated and replaced with ``filestore.backend`` - ``SENTRY_FILESTORE_OPTIONS`` deprecated and replaced with ``filestore.options`` - Add watchOS support for cocoa interface. - Fix support for internationalized Origins and raven-js. - SSO is now enforced to access data within any org that has it set as a requirement. - Improved rendering of weekly report email on mobile devices. API Changes ~~~~~~~~~~~ - Add ``/organizations/{org}/repos/`` endpoint. - Add ``/organizations/{org}/repos/{repo}/commits/`` endpoint. - Add ``/projects/{org}/{project}/releases/{version}/commits/`` endpoint. - SSO restrictions are now applied across session-based API authentication. Schema Changes ~~~~~~~~~~~~~~ - Added ``Repository`` model. - Added ``Commit`` model. - Added ``CommitAuthor`` model. - Added ``ReleaseCommit`` model. - Added index on ``GroupTagValue(project, key, value, last_seen)``. - Dropped index on ``GroupTagValue(project, key, value)``. v8.9 ---- - Added support for Elixir. - Improve performance for bulk deletions of Events and Groups. - Fix rate limit logic for single organization mode. - Added ``--no-repair`` flag for ``sentry upgrade`` for large installs. - Fixed bug with merging counters yielding the wrong values. - Require password confirmation when enabling/disabling 2fa. - Collapse repeated frames in the stacktrace UI. - Added weekly report emails behind feature flag. - Rebrand Rules as Alerts / Alert Rules. - Add frequency to Alerts. Schema Changes ~~~~~~~~~~~~~~ - Added unique index on ``Authenticator(user_id, type)`` v8.8 ---- - Added unique user frequency rule condition. - Fixed a major performance regression from 8.7 on the ``GroupTagValue`` model. - Various security fixes related to CSRF and XSS. - Server side filtering of event ingest. Schema Changes ~~~~~~~~~~~~~~ - Removed ``HelpPage`` model. - Added ``OrganizationMember.token`` column. - Removed ``OrganizationMember.counter`` column. v8.7 ---- - Removed "Replay Request" feature. - Upgraded underlying redis library to resolve some networking issues. - Added support for minified React exceptions. Schema Changes ~~~~~~~~~~~~~~ - Remove index ``GroupTagValue(project_id)``. - Added ``Rule.status`` column. - Added ``GroupRelease`` model. - Added ``Environment`` model. - Added ``ReleaseEnvironment`` model. v8.6 ---- - The ``message`` attribute on Event/Group is now purely used for search storage. - The ``sentry.interfaces.Message`` interface now contains a ``formatted`` attribute. - ``SENTRY_MANAGED_USER_FIELDS`` now defaults to an empty list. - Issues now render based on the type of data present, which are represented by the type and metadata attributes in API responses. - Stacktrace rendering has been greatly simplified and unified across languages. - Client's may now pass the 'contexts' attribute, which will eventually supercede 'extra'. - Various named contexts are now automatically generated and summarized for Cocoa and JavaScript issues. - Added JSON formatting for logs with ``system.logging-format``. - Added a ``loglevel`` command line flag to most commands. - Added two factor authentication support. - Added support for setting IP address of an event automatically on event submission for all platforms. - Added unsubscribe links to mails. - Added email verification. - Added ability to link/unlink Issues, support is dependent on plugins. - Can now toggle between minified/original code in stacktraces where sourcemaps were applied. - Can now upload release artifacts with tilde prefix (~) to omit protocol + host in URL lookups. Schema Changes ~~~~~~~~~~~~~~ - Added ``User.is_password_expired`` column. - Added ``User.last_password_change`` column. - Added ``UserEmail`` model. - Added unique index on ``GroupTagValue(group_id, key, value)`` - Remove unique index on ``GroupTagValue(project_id, group_id, key, value)`` - Added index on ``GroupTagValue(project_id, key, value)`` - Added ``GroupSubscription`` model. v8.5.1 ------ - Fixed issue with new Unsubscribe links in emails not working. - Fixed bug with raven-js compatibility with IE8. - Fixed bug handling IPv6 addresses. v8.5 ---- - Added option to upload a profile image as an alternative to Gravatar. - Deprecated ``sentry celery`` subcommand in favor of ``sentry run {worker|cron}``. - Breadcrumb interface now rendered in event UI. - Project notification settings page now indicates if current user is subscribed to active project. - User is now automatically redirected to login page if their session expires inside React client application. - Added new auth tokens to deprecate the usage of the older API keys. Schema Changes ~~~~~~~~~~~~~~ - Added ``ProjectPlatform`` model. - Added index on``EventTag`` index. - Added unique index on ``UserReport`` model. - Added ``UserAvatar`` model. - Added ``EventTag.group_id`` column. - Added ``ApiToken`` model. - Added ``Authenticator`` model. v8.4.1 ------ - Fixed issue in running 8.4 migrations on MySQL only. - Fixed issue that caused an infinite loop in ``patch_context.py`` under a race condition. - Silently ignore breadcrumb data coming from clients instead of showing an error in the UI. v8.4 ---- - Fixed bug that caused some email subjects to be generated without respecting the project subject prefix option. - Organization's can now opt-in to early adopter features (via organization settings). - User Feedback is now enabled by default. - Deprecated ``sentry start`` in favor of new ``sentry run``. - Access is no longer restricted by default to the domain matching ``system.url-prefix``. You must opt into this by setting ``ALLOWED_HOSTS`` explicitly. - Replaced Gravatar mystery man with letter avatars - Added 'Events Per Hour' graph to organization dashboard - Moved organization activity stream to main column from sidebar Schema Changes ~~~~~~~~~~~~~~ - Added ``DSymSymbol`` model. - Added ``DSymSDK`` model. - Added ``DSymObject`` model. - Added ``DSymBundle`` model. v8.3.3 ------ - [SECURITY] Fixed a bug which allows API keys more permission than granted within the organization. v8.3.2 ------ - Fixed bug affecting only MySQL users, see `GH-3030 `_. v8.3.1 ------ - Fixed bug that, ironically, prevented saving a saved search. - Fixed bug when merging groups and the counts are merged incorrectly. - Fixed bug that caused the Installation Wizard to never go away if using a non-smtp email.backend setting. - Fixed an ImproperlyConfigured issue from a cascading error. v8.3.0 ------ - Added initial support for per-project callsigns and short IDs. This feature is not exposed to users yet. - Improved static file delivery performance. - Added CLI tool to monitor queue sizes. ``sentry queues --help`` - Moved email configuration into ``config.yml``. - Added mailing list support (via ``List-Id`` header) for outbound email. - URLs for issues that have been merged now redirect to the issue that absorbed the requested issue. - Projects can now be bookmarked in the UI. - Dashboard is now the default view for an organization. Schema Changes ~~~~~~~~~~~~~~ - Added ``ProjectDSymFile`` model. - Added ``Counter`` model. - Added ``GlobalDSymFile`` model. - Added ``Group.short_id`` column. - Added ``sentry_increment_project_counter`` function for PostgreSQL. - Added ``Project.forced_color`` column. - Added ``GroupRedirect`` model. v8.2.5 ------ - [SECURITY] Fixed a bug which allows API keys more permission than granted within the organization. v8.2.4 ------ - [SECURITY] If being run in multi-organization mode, it was possible for a user to craft a URL which would allow them to view membership details of other users. v8.2.3 ------ - Fix compatibility with Redis 2.8.9. v8.2.2 ------ - [SECURITY] Fixed an issue where a superuser had the ability to inject data into audit logs through the admin UI. v8.2.1 ------ - Fix compatibility with setuptools 20.2 v8.2.0 ------ - SENTRY_DISALLOWED_IPS is no longer configured by default. If you're exposing Sentry outside of your company you may wish to configure this. - Do not require the documentation sync on repair to succeed. - Added basic organization on-boarding. - Project keys are no longer usable within the web API. - Allow requiring data scrubbing security options as an organization wide setting. - Added basic support for dsym symbol handling. This feature might leave behind temporary files when used in this version. - Added support for named Redis clusters for consistency in Redis connection management (GH-2693). This adds a ``redis.clusters`` section to ``config.yml`` (see documentation), and deprecates the ``SENTRY_REDIS_OPTIONS`` setting and per-backend configuration of Redis clusters. Schema Changes ~~~~~~~~~~~~~~ - Added ``ProjectBookmark`` model. - Added ``EventTag`` model. - Added ``OrganizationOnboardingTask`` model. v8.1.5 ------ - [SECURITY] If being run in multi-organization mode, it was possible for a user to craft a URL which would allow them to view membership details of other users. v8.1.4 ------ - [SECURITY] Fixed an issue where a superuser had the ability to inject data into audit logs through the admin UI. v8.1.3 ------ - Fix compatibility with setuptools 20.2 v8.1.2 ------ - [CRITICAL] Fix issue running ``sentry start`` with supervisord. - Fix compatibility with older versions of djangorestframework. - Updated member invitation emails. v8.1.1 ------ - Fix broken static files compiled from 8.1.0. :( v8.1.0 ------ - Default web server is now uWSGI (https://uwsgi-docs.readthedocs.io/en/latest/) to replace gunicorn. - New "Saved Searches". See: http://blog.getsentry.com/2016/01/19/introducing-saved-searches.html Schema Changes ~~~~~~~~~~~~~~ - Remove FK constraints from ``Event.group_id``, ``Event.project_id``, ``EventMapping.group_id``, and ``EventMapping.project_id``. - Added ``SavedSearch.is_default`` column. - Added new ``SavedSearchUserDefault`` model. v8.0.6 ------ - Fixed assignee dropdown not being clickable from touch devices. - Don't ignore ``SENTRY_WEB_OPTIONS['workers']`` value if set. - Fix Global Throughput dashboard in admin. - Fix display for Release names when they include special characters. - Added new ``sentry config generate-secret-key`` to help with regenerating a new SECRET_KEY value if needed. v8.0.5 ------ - [CRITICAL] Fixed another issue where performing a bulk merge could merge more than intended. We're pretty confident we got this all squared away now. :( - Fixed a bug where Issue assignment emails weren't being delivered. v8.0.4 ------ - Fixed an issue where notification digests weren't sending on some systems. v8.0.3 ------ - [CRITICAL] Fixed an issue where performing a bulk merge would merge more than intended. - Fixed saving the "Use Default Scrubbers" project setting - Fix syncing documentation when behind an http proxy v8.0.2 ------ - Fix ``IntegrityError`` after merging groups. - Be less noisy about ``Cannot digest timeline, timeline is not in the ready state.`` - Fix incorrect ``Install`` links. - Fixed being able to select a Chinese locale. - Multiple bulk deletion improvements and bug fixes. - Clarify ``Forcing documentation sync`` error messaging. v8.0.1 ------ - Ignore ``blob:`` urls in hashing algorithms. - Bump ``extra`` data size to 16k (previously 4k) - Fixed some odd behavior where superusers appeared as members of a team when they weren't. - By default, new superusers created through ``sentry createuser`` will be added as a member to a team, if there is only one team available. v8.0.0 ------ Version 8 of Sentry introduces a brand new frontend. Most of the application has been overhauled and rewritten on top of React and our web API. Additionally many new features have been exposed related to workflows (user assignment, snooze, resolution) and release tracking. This changelog does not attempt to capture the six+ months of incremental features and improvements in this release of Sentry. A Note on MySQL ~~~~~~~~~~~~~~~ Due to numerous issues over the years and recent discoveries that nearly all schema migration was broken in MySQL (due to some behavior in our migration tool), we've made the decision to no longer support MySQL. It is possible to bring the schema up to date on a MySQL machine, but Sentry's automated migrations will likely not work and require DBA assistance. Postgres is now the only supported production database. A Note on Workers ~~~~~~~~~~~~~~~~~ In the past it was supported to run Sentry's queue workers with the `-B` option to also spawn a celery beat process within the worker. This is no longer supported as it causes problems in some queue setups (in particular if redis is being used). Instead you should now spawn two independent processes. This is outlined in the installation documentation. Changes to Quotas ~~~~~~~~~~~~~~~~~ Team and System based quotas are now longer available. A new organization-relative project quota replaces them and can be configured via Rate Limits on the organization dashboard. Notification Digests ~~~~~~~~~~~~~~~~~~~~ Email notifications will now automatically rollup if the rate of notifications exceeds a threshold. These can be configured on a per project basis in Project Settings. Configuration ~~~~~~~~~~~~~ An Install Wizard has been added to aid in configuring necessary first-run options. Notably your Admin Email, and URL Prefix. The Installation Wizard will also help any future updates and aid when new options are introduced. A new configuration backend is now utilized for several options. These options can now be configured via the web UI. - A new configuration file, `config.yml` has been introduced. This new file is generated during `sentry init` the first time, and expected to be pointed at a directory. `config.yml` is the home for new configuration options that will be moved from the existing python config file. - ``SENTRY_URL_PREFIX`` has been deprecated, and moved to `system.url-prefix` inside of `config.yml` or it can be configured at runtime. - ``INTERNAL_IPS``, if configured, will now restrict superuser access to only users with both ``is_superuser`` and a matching IP. CLI ~~~ The `sentry` CLI tooling has been rewritten to be faster and less confusing. Static files ~~~~~~~~~~~~ Static files are now served with a far-futures Cache-Control header, and are versioned by default. If you were serving `/_static/` explicitly from your server config, you may need to update your rules or adjust the `STATIC_URL` setting accordingly. General ~~~~~~~ - Source builds now require Node 0.12.x or newer. - The ``public`` setting on projects has been removed - This also removes ``SENTRY_ALLOW_PUBLIC_PROJECTS`` - Clients which were only sending ``sentry_key`` and not using CORS will no longer be able to authenticate. - All incoming events now log through ``sentry.api``, which will additionally capture far more events with improved console formatting. - The 'sentry' user can no longer be removed. - The Cassandra nodestore backend was broken, and this has been resolved. - The ``has_perm`` plugin hook is no longer used. - Do not unconditionally map sys.stdout to sys.stderr - The HTTP interface's internal structure has greatly changed. Headers and Cookies are now lists. Body is now stored as a string. - The internal metrics backend now supports both Datadog and a simple logging implementation (useful in DEBUG). - Member roles can now view client keys (DSNs). - Documentation for configuration wizards is now pulled from docs.getsentry.com as part of the ``upgrade`` and ``repair`` processes. - The SSO flow for existing users has been greatly improved to avoid duplicate accounts. - Deletions are delayed for one hour and can be cancelled by changing the status back to ``VISIBLE``. - Membership permissions have been overhauled and have been flattened into a single tiered role. Additionally owners will no longer be automatically added to new teams. - ``NotificationPlugin`` now requires ``is_configured`` to be declared. - ``sentry.search`` should no longer be extended (``index`` and ``upgrade`` have been removed) Client API ~~~~~~~~~~ - The ``culprit`` attribute will now automatically be filled when not present. - The ``in_app`` attribute on frames will now be computed on event submission when not present. - The ``ip_address`` value will always be stored on the user interface when possible. - The user interface no longer accepts data missing one of the required identifiers. - The ``fingerprint`` value is now stored in ``Event.data``. - The ``environment`` attribute is now soft-accepted and tagged. Schema Changes ~~~~~~~~~~~~~~ - Removed the ``Project.platform`` column. - Removed the ``Project.organization`` column. - Removed the ``AccessGroup`` table. - Added ``EventUser`` table. - Added ``user.{attribute}`` to search backends. - Added ``Project.first_event`` column. - Added ``Release.owner`` column. - Added ``Organization.default_role`` column. - Added ``OrganizationMember.role`` column. - Added ``Broadcast.upstream_id`` column. - Removed ``Broadcast.badge`` column. - Added ``Broadcast.title`` column. - Migrated blob data in ``File`` to ``FileBlob``. - Removed ``File.storage`` column. - Removed ``File.storage_options`` columns. - Added ``OrganizationOption`` table. - Added ``GroupSnooze`` table. - Added ``GroupResolution`` table. - Added ``GroupBookmark.date_added`` column. - Removed ``User.last_name`` column. - (App-only) Renamed ``User.first_name`` to ``User.name``. - Removed ``Activity.event`` column. - Removed ``Event.num_comments`` column. v7.7.1 ------ - Pin Kombu dependency due to incompatibility. v7.7.0 ------ - The behavior of ``create_or_update`` has changed. If you're using it please see the updated function. - Added ``Group.first_release`` column. - Added ``SavedSearch`` model for future features. - Added ``Release.new_groups`` column. - The explore feature is now deprecated and links have been hidden. - Expanded various API endpoints for future usage. - Initial prototype of embeddable crash reports. This adds the ``UserReport`` model. - Added basic UI reporting for status checks. - Added celery/beat alive check. - Added celery app version check. - Added queue overview to internal administration. - Upped TSDB's storage of 10s to 60m of data. - Added protocol version 7 to client spec. - Adds ``fingerprint`` attribute. - The behavior of ``SENTRY_ENABLE_EXPLORE_USERS`` is now default and the setting has been removed. v7.6.2 ------ - Improved (fixed?) static bundling in various conditions. v7.6.1 ------ - [Security] An XSS vulnerability was addressed with low cardinality tags and the stream filter box: https://github.com/getsentry/sentry/commit/364b959811561de83f29893e105cc590224edbee v7.6.0 ------ This releases entirely removes Access Groups. If you're upgrading from an installation that had yet to migrate away from this system you should first upgrade to a previous version, run the migration wizard, and then continue the upgrade. - The project-wide Alert system has been removed (to be re-implemented in the future). - Access groups have been permanently removed. - Added 'access_token' to data blacklist. - The legacy (unused) search tables have been removed. - Upgrades must now be applied manually via ``sentry upgrade`` or with ``sentry start --upgrade``. (Don't forget to use ``--noinput`` if you're doing this via automated tooling!) - ``Event.checksum`` and ``Group.checksum`` have been removed. - The ``cleanup`` task has been removed (the command is still available). - Various optimizations to ``cleanup`` for Postgres users. - Within single organization mode users will automatically be added to the default organization. - Added ``Organization.merge_to()`` helper to assist with merging organizations. (i.e. in an on-premise install which wants to convert to a single organization) - New ``import`` and ``export`` commands now exist for creating backups of critical metadata (i.e. api keys, projects, user settings) v7.5.6 ------ - Improved (fixed?) static bundling in various conditions. v7.5.5 ------ - [Security] An XSS vulnerability was addressed with low cardinality tags and the stream filter box: https://github.com/getsentry/sentry/commit/364b959811561de83f29893e105cc590224edbee v7.5.4 ------ - Yet another case where valid team membership was being excluded. v7.5.3 ------ - Fix another case where valid team membership was being excluded v7.5.2 ------ - Correctly support SENTRY_PROJECT. v7.5.1 ------ - Fix case where certain pages were not correctly including valid team membership - Fix default user creation (regain automated signal) - Fix sampling of internal metrics v7.5.0 ------ This release removes the ability to login or create accounts using a social auth backend. If your install was based purely on social accounts you'll need to use the standard reset password flows to recover accounts. Redis must be at least version 2.6.12. - Interface.compute_hashes() now receives the platform of the event. - Server-side data scrubbers were incorrectly filtering invalid interface aliases. - The sensitive_fields option is now exposed in project settings. - The default logger name is now an empty value. - Celery has been upgraded to 3.1 and is now available at 'sentry.celery'. - Facebook, Google, and Twitter identities are no longer available. - Plugin's inheriting from TagPlugin are now based on v2 of the API. - Metrics (counters) are now collected both in sentry.tsdb and an optionally configured statsd instance. - Organizations can now toggle open membership which allows members to freely join/leave any team. - ProjectKey.user has been removed. - Organization API keys are now exposed in the UI. - Team.owner has been removed. - TeamMember has been removed. - PendingTeamMember has been removed. - Added OrganizationMember.counter. - Added 'sentry.db.postgres' optimized Postgres backend. - Added ReleaseTrackingPlugin and various release-focused endpoints. - Dedicated configuration pages for Release Tracking and Issue Tracking integrations now exist. - Several additions to the Release schema. - Notification integrations are now present within project's notification settings. - Fixed an issue with tag key deletion not following explicit constraints. v7.4.3 ------ - Corrected various issues involving sampled data. Things should now sample according to actual MATH. v7.4.2 ------ - Corrected invalid reference to SENTRY_ALLOW_REGISTRATION. v7.4.1 ------ - Correct an issue with AuthProvider's migrations on MySQL. v7.4.0 ------ - A new features subsystem was added, and many optional features are now run through it. - The 'add_organization' permission is no longer used. - The 'add_team' permission is no longer used. - SENTRY_ALLOW_REGISTRATION is deprecated in favor of SENTRY_FEATURES['auth:register']. - SOCIAL_AUTH_CREATE_USERS is deprecated in favor of SENTRY_FEATURES['social-auth:register']. - SENTRY_SERVER_EMAIL is no longer used. - Added first pass API at storing javascript artifacts via release APIs. - Improved error reporting for JavaScript source/sourcemap errors. - Improved configuration handling on sentry.cache. - Added various release API endpoints. - Added various organization API endpoints. - Added various tag API endpoints. - Sourcemaps will now always treat sourceRoot as a path. - Changed many permissions to use new sentry.access abstractions which are now scoped based, shared with the API scopes. - Initial first pass at the SSO subsystem. - The Sentry internal client will now aggressively prevent recursive errors, but allow more internal errors to be recorded to itself. - An XSS vulnerability with tag values not being escaped (on the group details page) has been resolved. v7.3.2 ------ - Fixed missing beacon task import. v7.3.1 ------ - Updated Gunicorn version and default configuration. - Fixed periodic task for beacon. v7.3.0 ------ - The SENTRY_ADMIN_EMAIL setting now exists, and should be the technical contact for the install. - Fixed an issue that would cause job fanout in deletions. - Notifications are now sent when someone assigns you to an event. - Release objects are now created automatically. - Changed team-based API endpoints to use slugs. - New API endpoints: - Help page list - Help page details - Group tag values - Project tag values - Moved JavaScript sourcemap processing into language extension. - Sourcemap processing errors are now annotated into the frame. - Refactored API to be scope-based permissions. - Added backend support for organization API keys. - Moved sentry_webhooks into builtins. - Added reporting Beacon (see docs). v7.2.0 ------ - A py.test plugin now exists to make extension testing easier. - A Mailgun webhook endpoint is now available for incoming email. - Added security token for JS source expansion. - Duct tape workaround for event navigation buttons repeating the same event. - Origins now support custom protocols as well as relaxed support on other components. - Minor optimizations for deletion tasks and endpoints. - Minor optimizations for Redis buffer. - Added the ability to enable/disable project keys. - Added audit log entries for project keys. - Added UI, API, and async task for deleting project tag keys. - Various fixes/improvements to regression windows. - Rules will no longer execute duplicate actions. - EventFrequencyCondition will now fire a maximum of once every 30 minutes. v7.1.4 ------ - Fixed an issue with hourly rollups not expiring accurately in TSDB If you've been running a 7.x series release for a while you may considering running a cleanup script to ensure erroneous values dont still exist in Redis: https://gist.github.com/dcramer/55a44904be883f8d03e1 v7.1.3 ------ - Resolved an issue with migrations we created in 7.1.2. v7.1.2 ------ - Fix migrations to ensure org/teams arent created with empty slugs. v7.1.1 ------ - Suggest realip module over X-Forwarded-For v7.1.0 ------ Plugin v2 ~~~~~~~~~ The beginnings of version 2 of the plugin interface have landed. This will expand over time but currently includes the following hooks: - get_actions - get_annotations - get_event_preprocessors - get_notifiers - get_rules - get_tags Other Changes ~~~~~~~~~~~~~ - crossdomain.xml no longer supports projects-by-slug. - A basic file storage abstraction is now available internally. - The project group list API endpoint now has pagination. - Several API endpoints have been added to public docs. - X-Forwarded-For is now handled automatically (and we do not support non-proxy installs). - Various tweaks to GroupMeta caching. - The raven-python Sentry server-specific client code is now part of Sentry. - Various improvements to tag rendering. - Various improvements to bulk deletion strategies. - Added NodeStore.multi_delete. v7.0.0 ------ Between version 6.4.x and 7.0 a significant number of changes have landed (approximately a years worth of commits). There are a large number of overall architecture changes, as well as various API compatibility changes. This document does not attempt to cover them all. As many things have changed, it's strongly recommended that you regenerate your ``sentry.conf.py`` (using ``sentry init``) and merge in your custom settings. Backwards Incompatible Changes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Django has been upgraded to 1.6 - The buffer API has been rewritten and the Redis buffer has had its performance greatly improved. - The UDP server has been removed. Threaded/async models or a buffer proxy are the preferred replacement. - The ``is_rate_limited`` plugin hook has been removed in favor of singular quota managers. - The trends feature has been removed until it can be reimplemented in a more scalable way. - Filters have been removed. Integrations should use the tagging infrastructure instead. - ``NodeStore.generate_id()`` now returns a base64-encoded UUID. - The API for interfaces has been rewritten. - ``GroupMeta.objects.get_value`` no longer errors when a value is missing. - ``sentry.plugins.sentry_sites`` has been removed. - The Search API has been rewritten and now powers the entire stream. - Removed Event.{logger,site,logger,level,culprit} references/columns. Legacy attributes for transitional behavior are available. - Removed Project.owner. - Removed Team.owner. - ``is_new`` in ``Plugin.post_process`` will **only** be set if the event is brand new. - Project-based URLs are changed to be organization scoped instead of team scoped. - Static assets are no longer bundled as part of the repository and are instead compiled during the sdist/installation phases (as needed). See installation notes for further information. - Graphs have been transitiong to ``sentry.tsdb`` (historical data is not preserved) - Workers must now also run ``celerybeat``. This can be done either via passing -B to worker, or by running another process: ``sentry celerybeat``. - Access Groups are now deprecated and will be removed in a version version. Organizations ~~~~~~~~~~~~~ Organizations are the new top-level item of your Sentry install. All membership and team management has been moved into the new organization hub. Generally for self-hosted installations you'll only have a single organization. Migrations will happen automatically for this, and while these were able to applied cleanly and automatically on getsentry.com, we suggest considering snapshotting your database before running them. Additionally consider doing this at a period of the day where users generally wont be tweaking options to team membership. TSDB ~~~~ A new time-series backend is now used (removing the legacy SQL-based graphing solutions). The only currently supported/bundled backend requires Redis. More information can be found in ``sentry.tsdb``. Rules ~~~~~ A new system for basic controls around notifications (called Rules) has been added. These are per-project hooks for doing dynamic customization of "what happens when a new event is seen?". Web API ~~~~~~~ The first offering a public API has landed. You'll find it with the new embedded docs (at /docs/). Protocol Version 6 ~~~~~~~~~~~~~~~~~~ Version 6 of the protocol has been introduced. The only change is the addition of the `release` attribute. BIGINT ~~~~~~ All integer fields have been replaced with bigint's. This migration is *not* automated (due to it causing locking) and if you need it locally you will need to sort out the migration on your own, as well as set `SENTRY_USE_BIG_INTS = True` in your configuration. Help Pages ~~~~~~~~~~ The beginnings of bundled documentation now exists. The defaults are generated from disk (see sentry/data/help_pages/). v6.4.0 ------ Some major backend changes are introduced in Sentry 6.4.0. django.contrib.auth ~~~~~~~~~~~~~~~~~~~ The builtin Django authentication module is no more. The Group and Permission models are no longer used, and the User model has been replaced with sentry.User. Search ~~~~~~ Search has been abstracted from the simple search manager, and now lives within ``sentry.search``. Currently only the Django backend is supported, but some sample code for Solr Cloud integration is also available. Event Storage ~~~~~~~~~~~~~ A new application called ``nodestore`` now manages the event blob data. By default it uses a Django-based backend (storing each node as a row in a table), however a Riak backend is included and fully supported. Additional Changes ~~~~~~~~~~~~~~~~~~ - Some initial support for time zones (user setting). - You can now choose which tag annotations are applied to the event stream via Project Settings -> Tags. - A new subsystem for handling email is available in ``sentry.utils.email``. - You can now receive email notifications for notes. - Charts now show tooltips describing the datapoint. - JavaScript sourcemaps now support embedded sources. - Stream annotations can now be customized to show any tags (not just number of users). - Stacktrace frames now get truncated down to a maximum length of 50. Protocol Version 5 ~~~~~~~~~~~~~~~~~~ - sentry_version should be sent as '5'. - The stacktrace interface now accepts a 'frames_omitted' tuple. v6.3.0 ------ - Most of the db utilities were refactored into ``sentry.db``. - The user interface now accepts an ``ip_address`` attribute. - User tracking will now use the ip_address attribute if available. - ``time_spent`` is now expected to be sent as an integer in milliseconds. - A new Notes feature is available for leaving comments on an event. v6.2.0 ------ - Added tracking to which users have seen which groups - The stream now reflects if you've viewed an event since it was created or regressed. - The group details page shows other users who have glanced at an event. - Streams which have recorded user data will now show the number of unique users an event has happened to. - Various stream polling fixes and improvements. v6.1.1 (Security Release) ------------------------- Sentry 6.1.1 is a security release which patches a remote code execution exploit. This only affects servers hosted public clients (e.g. raven.js). The following commit demonstrates the exploit, as well as the patch: https://github.com/getsentry/sentry/commit/5793c6cac19aeb7d2e19f9a09f4421b771af4306 v6.1.0 ------ - Added Rate Limit controls. v6.0.0 ------ Say hello to our new logomark! Version 6 of Sentry includes many changes within the core designed to improve future compatibility for various platforms. It also includes quite a number of incompatible changes, so it's recommended that plugin authors read through the notes carefully, and run some simply sanity checks. It also introduces version 4 of the protocol. Incompatible Changes ~~~~~~~~~~~~~~~~~~~~ - Django has been upgraded to 1.5. - django.contrib.auth.models.User has been replaced with sentry.models.User. - sentry_servers no longer exists, and the behavior is now always present. If you had it manually listed in INSTALLED_APPS, simply remove it. - Filters have been deprecated, and most functionality removed. See notes below. - TrackedUser, AffectedByUser, and Group.users_seen have been removed in favor of reusing the tagging architecture for user tracking. - Suspension of team members is no longer available. The feature was rarely used, and removing it greatly simplifies the auth logic in the API. - **The mail plugin can no longer be disabled, and all mail-specific options have been removed.** - Nearly all data within an event now has a fixed max size. See client developer documentation for details. - Project keys are no longer created for individuals by default - sentry.conf.settings has been removed - LOG_LEVELS, DEFAULT_LOG_LEVEL, and DEFAULT_LOGGER_NAME are no longer configurable. - DEFAULT_ALERT_PROJECT_THRESHOLD and DEFAULT_ALERT_GROUP_THRESHOLD are no longer configurable. - SENTRY_EMAIL_SUBJECT_PREFIX and SENTRY_SERVER_EMAIL are no longer used, and default to the appropriate Django options. - SENTRY_CACHE_BACKEND is no longer configurable. - SENTRY_AUTH_PROVIDERS is now AUTH_PROVIDERS. - Existing account recovery tokens are no longer valid. - sentry.utils.router has been removed. Protocol Version 4 ~~~~~~~~~~~~~~~~~~ - sentry_version should be sent as '4'. - Aliases are now recommended instead of full interface names. - The exception interface now supports a bound stacktrace, and all events (in all protocols) which contain both an exception and a stacktrace will be rolled up. This should be sent as the ``stacktrace`` attribute. - The exception interface now supports chained exceptions, and should be sent as a list of exception values. Check the updated documentation for ordering details. Alerts ~~~~~~ A basic alert system has been added. - Configured at the project level. - Signaled via Plugin.on_alert. Filters ~~~~~~~ The outdated filter system has been mostly removed. You should rely on tagged data for filter generation. If you were previously defining ``SENTRY_FILTERS`` you should remove it from your settings as it will be entirely obsolete in a future version. Other Changes ~~~~~~~~~~~~~ - Activity feeds will now attempt to filter out some duplicates. - Tags now show on the event details page. - Corrected some invalid behavior when storing tags with an individual event. - Plugin.get_tag_values was added. - A new team select dashboard exists if you are a member of multiple teams. - A new Sentry logo mark has replaced the simple text header. - C# has been added to experimental clients. v5.4.0 ------ SENTRY_PUBLIC now dictates whether or not a Sentry install should be considered accessible by all users or not. This should better solve the use-case of companies hosting a Sentry instance internally and not necessarily needing the permissions that teams give you. If enabled, all teams and all projects will be accessible all members (for any endpoint which does not require a certain level of access). Project.is_public now dictates the implied state of all events, but will not allow a non-member to browse events. Additionally, this includes the following other items: - [Important!] The URLS for social authentication have been moved. - Improved rendering of data values in all interfaces. - django-compressor was replaced with django-static-compiler. - A better defined public view of events (which removes several items from being visible). - Improved SourceMap discovery. - Most events will no longer cause a hard error when validation fails. Instead we attempt to drop any non-required data so that at least a partial event is stored. - MessageCountByMinute was renamed to GroupCountByMinute. - MessageFilterValue was renamed to GroupTag. - Syntax highlighting was disabled (pending performance solutions). - Added Team.date_added column. - Lots of various design changes. - Trending SQL queries can now be disabled by setting ``SENTRY_USE_TRENDING = False`` v5.3.0 ------ A brand new Sentry design has landed. Some things of note: - An improved dashboard. - Improved activity feeds on aggregate details. - Similar event navigation links on aggregate details. - Redesigned team management flow. Additionally: - Aggregates now happen on (project, checksum), which means events that have different levels or culprits can now be grouped together. - Sentry now requires authentication for all pages. - SENTRY_PUBLIC behavior has changed to signify the default state of projects. - Project slug's are now only unique within a team. v5.2.2 ------ - [New] The dashboard will now stream updates to the new and trending event components. v5.2.1 ------ - [Fix] Trends sorting options on the Stream page work correctly again. v5.2.0 ------ - [New] A new activity stream exists on event pages. - [New] Syntax highlighting now exists on all context frames. - [New] Support for JavaScript Sourcemaps now exists. - [New] The server will now fetch remote source files for JavaScript events. - [New] Sentry will now ask for your project's platform. - [Fix] Resolved -> Regressed state change is now atomic. - [Fix] ``cleanup`` now runs with lower resource overhead. - [Fix] Cookies will now be coerced to dicts if possible. - More (storage only still) work on user tracking. - Several indexes were added to speed up various queries. - Removed savepoint use in plugin hooks (99% of the time there were no queries). Additional, the following client protocol changes are part of this release: - Cookies should be not be sent by default. - POST data should not be sent by default. - Recommended values regexp for sanitizing credit cards was updated. - ``colno`` was added to the Stacktrace spec. - Timestamps that are more than one minute in the future are now discarded. - (Undocumented) Client-side support now exists for GET + Referrer store requests. We've also reduced the test suite time down to 25% of what it originally was (thanks, Alex!) v5.1.3 ------ A new user's affected-tracking mechanism is present (storage only). This will become available in the UX in a future version, and relies on the existing HTTP and User interface datas. - [Fix] Correct a bug with search queries. - [New] Group.users_seen will now track unique users when possible. - [New] Team and project owners can now change ownership (non-superuser). - [Fix] Counts are now formatted correctly when number of visible digits > 3. v5.1.2 ------ - [Fix] Option schema (key length = 64). - [Fix] Template interface now renders correctly. - [Fix] Update design on admin status pages. - [New] iOS client documentation. - Improved client documentation visuals. v5.1.1 ------ Several schema changes are made in this upgrade: - A new model: LostPasswordHash - Two new fields on ProjectKey: date_added and user_added - A new field on Event: platform - A new field on Group: platform The following changes are also part of this release: - [New] A new plugin, sentry-interface-types will now automatically tag the available interface types in an event. - [New] The platform value sent with an event is now recorded in the database. - [New] A recover account flow has been added. - [New] There is now a sticky nav on the event details pages. - [New] getting started page now shows if there's no data for a project. - [New] An API key management page now exists (under project settings). - [New] A tag overview page now exists for group details pages. - [Fix] Line numbers now show correctly in collapsed source context. - [Fix] Pending members now show correctly on the team management page (under project settings). - [Fix] The time since value now updates correctly when events change. - Various changes to how event details components render. - Various fixes for breadcrumbs and header styles. - Most plugins will no longer default to enabled on new projects. v5.1.0 ------ Minor point releases now signify major changes (5.1.0 is a major release). Bugfix and smaller releases will continue as normal. This release includes a very large set of changes from 5.0.0, including a new client protocol and an overhaul to the frontend code (specifically the JavaScript). If you're a contributor, take note that there is now a JavaScript test suite. You can run all test suites with the ``make test`` command. Protocol Version 3 ~~~~~~~~~~~~~~~~~~ Sentry 5.1 removes support for version 1.0 of the protocol, and maintains a compatibility layer for version 2.0. Additionally, the following changes apply to the new protocol: - sentry_version should be sent as '3' (not 3.0). - Signed messages are no longer supported (signatures are not calculated). - sentry_signature is no longer used. - sentry_timestamp is no longer used. - Clients must pass sentry_secret for server-side requests as part of the auth header. This check runs in the event that there is no Origin header sent. - version 2.0 supports validation of this, version 3 requires it. - The ``project`` attribute in the JSON packet is no longer required. - The ``platform`` attribute is now recommended. - The ``tags`` attribute is now recommended. Other Changes ~~~~~~~~~~~~~ - Aggregation 'Views' have been removed. - All streaming components are now powered by Backbone.js. - Frontend has been updated to Bootstrap 2.1. - The event stream now includes sparklines representing the last 24 hours of data for each event. - Trends have greatly improved. - Grouping events that have identical stacktraces other than the function name (e.g. dynamically generated functions) is not possible. - SiteFilter has been removed, as has the sites plugin. - If frames are included in a stacktrace that have the attribute ``in_app: false``, they will be hidden by default in the details view. - crossdomain.xml support is now available (see documentation). - The search feature now uses buffers to better handle write concurrency. - Early support for WSGI (should be functional) exists as ``sentry.wsgi``. - Many fixes around cache usage. v5.0.0 ------ - Variable versions of Django are no longer supported. Django 1.4.x must now be used. - Public projects are restricted to viewing without being authenticated. - The default behavior of Sentry is to now use timezone-aware datetimes everywhere. - Permissions have been refactored to be more precise. v4.10.0 ------- - A new IssuePlugin base is available. - Charts have been refactored to show 7 days worth of data. - django.contrib.staticfiles is now supported. - django.contrib.messages is now supported. v4.9.0 ------ Social authentication is now supported! By configuring several options (documented in the getting started guide), you can allow users to signup and login with accounts from several social services. Additionally users can associate their existing accounts (via a new identities panel in their account settings) with any number of these services. Currently, the following services are supported: * GitHub * Twitter * Facebook * Google v4.8.0 ------ Tags are now able to be created dynamically! See the documentation for more details on implementing it inside of your client. You can also configure which tags will show up as filters in the sidebar via your project's settings page. By default all tags will show up. v4.7.0 ------ User options are now available to plugins. The builtin mail plugin also now takes advantage of them. - sentry_mail will now use the alert_email option over your account email if specified. - sentry_mail now allows you to choose which projects to receive alerts for. - Numeric slugs will no longer return 404s. - Corrected the repair command with the --owner argument. v4.6.0 ------ Improvements to the dashboard are trickling in, with this update including: - Changing "Top Events" to "Trends" (if supported by your RDBMS) - Time interval selections for both widgets Plugins now have a new interface for registering themselves. Please see the developer documentation for notes on how to use ``entry_points``. Additionally: - Signed messages are now deprecated. Save yourself some CPU cycles, and rely on SSL. - A new plugin which tags user's email addresses. - Several UI cleanups in various areas, such as improvements to the account dropdown and lists of projects/teams. - Long awaited cleanup/fixes for applying the initial database migrations (sorry MySQL users). - Initial support for arbitrary event tagging (coming soon to a client near you). v4.5.0 ------ Builtin plugins have been refactored to be more concise. This includes changes to the servers, urls, and sites plugins. There is also a new builtin plugin:: sentry.plugins.sentry_useragents With these changes, it now makes it even easier to create a basic plugin that just handles extra "tag"-like data. Take a look at one of the aforementioned plugins for an example. Additionally: - The mail plugin now sends additional Sentry-specific headers. - Signatures are deprecated, and no longer required. - Several fixes regarding CORS support. v4.4.0 ------ Two new columns were added to the ``Group`` model: - ``resolved_at``: The datetime at which this event was marked as resolved. - ``active_at``: The datetime at which this event was marked as open. The dashboard's "New Events" will now use the active_at date rather than the original first seen date on an event. v4.3.0 ------ A new global dashboard now exists. The dashboard contains an event graph for all projects which you have access to, as well as a list of the top events, and new events. Additionally: - API endpoints now properly send no-cache headers. - Added a countdown to update buffers. v4.2.0 ------ Sentry now has support for buffering a majority of its counters via Redis. For more information, check the buffer section of the configuration documentation. - Nearly all race conditions are now handled correctly using distributed cache locks. v4.1.0 ------ Sentry now maintains full support for CORS requests from external hosts. This means that clients like raven-js will now able to securely send messages to Sentry, without compromising their secret key. In addition: - Trusted domains were removed. These were not fully implemented. - A new datepicker for selecting ranges of events. - raven-javascript and raven-ruby are now officially supported clients. - Added ``sentry repair``. v4.0.0 ------ Introducing Teams! Projects are now assigned to a single team, and that team may consist of many members. Additionally each team may own multiple projects. This makes it much easier to handle permissions across a single organization that has many projects. This update also includes initial changes to how filters work. ServerName Filter and SiteFilter are no longer specified in the ``FILTERS`` setting, but instead are included automatically if you load the respective ``sentry_servers`` and ``sentry_sites`` plugins. Additional changes: - Legacy data format is no longer supported (pre-Raven 1.x) - API will now validate data before sending it into the queue, enabling better debugging for clients. v3.8.0 ------ Plugins are now configurable per-project. This makes it easy to install a plugin globally and allow it to run only on selective projects. v3.7.0 ------ Several minor fixes, as well as a backwards incompatible change with filters. All filters must now accept the project argument in the initializer. The signature is now __init__(request, project). v3.6.0 ------ This version focuses on improving membership control. It includes the ability to revoke project members access temporarily (by suspending them), as well as revoking users (outside of Sentry) via the user.is_active flag. Additionally, it brings the beginnings of an "invite user" flow, allowing you to invite users who may or may not already have accounts in the system. We plan to improve this flow in an upcoming release to allow invitees easy registration within the system if they don't already have an account. v3.5.0 ------ Several improvements and additions have been made around the administration, including performance improvements. If you're utilizing the queue, the installation guide now recommends you switch off the database backend, and move to something more efficient (such as Redis). v3.4.0 ------ Eventlet is no longer used as the default worker for gunicorn, and thus is no longer installed by default. If you're using the udp worker, or ``send_fake_data`` you MUST install eventlet yourself. The recommended worker class for gunicorn is now ``gevent`` as it corrects some issues with async queries in psycopg2. v3.3.0 ------ The queue has been changed from direct Kombu, to utilizing Celery entirely. If you were already using the queue, the upgrade simply requires you to change "sentry start worker" to "sentry celeryd". v3.0.0 ------ Version 3 of Sentry is centered around a restructure of the internal services and the architecture for running those. It also includes improvements to the plugin architecture. The upgrade process should be trivial, just be aware that if you were using --config before you must change the way you pass it so that it's before the subcommand. For example if you were doing ``sentry start --config...`` the command would now be changed to ``sentry --config... start``. * Sentry no longer provides the ability to daemonize processes. This should now be done at the system level. * All of Sentry's CLI is now handled through Logan (https://github.com/dcramer/logan), which simply pipes commands to Django's internal system utilizing custom configuration. * Plugins now have a hook for managing some level of permissions (beyond the required defaults). * The plugin interface (IPlugin) is now documented. * It is now recommended that clients allow the Sentry server to compute checksums. v2.9.0 ------ * Plugins must now behave as singletons and be registered with a newly provided sentry.plugins.@register decorator. * The Bugzilla and Redmine extensions are no longer part of Sentry core. * Added a global overview of projects to the administration. v2.8.0 ------ * Added an Account Settings panel which allows users to change their name, email, and password. * The default Sentry server now correctly wraps itself in its own middleware. * Improved Real-time JavaScript. v2.7.0 ------ * Added first_seen and last_seen to all message filter values. * Added a new "since" option to the dashboard with a default value of 3 days. v2.6.0 ------ * The built-in webserver is now powered by gunicorn. * Cleaned up several admin pages and split them into sub-pages. v2.5.0 ------ * Corrected some queue behavior. * Resolve Feed now only resolves items active within current filters. * Handle unicode characters in POST body for replay request. * Ensure client side requests run checks on HTTP_REFERER * Adjust documentation for service settings. v2.4.5 ------ * Corrected indexing behavior to handle non strings. * If queuing is enabled the indexer will now queue it's jobs. * Moved group creation into a transaction. v2.4.4 ------ * Mail configuration value of send_to now correctly uses ',' as a separator (rather than ';'). * Changed rendering of sidebar widgets for all builtin extensions. * Added an event details slot to the sidebar pane for individual events. v2.4.3 ------ * Correct some behavior with MySQL on the groups pane. * Correct generated configuration behavior to use absolute paths for run and log folders. v2.4.2 ------ * Include DSN and member type on projects list grid. v2.4.1 ------ * Change appearance of resolve states. * Adjust user management to link username (which is required) and not optional fields. v2.4.0 ------ * Added user management for admins. * Resolved events should now appear differently. * Default membership access is now configurable. v2.3.2 ------ * Maintaining *some* level of support for SQLite. v2.3.1 ------ * Correct rendering of sites, urls, and servers on details panes. v2.3.0 ------ * The polling API and JavaScript have been refactored. Events now stream in (they generally do not update if they already exist), and will maintain correct ordering in the feed. This API is available for most sort options, excluding trends. * The builtin plugin's widgets have been fixed. * Sampling rates are now configurable. * Some minor design tweaks. v2.2.5 ------ * The \|date filter now forces things to UTC (it assumes local time). * Event templates have been updated to resemble groups. v2.2.4 ------ * Improve error logging in API. * Update Celery client code to use new send_encoded interfaces. * Change JS datetimes to use UTC. * Force clients which specify version 2.0 or newer to pass identification. * Better default logging configuration. * Adjust eventlet to monkey patch the world before any imports happen. * Adjust default configuration to specify LOG and RUN directories. * upgrade now correctly handles the delete ghosts argument. v2.2.3 ------ * Lower font size of counts on event list. * Align actions to right side (vertical). * Fix issue with long filters not transforming to selects. v2.2.2 ------ * Corrected event_id key to contain (project_id, event_id). * Adjusted project form to default the user to the current user when accessed by an admin. * Change sentry admin to be /manage/ to avoid any unintentional conflict with the Django admin. v2.2.1 ------ * Cleaned up several pages. v2.2.0 ------ * Sentry has a brand new design utilizing Bootstrap 2. * Superusers can now create projects for users. v2.1.3 ------ * Ensure we truncate tokens to 128 characters for SearchDocument. * Gracefully handle errors with indexing. * Gracefully handle errors with post_process. * Gracefully handle errors with regression_signal. * Fixed priority sort option not activating. v2.1.2 ------ * Fixed an issue that was causing signals to not be registered. * Made date the default sort order for aggregate stream. v2.1.1 ------ * Fixed an issue with indexing pre and post context on templates. v2.1.0 ------ * ``pytz`` is now a requirement. * Changed default TIME_ZONE to be "UTC". * Corrected some issues around how dates were localized. * Initial implementation of full-text search. * Fixed sending of regression_signal so it only happens if event has been marked as new. * Changed ProjectMember.get_dsn() to use request.get_host() which corrects a bug in some webservers. v2.0.2 ------ * ``start`` no longer performs ``upgrade`` as its problematic. * Initial queue usage (optional). * Fix reference to bookmark_querystring. * Added DSN to project member details page. v2.0.1 ------ * Skip logging of south in default server configuration as it proves to be problematic. * Remove use of deprecated logging handler in default server configuration. * Run ``upgrade`` as part of ``start``. * Fix GroupBookmark related_name to be sentry namespaced. * Correctly handle before_events() hook in polling responses. * Removed integrated install documentation as it is no longer officially supported. * Gracefully handle rendering errors with interfaces. * Correct a bug with default email options. v2.0 ---- Sentry 2.0 is a major release which contains many new features as well as some large rearchitecting of the codebase. If you were previously extending Sentry, it would be wise to test your extensions before upgrading. * Added project scoping to all data in sentry. * Added permissions to projects. * The authorization header is now X-Sentry-Auth to avoid certain default behaviors such as mod_wsgi's "don't pass HTTP Authorization header". * sentry.client has been removed * The default key is now base64-encoded. * sentry.interfaces are now used for coercing and rendering structured data. * The store endpoint has a new API. * The from_kwargs method has a new API. * The ``class_name``, ``traceback``, an ``url`` fields have been removed. * GroupedMessage was renamed to Group. * Message was renamed to Event. * Switched to Bootstrap framework. * Added "Replay Request" action for events. * Graphs can now be generated for Projects. * There is now a trends sort option for aggregated events. * Added ``sentry manage`` command. * Sentry now has its own isolated queues (using Kombu). v1.13.5 ------- * Level filters are now precise (they no longer show their level + messages from higher levels). v1.13.4 ------- * Updated message details page to resemble look and feel of group details. v1.13.3 ------- * Added back in the "raw traceback" view. v1.13.2 ------- * Counts will now render differently with large values (e.g. 13000 will now be 13k) v1.13.1 ------- * Search by message_id will now display a list of results if there are multiple matches. v1.13.0 ------- * Deprecated the Sentry client, and added Raven to the as the default builtin. * Removed Highstock and replaced it with an awesome OPEN SOURCE alternative, jQuery Flot. * Default Sentry server options should now work out of the box. * Packaged Google Web Font as part of Sentry. v1.12.2 ------- * Fixed infinite loop. v1.12.1 ------- * Stabilize migration schema (solves problem with index creation fail introduced in 1.12.0). v1.12.0 ------- * Adjusted message_id to include the checksum to avoid situations were the message_id that was generated did not exist due to sampling. v1.11.4 ------- * Several design improvements for group/message details panes. v1.11.3 ------- * Fixed a bug that was causing exception summary to not show. v1.11.2 ------- * Cleaned up message and group details pages (adding back some missing information). * Cleaned up some design around odd margins/padding. v1.11.1 ------- * Fixed a bug that would cause the admin (and potentially other modules) to get loaded multiple times. v1.11.0 ------- * Added license headers. * Removed ``sentry.helpers`` and ``sentry.routers``. * Global module versions are now cached to avoid continuous path walking and import overhead. v1.10.1 ------- * Fixed an issue that was causing servers to show logger names. v1.10.0 ------- * You can now pass ``extra={'stack': True}`` to logging methods to capture the current frames and their locals. * Code refactoring in various places related to stack extraction. * Denormalized graph data in MessageCountByMinute (stores at 5m intervals). * Denormalized filter counts into MessageFilterValue * Added message sampling (adapted from Yuri Baburov's patch). * Added SENTRY_MAIL_LEVEL setting. * Added SENTRY_MAIL_INCLUDE_LOGGERS setting. * Added SENTRY_MAIL_EXCLUDE_LOGGERS setting. * Added the ``level`` argument to the cleanup command. * The thrashed key is now set correctly in request.sentry. * Added user information to all messages that have ``request``. * Changed the hashing function for messages that include stacktraces to ignore the ``message`` and line numbers. * Much improved test coverage. v1.9.0 ------ * Load the Frequency chart asynchronously. * Frequency chart no longer shows for SQLite. * Switch graphing library to Highstock from Highcharts. v1.8.10 ------- * Ensure dictionary keys are coerced to strings. * Fixed path to missing_permissions.html. v1.8.9 ------ * Safely handle unpickling objects that may not have been stored in a valid format. v1.8.8 ------ * Changed ``sentry cleanup`` to use a range query. v1.8.7 ------ * Added "Clear Feed" option. * Version information will be read from pkg_resources if possible. * Cleared up documentation on configuration settings.. * Performance improvements to ``Client.send()``. * Added default 404/500 pages. * Added support for Django's LOGIN_URL setting. * Fixed a memory leak in the client (thanks to Ben Bangert). v1.8.6.2 -------- * Reverted change which required distribute. * Cleaned up configuration defaults. v1.8.6.1 -------- * Include distribute_setup.py in the MANIFEST to ship it in sdists. v1.8.6 ------ * Corrected an issue which was causing certain settings (like WEB_HOST) to not take affect in custom configuration files. * The Sentry server will now pull in default server settings, as well as ~/.sentry/sentry.conf.py if --config is not passed to it. v1.8.5.1 -------- * Fixed a bug which caused thrashing prevention to not function correctly. * Corrected an error in transform()'s recursion safety. * Changed packaging to use Distribute. v1.8.5 ------ * Pulled test suite out of the Sentry namespace to avoid conflicts in projects. v1.8.4.2 -------- * Added missing invalid_message_id template. v1.8.4.1 -------- * Fixed an error that was causing LOG_LEVELS to not display correctly. v1.8.4 ------ * The Sentry base client will now pass along the timestamp from when the message was generated. v1.8.3.1 -------- * Fixed a case where the client may hit a transaction aborted error when transforming variables. v1.8.3 ------ * Added several settings which were Django specific so that they can be configured isolated to the Sentry instance. * Graceful failover for when a cache backend isnt working properly and throttling is enabled. * Better rendering of non-dict variables when passed within extra data. * Graceful failover for searching on message_id's that aren't found. v1.8.0 ------ * Refactored Sentry server to run standalone (sentry --help). v1.7.5 ------ * Implemented new client/server storage API and signing methods. * Fixed a bug where accessing __sentry__ would sometimes cause errors on certain code paths. v1.7.4 ------ * Fixed a bug with potential recursion issues. * Fixed a bug with the storage API and unicode keys. v1.7.3 ------ * Storage API has better responses when data fails to decode, or you send a bad request. * Documentation improvements for JSON storage API. v1.7.2 ------ * All strings, lists, tuples, and sets are now shortened before sending to the server. Iterable data structures are truncated to the first 50 items, and strings are truncated to the first 200 characters. Both shorteners have configurable values in the settings. v1.7.1 ------ * Fixed a bug that slipped through with blocktrans usage. v1.7.0 ------ * Added ``score`` to ``GroupedMessage`` (schema change). * Added ``MessageIndex`` (schema change). * Added Async client (thanks to Yuri Baburov). * Added support for raw_post_data (thanks to Matthew Schinckel). * django-paging and django-indexer no longer need to be in INSTALLED_APPS. * Added an index for GroupedMessages.times_seen. * The ``score`` column will update atomically in PostgreSQL and MySQL. * Added the frequency sort option. * Better internationalization support. * Fixed a bug with Oracle's date truncation support (changed to hh24). * Respect TIME_ZONE by using auto_now_* on DateTimeField's. * Tests required Haystack and Celery are now skipped if module is not found. v1.6.10 ------- * Added JSON support to storage API. * Changed default client to use JSON format. v1.6.9.1 -------- * Fixed an issue with encoding to UTF-8 for Haystack. v1.6.9 ------ * Added URLs to default search parameters. * Fixed a bug to ensure template information is only added if its the correct loader v1.6.8.1 -------- * Search will now show when unauthenticated (e.g. when SENTRY_PUBLIC is enabled) v1.6.8 ------ * Search no longer allows filters. * Search no longer allows arbitrary queries without Haystack. * Added logger, level, site, server, and url to search index. * Haystack has been updated for further flexibility. * SearchFilter is now unused (you should update your configs). v1.6.7 ------ * Moved static media into /static/. * Added serve_static view to handle static media solely within Sentry. * Added SENTRY_STATIC_URL_PREFIX setting. v1.6.6 ------ * setup.py install will no longer install example_project. * Fixed an issue where __sentry__ would be called even if it wasn't a callable. * Fixed an issue where transactions would attempt a rollback when not managed while creating the sort index. v1.8.8 ------ * Set a last_message_id so when thrashing is hit there is still a point of reference for tracing. * Check correct permissions for Sentry. v1.6.4 ------ * Fixed a memory leak due to TextNode's being created from leading whitespace in realtime packets. v1.6.3 ------ * Fixed a critical bug in the Sentry JS namespace preventing it from loading. v1.6.2 ------ * LogHandler will attempt to pick up the request automatically using SentryLogMiddleware. * Updated AJAX CSRF support for Django 1.2.5. * request.sentry is now set in any event which has request as part of the parameters. v1.6.0 ------ * Added message references (uuid's) as message_id in Message * Fixed css compatibility issues with TextWidget * SearchFilter now allows searching by message reference id * Added Sentry404CatchMiddleware * Added SentryResponseErrorIdMiddleware * The `request` argument can now be passed into any ``create_from_`` method. (History beyond 1.6.0 is not present)