-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
/
Copy pathCHANGES
3313 lines (2609 loc) · 130 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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)
- ref: Set defaults for potential unbound errors (#29327)
- feat(workflow): Remove alert issue redesign flag (#29061)
- feat(symbolicator): Record metrics for projects being assigned and unassigned to the LPQ (#29229)
- ref(grouprelease): Buffer updates to GroupRelease.last_seen (#29311)
- fix(typo): 'set up' has a space (#29322)
- feat(discover): Added analytics for connecting Discover and Dashboards (#29286)
- fix(ui): Add optional chaining to releases adoption chart (#29317)
- chore(deletion) Remove aborted field from the model (#29297)
- feat(suspect-spans): Add new spans columns to transactions dataset (#29287)
- ref(appconnect): Do not sample metrics for app store connect (#29310)
- test: Stabilize release comparison snapshot (#29313)
- feat(consumer): Add batch timeout for offset commit (#29285)
- fix: Use counters instead of gauges (#29291)
- feat(ui): Add related issues to crash rate alerts (#29283)
- type comparisonDelta can be null in saved incidents (#29308)
- fix(cmp_alerts): Set type when comparison delta default value when null or undefined (#29306)
- ref(misc): Fix copy and formatting (#29304)
- feat(workflow): Adding 'this week' totals, dynamic average, and merging into one query (#29301)
- ref(teams): Alert team filter now uses team slug instead of team name (#29296)
- feat(cmp_alerts): Show change alert status in the metric alert builder chart (#29201)
- ref(tests) Move tests for withTags() HOC off of enzyme (#29300)
- feat(metric-alerts): Fire webhook to Alert Rule UI Component trigger action (#29298)
- ref(Alert Rules): Only pass inputChannelId for Slack (#29295)
- fix(migration) Fix exception in data migration 0233 (#29271)
- dev: Add pyright as a pre-commit hook (#29280)
- fix(deletions) Fix blocked organization integration deletions (#29269)
- ref(releasehealth): Implement get_num_sessions_per_project on metrics backend [INGEST-249] (#29208)
- ref(ui): Refactor releases adoption request (#29253)
- feat: Move events in the wrong queue to the right one [NATIVE-203] (#29207)
- ref(ui): Rename project session request (#29254)
- ref(ui): Rename release health request (#29255)
- test: Update flakey releaes snapshot (#29281)
- ref(ui): Replace releaseDetailsRequest with SessionsRequest (#29252)
- feat(ui): Format alert incident tooltip (#29257)
- ref(ui): Remove legacy release details codepaths (#29150)
- ref(stores): Make ProjectsStore useLegacyStore compatible (#29247)
- ref(js): Swap withConfig HoC to useLegacyStore(ConfigStore) (#29277)
- ref(release): Use bulk insert for CommitFileChange in set_commits (#29256)
- ref(ui): Convert metric rule create to functional component (#29274)
- feat(alert-rules): Add validation for schema fields attached to alert rules (#29226)
- fix(ui): Update localstorage when project is deleted (#29104)
- feat(metric-alerts): Create/update Alert Rule UI Components (#29236)
- fix(ui): Disable scroll hijack with cursor over zoomable charts (#29234)
- chore(suspect-spans): Add metric for span grouping calculation (#29266)
- ref(teams): Switch TeamCrumb to utilize useTeams (#29242)
- feat(workflow): Add team label to team insights dropdown (#29243)
- ref(js): Small condition refactor (guards) in EditableText (#29267)
- ref(js): Make SidebarPanelStore useLegacyStore compatible (#29268)
- feat(activity): Disable note input when no text is entered (#29264)
- fix(test): Fix flaky test for useTeams (#29214)
- ref(js): Convert ActivityNote to a functional component (#29250)
- fix(authenticator): Allow superusers to override 2fa-required org removal (#29089)
- ref(stores): Rename OrganizationActions.{fetchOrg -> reset} (#29246)
- fix(ui): Handle Adoption Stage if project slug invalid (#29227)
- feat(snql): Add support for array combinator in snql (#29047)
- fix(ui): Release comparison performance view for smaller screens (#29228)
- feat(discover): Beta Badges on Add to Dashboard buttons (#29262)
- feat(cmp_alerts): Return current and comparison count from stats api, instead of percent (#29245)
- feat(workflow): 'Team' Release Count API (#28836)
- ref(js): useLegacyStore for DemoHeader sidebar collapsed (#29251)
- feat(dev): On Apple arm64 install hosted confluent-kafka wheel (#29013)
- fix(discover): Check yAxis list contains equation functions when adding widget from discover (#29153)
- fix(ui) Fix issue stats chart colours in dark mode (#29162)
- fix(tests) Add a sleep to /issues test (#29259)
- fix(metrics): Fix some bugs in metrics-based release health [INGEST-249] (#29233)
- ref(ui): Refactor sessions existence checks (#29205)
- fix(ui): Block quote was ugly af (#29249)
- style(webpack): Don't use flag style comments for blocks (#29238)
- ref(js): Use localeCompare for sort in projectsStore#getAll (#29244)
- feat(jobs): Come struggle at react code with us (#29241)
- ref(js): Remove unused react-keydown (#29240)
- ref(js): Convert a number of withApi's -> useApi's (#29239)
- ref(slack): Indicate recipient in referrer (#29235)
- fix(activity): check that user exists when seeing if we can edit comment (#29156)
- feat(alert-rule): Render Alert Rule UI Component in Metric Alerts (#29103)
- fix(ui): install docs line height (#28998)
- feat(workflow): Collapse team misery on more than 8 results (#29199)
- fix(itunes): sms auth [NATIVE-265] (#28987)
- fix(appstore): Not all pages have includes (#28721)
- feat(symbolicator): Add a backoff timer when projects move in/out of the LPQ (#29100)
- feat(notifications): Format Crash Rate alert notifications [WOR-1412] (#29107)
- ref(releasehealth): Implement get_project_sessions_count on metrics backend [INGEST-249] (#29148)
- fix(ui): Do not show threshold type on session alerts (#29206)
- ref(ui): Refactor triggers chart to use SessionsRequest (#29204)
- feat(growth): Adding targeted upsell modal experiment (#29222)
- ref(sentry-metrics): Add basic caching layer to indexer (#29115)
- ref(sentry apps): Remove Zepel (#29218)
- ref(symbolicator): Add tests for LPQ tasks (#29088)
- fix(scim): fix error when member on team doesnt exist (#29217)
- fix(workflow): Fix issues reviewed when switching teams (#29200)
- feat(discover): enable multi y axis for previous period view (#28951)
- feat(discover): Previous period on charts (#29211)
- fix(snql): Orderby duplicate column should work (#29121)
- chore(performance): Drop legacy key transactions table (#29074)
- ref(vsts): Shadow deprecate VSTS plugin (#29202)
- feat(sentry apps): Add TaskCall to integration directory (#29164)
- feat(post-process-forwarder) Add header for transaction processing (#28908)
- feat(workflow) rate limit ProjectKeyStats endpoint (#29210)
- fix(ui) Improve Darkmode for ownership assignments (#29161)
- fix(api): Cast all api log values to string (#29213)
- fix: Return correct data in get_*_for_project methods (#29037)
- feat(internal-metrics): Add gauge support (#29091)
- ref(js): useTheme in DropdownLink (#29176)
- ref(js): Convert VitalChart to a functional component (#29168)
- ref(js): useTheme in BaseChart (#29175)
- ref(js): Convert performance/trends/chart to a functional component (#29172)
- ref(js): Convert CommandPalette to a functional component (#29174)
- ref(js): Convert RulesPanel to a functional component (#29197)
- ref(js): useTheme in doc-ui components (#29198)
- ref(js): Convert performance/charts/Chart to a functional component (#29171)
- ref(js): Convert DurationChart to functional component (#29166)
- ref(js): Convert TrendChart to functional component (#29165)
- ref(js): useTheme in the other IntegrationStatus (#29185)
- ref(js): Convert VitalsChart to a functional component (#29163)
- ref(js): useTheme in ActivityPlaceholder (#29182)
- ref(js): useTheme for TransactionRuleModal (#29195)
- ref(js): useTheme in HelpSearchModal (#29178)
- ref(js): useTheme for customRepositories/Status (#29196)
- ref(js): use{Api,Theme} for ReleaseEventsChart (#29193)
- ref(js): useTheme for ReleaseComparisonChart (#29192)
- ref(js): useTheme for SelectControl (#29191)
- ref(js): useTheme for projectsDashboard/Chart (#29190)
- ref(js): useTheme in ProjectBaseSessionsChart (#29189)
- ref(js): use{Api,Theme} in SidebarCharts (#29188)
- ref(js): useTheme in DurationPercentileChart (#29187)
- ref(js): useTheme in HistogramChart (#29186)
- ref(js): useTheme in IntegrationStatus (#29184)
- ref(js): useTheme in MetricWidgetChart (#29183)
- ref(js): useTheme in SvgIcon (#29181)
- ref(js): useTheme in IconBusiness (#29180)
- ref(js): useTheme in ProgressHeader (#29179)
- ref(js): useTheme in FeatureBadge (#29177)
- ref(js): Convert HealthStatsChart to a functional component (#29173)
- ref(js): Remove unused withTheme from TagsDisplay (#29170)
- ref(js): Remove unused withTheme from TagsHeatMap (#29169)
- ref(js): useTheme for ReleaseAdoption (#29194)
- feat(workflow): Add ratelimit to project stats endpoint (#29160)
- ref(integrations): `sync` helper (#29158)
- fix(dev): Install Python 3.6.x with --patch on Big Sur (#29149)
- ref(Slack): Allow users to enter a channel ID for alert rules on the front end (#29125)
- fix(deletion) Fix another failing organization (#29035)
- fix(ui): Revert change to disabled button tooltip (#29139)
- feat(discover): Added analytics to track widget visualization changes (#29126)
- fix(discover): fixed discover chart component forced to area on all multi series charts (#29075)
- feat(discover): Sort Add to Dashboard dashboards by My Dashboards (#29110)
- feat(dashboards): Add Aggregate Equations to y-axis (#29087)
- fix(discover): Pass referrer to bulk query (#29132)
- ref(models): Split up Models and Managers (#29114)
- fix(ui): Fix incomplete list of member's teams (#29134)
- ref(clubhouse): Shadow deprecate clubhouse plugin (#29082)
- fix(snql): Array join is not an aggregate (#29120)
- fix(chart-unfurls): Fix unfurls with top events (#29119)
- fix(appconnect): Improve unauthorized handling (#29108)
- ref(js): useLegacyStore for SystemAlerts (#29140)
- Revert "ref(js): Properly type hooks in HookStore (#29141)" (#29147)
- apply cr feedback (#29077)
- ref(js): Move logic for modal closing on browser history to a hook (#29146)
- ref(ts): Fix discrepency on ModalActions.openModal (#29145)
- ref(ts): Adjust how Modal{Options,RenderProps} are imported (#29144)
- ref(js): Correct useEffect dependencies in AppRoot (#29143)
- style(js): setHaspasswordAuth -> setHasPasswordAuth (#29142)
- ref(js): useLegacyStore for config in ThemeAndStyleProvider (#29137)
- ref(js): useLegacyStore for config in App (#29136)
- ref(js): Properly type hooks in HookStore (#29141)
- ref(js): useLegacyStore for config in AppRoot (#29138)
- ref(ts): Introduce CommonStoreInterface for useLegacyStore (#29131)
- fix(teams): useTeams now correctly sets initiallyLoaded (#29133)
- fix(workflow): Adjust insights padding, wrap controls on mobile (#29130)
- ref(integration): Split Tasks into Files (#28888)
- ref(js): Consistent naming for storeConfig objects (#29129)
- feat(workflow): Add team issues and time to resolution (#29095)
- feat(idp-migration): redirection for account confirmation link (#29003)
- ref(js): Convert Indicators to a function component (#29062)
- ref(ts): Store type definition consistency (#29097)
- style(js): Move components to the end of ToastIndicators file (#29122)
- ref(discover): Reduce the cardinality of this error (#29112)
- ref(js): Minor cleanup in dropdownAutoComplete/menu (#29123)
- ref(discover): Tagging when the viewed dashboard is prebuilt or not (#29124)
- feat(ui): Add searchbar to team settings (#29098)
- fix(ui): Revert change to disabled button tooltips (#29085)
- feat(js): adds id for sidebar item (#29113)
- py38: upgrade boto3 (#28693)
- feat(discover): Allow custom topEvents in chartcuterie (#29056)
- feat(dashboards): Re-introduce lazy-loading (#29060)
- build(ci): Fix `check migration` job (#29118)
- feat(comparison_alerts): Change alert threshold selector in metric alerts (#29027)
- devenv: allow for python 3.8, and prepare CI configuration for dual 3.6/3.8 (#29058)
- fix(ui) Add id attributes to org create form (#29111)
- ref(lint): Fix typos (#29102)
- ref(slack): Utils Directory (#28781)
- ref(teamwork): Shadow deprecate teamwork plugin (#29052)
- ref(discover): Run the top-events queries in parallel (#29055)
- feat(discover): Add beta feature badge to limit (#29050)
- feat(discover-snql): Use the snql query builder for events-meta (#29096)
- remove client discards from totals on orgstats projects (#29079)
- ref(discover): Change the colour of the others series to gray (#28929)
- fix(discover): Update the top-5 label regardless of flag (#29093)
- feat(suspect-spans): Change ingestion to project scope flag (#29076)
- fix: Remove clone annotations during function trimming (NATIVE-110) (#29105)
- ref(releasehealth): Implement get_project_releases_count on metrics backend [INGEST-249] (#29044)
- feat(metrics): Build sessions_v2 with metrics [INGEST-249] (#28870)
- feat(ui): Remove session alert 30m window (#29070)
- ref(releasehealth): Refactor session count calculation before implementing the metrics backend (#29078)
- feat(ui): Conditionally display filter on session alert (#29073)
- feat(ui): Distinguish sessions/users in alert summary heading (#29072)
- feat(ui): Scale alert rule chart (#29069)
- feat(ui): Remove discover button from session alerts (#29071)
- fix(ui): Add empty dependency array to useLegacyStore (#29086)
- ref(ts): Remove unused `validHookNames` (#29094)
- feat(ui-components): Get Alert Rule UI Components in Metric Alerts (#29008)
- feat(team): Allow useTeams to provide user teams or teams by slug (#28970)
- ref(sentry-metrics): Add MetricsKeyIndexer table (#28914)
- feat(release-comparison): Add performance section on release details (#28948)
- fix(symbolicator): Correctly start tasks asynchronously (#29048)
- feat(snql): Support array_join in snql (#29019)
- feat(discover): discover add to dashboard button uses y axis from query (#29046)
- ref(utils): Split `email` utils into files (#28614)
- ref(releasehealth): Rewrite get_release_health_data_overview to run on metrics [INGEST-249] (#28892)
- feat(discover): multi y axis support for discover landing page query previews (#29016)
- fix(discover): fixed cell actions dropping multi y axis (#29051)
- fix(ui): Firefox font smoothing (#29020)
- fix(workflow): Inactive alerts should not have a red arrow (#29054)
- feat(snql): Support limit by clause (#28746)
- chore(performance): Remove legacy key transactions (#29015)
- feat: Query realtime_metrics for low priority selection [NATIVE-203] (#28950)
- fix(reprocessing2): Import celery module correctly (#29066)
- ref(perf): Update AuthIdentity in smaller chunks (#29067)
- fix(ui): Format alert rule details chart axis and value (#29036)
- feat(ui): Add session chart to alert rule details page (#29034)
- ref(js): Convert PipelineView to a functional component (#28978)
- feat(workflow): Issue Status Breakdown API (#28979)
- ref(workflow): Alerts Triggered start/end improvement and dict key cleanup (#28981)
- fix(discover): Add a default for count_unique (#28952)
- chore(dashboards): Add a comment explaining widget limit (#29053)
- ref(ui) Update more deprecated forms including ones in manage (#28991)
- fix(growth): Create sample event btn redirect with project id (#29049)
- feat(growth): Alert Bar on issue page for sample events (#28864)
- fix(ui): Merged Issues fill color in dark mode (#28966)
- ref(debug-files): Buffer updates to reprocessing revision project option (#29041)
- feat(releases): Clear the commits associated to a release (#28831)
- feat(alert-rules): Append new alert rule payload for issue alerts w/ ui components (#28764)
- feat(discover): Allow saving queries with topEvents (#28927)
- feat(discover): Allow more options for the topEvents (#28926)
- feat(workflow): Group team alerts triggered by week (WOR-1407) (#29026)
- feat(integrations): Make `sync_status_inbound` a Task (#28906)
- feat(notifications): Parsed Versions (#28971)
- feat(dashboards): Add max widget limit (#28917)
- fix(discover): Actually set referrer on event-stats (#28962)
- Revert "fix: Erroneous apply_async call (#29032)" (#29038)
- build: Fix defining env var for webpack (#29030)
- Feat(metrics): Crash free breakdown on metrics backend [INGEST-249] (#28945)
- fix: Erroneous apply_async call (#29032)
- feat(cmp_alerts): Support `comparisonDelta` parameter in `OrganizationEventsStatsEndpoint` (#29028)
- feat(cmp_alerts): Allow `timeseries_query` to make comparison queries (#29018)
- ref(ui): Prepare alert metricsChart for sessions (#28992)
- feat(alerts): Adds Crash Rate Alerts to Metric Alerts (#28526)
- ci: Add native as code owners to LPQ-related files (#28972)
- ref(typing): Typing for the low priority symbolication queue (#29017)
- feat(symbolicator): Automatically add and remove projects to the LPQ based on their historical perf (#28714)
- feat(symbolicator): Add the ability to manipulate the automatic killswitch for the LPQ (#28757)
- fix(discover): Fix a bug with top events and issues (#28961)
- feat(workflow): Sort group tags alphabetically (#29005)
- feat(alert-rules): Properly save alert rules with UI components (#28659)
- feat(post-process-forwarder) Different errors and transaction forwarders (#28954)
- ref(integrations): Don't fetch done statuses twice (#28884)
- feat(team-insights): Update team selector to use TeamSelector (#28989)
- ref(select): Choices -> options accountNotificationFineTuning (#28810)
- chore(api): Add type hinting to organization events and organization events stats (#29006)
- feat(workflow): Handle insights users with zero projects/teams (#28923)
- feat(workflow): Time To Resolution API (#28910)
- feat(dynamic-sampling): Add autocomplete - INGEST-434 (#28947)
- fix: take lpq into account when determining from_reprocessing (#29009)
- ref(ui): Remove LightWeightNoProjectMessage (#28988)
- feat(appconnect): Some metrics about project refreshes (#28990)
- fix(symbolSources): Deal better with missing hidden secrets (#28996)
- ref(js): Mark exports in sentryTypes as deprecated (#28976)
- ref(js): Improve app boot ordering (#28980)
- perf(ui): Prevent unnecessary endpoint requests (#28924)
- fix(codeowners): Return missing member's email (#28907)
- docs(js): Add README explaining how the app boots (#28982)
- feat(auth): Add copy for account-linking verification (#28931)
- fix(deletions) Improve AlertRule deletions (#28999)
- fix(post_process_group): Fix bug where `has_reappared` can be undefined (#29004)
- fix(workflow): Update triggered alerts copy (#28965)
- build(deps): bump fork-ts-checker-webpack-plugin from 6.2.12 to 6.3.3 (#28394)
- feat(ui): Storybook Changelog page (#28995)
- build(ui): Upgrade size-limit to v5 (#28974)
- feat(idp-migration): Verified one-time-key and stored key in django sessions (#28775)
- fix(growth): Change sample transaction button text (#28997)
- ref(js): Rewrite ThemeAndStyleProvider as a functional component (#28977)
- fix(issue_alerts): Fix bug in event_attribute where we use the wrong attribute for message search (#28967)
- ref(releasehealth): Implement get_oldest_health_data_for_releases on metrics backend [INGEST-249] (#28943)
- ref(tasks): Safeguard post_process_group with try/except (#28986)
- fix(ui): Fix alerts supported search tags (#28985)
- perf(js): Avoid rebuilding routes w/ memoization (#28975)
- ref(js): Minor cleanup to InstallWizard (#28968)
- ref(ts): Add some missing typing (#28983)
- fix(semver): Set semver cols on pre_save (#28946)
- feat(ui): Add 30 minutes window to crash rate alerts (#28938)
- fix(ui): Refetch alert chart total when project changes (#28940)
- build(sdk): Bump Python SDK to 1.4.3 (#28984)
- ref(js): Convert App to a functional component (#28936)
- ref(js): Fix link to projects install from settings (#28969)
- ref(js): Replace react-keydown with react-hotkeys-hook (#28933)
- test(ui): Convert checkbox fancy to RTL (#28959)
- fix(deletion) Fix snuba query deletion problem (#28953)
- fix(slack): Unlink Identity (#28811)
- ref(js): Remove context usage from monitors (#28935)
- feat(team-store): Support user teams state in TeamStore (#28957)
- feat(ui): Move to Roboto Mono (#28956)
- feat(workflow): Team alerts triggered graph (#28845)
- ref(slack): Clean up tests (#28846)
- fix(integrations): User is None (#28955)
- feat(post-process-forwarder) Functioning batching batching_kafka_consumer (#28801)
- ref(integrations): f-strings (#28887)
- feat(workflow): GroupHistory model (#28691)
- feat(docs) Add docs for deletions subsystem (#28915)
- ref(deletion) Remove unused deletion tasks (#28799)
- ref(db): Explicitly use replica for platform stats task (#28897)
- Revert "ref(sdk): Testing default idleTimeout (#28868)" (#28949)
- fix(integrations): Integration ID TypeError (#28916)
- fix(ui): Force refresh projects/teams on project creation (#28886)
- test(ui): Convert clipboard tooltip component to RTL (#28930)
- feat(workflow): Team Alerts Triggered API (#28816)
- test(alert-rules): Add a barebones spec test for the RuleNode component (#28834)
- ref(integrations): Move functions to Model Managers (#28885)
- ref(snql) Add a migration to recreate subscriptions in SnQL (#28835)
- feat(perf): Generic landing widgets (all transactions tab) (#28861)
- feat(ci): python-deps workflow to install specific packages (#28901)
- ref: Bump symbolic version (#28911)
- ref(sdk): Testing default idleTimeout (#28868)
- ref(releasehealth): Implement get_changed_project_release_model_adoptions on metrics backend [INGEST-249] (#28895)
- fix: Properly export increment_project_duration_counter (#28941)
- feat(ui): Scale the alert creation chart (#28896)
- fix(interface-breadcrumb): Disable linked events (#28939)
- feat(interface-breadcrumb): Add breadcrumb eventlink (#28889)
- ref(js): Remove unused location context (#28928)
- ref(js): Wrap all route names in translations (#28934)
- ref(js): Convert AppRoot to a functional component (#28925)
- ref(hooks): Remove routes:organization-root hook (#28913)
- ref(js): Remove keydown usage in PlatformPicker (#28932)
- ref(js): Convert OrganizationDetails* to functional components (#28921)
- ref(routes): Fix legacy /:orgId redirects (#28918)
- feat(comparison_alerts): Change alert condition selector for issue alerts (#28733)
- feat(suspect-spans): Add group hashes to spans (#28184)
- feat(ui): Teams render props component (#28909)
- ref(discover): Update timeout message to include transaction (#28883)
- feat(discover): allow up to 10 top events (#28862)
- fix(ui): Trace navigator nodes with errors misaligned (#28903)
- ref(js): Convert DashboardsV2Container to a functional component (#28873)
- style(routes): Organize frontend routes.tsx (#28875)
- feat(idp-migrations): one-time account validation keys (#28732)
- fix(dashboards): skip renderTag when data.value is undefined (#28899)
- ref(api-logging): Added user agent to api logging (#28881)
- fix(ui): made event issue look like a link (#28880)
- fix(interface-breadcrumb): Fix missing html element for grid (#28904)
- ref(ui) Update org create to new form library (#28773)
- fix(discover): only disable y axis checkbox if at maximum selected (#28877)
- fix(dependencies): Add typing_extensions as dependency (#28894)
- fix(breadcrumbs): Fix missing html element in the grid (#28900)
- feat: Add metric for durations of symbolicate_event requests [NATIVE-185] (#28791)
- ref(sessions): Remove unused get_adjacent_releases_based_on_adoption (#28860)
- feat: Add metric for the rate of symbolicate_event requests [NATIVE-185] (#28565)
- fix(typing): Fix typing in master (#28893)
- fix(metrics): Tag reprocessing in time_to_process metric (#28891)
- ref(releasehealth): Implement get_release_sessions_time_bounds in metrics backend [INGEST-249] (#28824)
- fix(metrics): Remove UseCase from indexer calls (#28890)
- fix(ui): Fix alert threshold validation (#28857)
- feat(ui): Format alert session chart percentage (#28856)
- feat(ui): Do not show event type filter on sessions alert page (#28855)
- feat(js): Handle in_app detection for webpack namespace output (#28859)
- ref(test): Conver avatar.spec to RTL (#28852)
- chore: update cbtemulator image source (#28872)
- style(js): Spacing between conditions (#28874)
- fix(semver): Fix bug when negating a semver build filter (#28882)
- fix(discover): Allow invalid rollups (#28778)
- feat(discover): Add referrers to the events-stats endpoint (#28848)
- ref(discover): Add a deprecated list to discover (#28830)
- feat(ui): Use tabular figures in tables and charts (#28871)
- fix(ui): LayoutTitle is now a h1 (#28876)
- ref(js): Simplify performance routes (#28869)
- ref(js): Remove LightWeightOrganization type (#28838)
- fix(workflow): Remove color from 0% change in team user misery (#28865)
- fix(discover): saved queries without y axis default to count() when comparing for changes (#28863)
- ref(routes): Remove SettingsProjectProvider (#28842)
- fix(api-logging): leverage getattrs to reduce errors (#28866)
- ref(api-logging): Added several more metrics (#28844)
- feat(workflow): Switch project reports date range to weeks (#28847)
- ref(ui) Convert Saved Issue Search to new forms (#28839)
- (sentry-metrics): Metrics indexer consumer (#28431)
- ref(discover): Introduce some order to discover columns (#28832)
- feat(ui) Add a checkbox field to new forms (#28809)
- (discover): Remove user id from url query params (#28840)
- ref(release_health): Rename module to be consistent with function name conventions (#28829)
- ref(breadcrumbs): Rename breadcrumbs types (#28853)
- feat(deletions) Move organizationintegration deletes to ScheduledDeletion (#28803)
- fix(semver): Backfill missed semver releases (#28798)
- feat(ui): Add session chart to alert creation page (#28826)
- ref(releasehealth): Implement check_releases_have_health_data on metrics backend [INGEST-249] (#28823)
- ref(select): Remove useState in teamSelector (#28738)
- ref(js): Remove heavyweight organization (#28783)
- feat(comparison_alerts): Update subscription processor to perform comparison alerts (#28814)
- feat(comparison_alerts): Update issue alert api to support comparison values (#28661)
- feat(ui): Storybook DocsLinks (#28786)
- fix(cdc_search): Fix bug with groups that have no users when sorting by unique users (#28618)
- fix: safe_urlencode (#28812)
- chore(analytics): Add some analytics around chart unfurls (#28807)
- fix(alert-rules): Force the RuleNode select values to be strings (#28828)
- feat(dashboards): Add top n events support (#28734)
- feat(perf): Add tables to all tabs in landing v3 (#28806)
- fix(python3): Remove itertools.ifilter use (#28822)
- ref(releasehealth): Implement check_has_health_data on metrics backend [INGEST-249] (#28729)
- ref(ui) Convert newsletter form to new form components (#28785)
- fix(release-archives): Do not attempt to cache large ZIP files (#28818)
- feat(release-archives): Max. archive size option for disk caching (#28821)
- fix(dynamic-sampling): Fix minor bugs on mobile (#28820)
- fix(dynamic-sampling): Fix sampling rule not remembering trace flag - INGEST-411 (#28795)
- fix(semver): Fix failed semver search in issue search/discover when negative search returns too many results (#28813)
- feat(comparison_alerts): Translate delta percents into comparison percents in the api layer. (#28787)
- ref(select): Choices -> options monitorForm (#28755)
- ref(select): Choices -> options integrationListDirectory (#28756)
- fix(test): Preserve default feature flag values when patching in tests (#28686)
- fix(alert-rules): Set the correct default value for new SelectControl (#28804)
- feat(perf): Add page error context (#28805)
- feat(workflow): Save selected insights team in localstorage (#28774)
- chore(chart-unfurl): Revert Project permissions warning (#28802)
- feat(auth): Stub for automatically migrating to new SSO provider (#28621)
- test: Fix setup in test_flow_authenticated_without_verified_without_password (#28784)
- fix(semver): Handle NOT operator for releases list (#28713)
- fix(ui): Remove % from failure rate alert threshold (#28800)
- fix(discover): Fix a colour mismatch issue with other results (#28736)
- fix(workflow): Add alpha badge to project reports, add title (#28770)
- fix(discover): Handle field aliases with others correctly (#28751)
- fix(features): Skip the entity handler after batch checking (#28611)
- fix(webhook): Weird JSON array (#28545)
- Revert "ref(deletion) Remove unused deletion tasks (#28463)" (b8003f29)
- feat(snql): Use aliased expression instead of function hack (#28740)
- ref(deletion) Remove unused deletion tasks (#28463)
- feat: Add similarity.index queue (#28793)
- fix(discover): Should reload when payload changes while loading (#28653)
- feat(release-archives): Add spans to fetch_release_archive_for_url (#28790)
- feat(alerts): Add project incident aler to proj/issue stream page - NATIVE-216 & NATIVE-217 (#28726)
- fix(notifications): Include experiment fallback in the serializer (#28772)
- fix(codeowners): String split (#28780)
- feat(comparison_alerts): Return comparison delta in the metric alert rule apis. (#28711)
- feat(growth): CTA Performance Upsell in Issue Alert Email (#28752)
- ref(js): Remove organization.projects usage from getOnboardingTasks (#28747)
- ref(js): Remove organization.projects from noProjectMessage (#28767)
- bug(api): Fix logging so that it shows properly on stackdriver (#28777)
- fix(workflow): Move insights description on smaller screens (#28776)
- ref(select): Choices -> options metricSelectField (#28754)
- ref(select): Choices -> options metricWidget (#28753)
- feat(comparison_alerts): Add `comparison_delta` to metric alerts api. (WOR-1219) (#28707)
- fix(orgstats): remove client discards from timeseries (#28763)
- feat(alert-rules): Add rule settings modal to alert-rule-actions (#28548)
- ref(ui): Adjust idleTimeout back to 5000 (#28768)
- fix(ui): Adjust platform lists for mobile (#28766)
- fix(discover): Treat spans breakdowns as duration in filter (#28141)
- feat(ui): Storybook – more global components & content for typography page (#28680)
- fix(discover): Escape backslash when matching wildcards (#28372)
- feat(chart-unfurl): Prompt user to link Slack identity (#28630)
- ref(api): Initial attempt at api access logging (#28741)
- feat(discover): Turn tags into external links if they're urls (#28765)
- feat(plugins): Upgradable plugins to SentryApps don't have configurations (#28744)
- feat(workflow): Team misery table (#28758)
- feat(post-process-forwarder) Create batch worker (#28666)
- fix(api) Don't 500 on invalid broadcast id values (#28760)
- feat(discover): Rename series that match the other series (#28703)
- fix(discover): Handle existing queries correctly for other (#28742)
- feat(workflow): Restyle team insights page with cards (#28749)
- build(sdk): Update to Python SDK 1.4.1 and enable Client Reports (#28759)
- feat(ui): Add correct filters to crash rate alerts (#28720)
- feat(ui): Add correct intervals to crash rate alerts (#28717)
- ref(releasehealth): Implement get_release_adoption with metrics [INGEST-249] (#28725)
- fix(semver): Populate semver cols when get_or_create is called (#28722)
- ref(js): Remove usage of organization.projects from SidebarOrgSummary (#28705)
- ref(js): Remove organization.projects from MissingProjectMembership (#28750)
- ref(notifications): Clean up Team Notifications for Issue Owners (#28624)
- test(js): Remove organization.projects from projectSelector.spec (#28748)
- ref(js): Add missing type to EventWaitingIndicator (#28743)
- ref(kafka): Make batching_kafka_consumer work with existing consumer (#28677)
- py38: import conversions to collections.abc where applicable (#28432)
- py38: cannot set_result more than once (#28700)
- ref(js): Remove organization.projects usage in GroupDetails (#28735)
- test: stop relying on slash to replace since % is no longer escaped to \\% in python 3.7+ (#28698)
- ref(js): Remove organization.projects usage from IntegrationCodeMappings (#28708)
- fix: killswitches (#28739)
- feat(workflow): Team insights crash free table (#28600)
- ref(select): Choices -> options RuleNode (#28712)
- ref(select): Choices -> options IssueRuleEditor (#28710)
- fixing uncaught exception when project is misisng (#28690)
- fix(ui): Show adoption stats on releases list (#28715)
- ref(js): Remove organization.project usage from MonitorForm (#28706)
- fix(icon): replaced Clubhouse logo (#28612)
- fix(ui) Stack sidebar panels on top of global-selection (#28728)
- build(sdk): Lock Python SDK to 1.3.0 (#28727)
- build(sdk): Update to Python SDK 1.14.0 and enable Client Reports (#28671)
- fix(deletions) Fix servicehooks blocking project deletion (#28697)
- fix: Move captured variable before closure (#28627)
- feat(ui): Rename project details search placeholder (#28719)
- fix(intergace-breadcrumbs): Fix data overlap (#28718)
- fix(interface-crumbs): Fix grid column size on filter (#28687)
- feat(ui): Crash rate alert creation - part 1 (#28673)
- ref(js): Refactor OrganizationGeneralSettings (#28704)
- ref(js): Remove usage of organization.projects from ReleasesList (#28709)
- Fix: recursively match nested folders rule for Flutter grouping (#28669)
- ref(ui): Rename RuleConditionsFormForWizard and change legacy choices to options (#28662)
- ref(select): Choices -> options SentryAppExternalInstallation (#28619)
- ref(select): Choices -> options adminQueue (#28660)
- feat(codeowners): CodeOwners header CTA hook (#28602)
- fix(plugin): Clubhouse plugin upgrades to Shortcut (#28701)
- feat(deploy): Use full commit SHA for Sentry releases (#28688)
- py38: replace invalid assertRaises kwargs with simpler assertRaisesMessage (#28696)
- feat(growth): Sending analytics for admin requests (#28676)
- ref(js): Remove teams list from Organization type (#28692)
- meta: Add core-ui as owners of all components (#28682)
- fix(notifications): Do not truncate version string (#28695)
- fix(js): Make `confirm` prop of SelectField less complex (#28681)
- fix(jira): More explicitly excise `itemKey` in `removeRow` (#28664)
- fix(slack): Catch bad or expired tokens (#28689)
- fix(semver): Fix bug when sorting by unique users on the release page. (#28663)
- meta: Add prettierignore to stop package.json fights (#28685)
- style(js): Fix more "inline" style code-block comments (#28684)
- ref(js): Make ParentLabel a functional component (#28683)
- ref(ui): Move dashboards nav next to discover (#28678)
- feat(comparison_alerts): Add `comparison_delta` field to `AlertRule`. (WOR-1218) (#28665)
- ref(js): Cleanup notification/utils.tsx (#28679)
- ref(js): Remove unused constant (#28640)
- feat(discover): multi y axis checkbox dropdown (#28509)
- ref(sdk) Add ThreadingIntegration to sentry_sdk (#28632)
- ref(ui) Convert another batch of components to FCs (#28658)
- ref(interface-breadcrumbs): Apply feedback & fix minor issue (#28674)
- feat(suspect-spans): Add empty spans tab (#28315)
- allow orgs to modify/delete existing sso regardless of feature flag (#28648)
- ref(interface-breadcrumbs): Make it responsive - INGEST-306 (#28646)
- build(sdk): Update to JS SDK 6.13.0 (#28670)
- test(metrics): Write all session metrics in test [INGEST-386] (#28667)
- ref(appconnect): remove feature flag (NATIVE-241) (#28588)
- ref(metrics): Release health service INGEST-376 (#28598)
- feat(symbolicator): Check manual low priority queue kill switch when pre-processing events (#28586)
- feat(discover): Allow other to be toggled in discover (#28351)
- fix(ui): Resolved rule status (#28625)
- fix(discover): Negate conditions correctly for `other` (#28642)
- feat(comparison_alerts): Modify `BaseEventFrequencyCondition` to be able to perform comparison alerts (#28644)
- fix(trends): Removed feature check that was breaking ops on trends (#28657)
- ref(snql) Remove legacy API code (#28631)
- fix(symbolicator): Fix unit tests that were failing due to a missing decorator (#28645)
- chore(performance): Delete is-key-transaction endpoint (#28656)
- chore(api) Reduce spammy queries in ProjectSerializer (#28641)
- feat(snql): Support offsets in event builder (#28635)
- chore(flag): Remove last references to threshold flags (#28650)
- fix(dashboards): Add y-axis selections to new search filter (#28652)
- feat: Use semantic versioning for Sentry releases (#28638)
- chore(integrations): More diagnostic logging for inconsistent sentry apps (#28578)
- fix(grouping): Hide tree labels for non-mobile/native platforms [INGEST-337] (#28591)
- feat(ui): Add new session category to the alert wizard (#28590)
- fix(releases): Create dist in db if necessary [INGEST-240] (#28647)
- feat(store): Projects util now updates render-props projects when store emits updates (#28610)
- ref(teams): Update teamSelect to use useTeams hook (#28615)
- feat(alert-rule): Created an alert rule mediator (#28639)
- ref(select): Choices -> options AppStoreConnect (#28616)
- ref(deletion) Consolidate group deletion and improve logging (#28475)
- fix(deletions) Handle organizations with orphaned commits (#28636)
- chore: upgrade grpcio (#28623)
- audit log related stuff for project quotas (#28620)
- ref(ui): Add performance event view hook (#28572)
- fix(semver): Fix autocomplete tag functionality to use string prefixes rather than semver cols (#28622)
- feat(growth): Add default business for all experiment (#28633)
- feat(chart-unfurl): Add multi y-axis for chart unfurl (#28604)
- chore(performance): Remove legacy key transactions endpoint (#28383)
- feat: Add option for low priority metrics submission rate [NATIVE-185] (#28629)
- feat(symbolication): Add symbolication status to project details (NATIVE-209) (#28593)
- fix: Type error (#28628)
- ref(interface-breadcrumb): Convert main file to func & cleanups (#28594)
- feat: Add symbolicate_event_low_priority queue and task [NATIVE-184] (#28561)
- build(sdk): Update to JS SDK 6.13.0-beta.3 (#28626)
- feat(notification settings): Read team settings issueowners (#28617)
- ref(select): Change choices to options in http custom repositories modal (#28557)
- fix(deletions) Fix more stuck deletion (#28599)
- style(js): Correct comment on useTeams (#28609)
- fix(feature-flag): Lookup `notification-slack-automatic` less often (#28601)
- feat(team-selector): Implement useTeams hook for searching (#28547)
- fix(snql) Forgot queries are immutable (#28608)
- ref(ui) Improve docs for Form component (#28605)
- chore(cdc_search): Make `sample_rate` configurable in `callback_timing` function (#28583)
- build(sdk): Update to JS SDK 6.13.0-beta.2 (#28603)
- fix(notification platform): Remove hardcoded email provider (#28577)
- feat(spans): Display missing instrumentation docs for react-native (#28537)
- fix(ui): Dont show a dash when alert activity date is missing (#28584)
- meta: Bump new development version (6f11235e)
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