Requested by: @adinauer
Merge target: (default)
Quick links:
Assign the accepted label to this issue to approve the release.
Targets
Checked targets will be skipped (either already published or user-requested skip). Uncheck to retry a target.
📋 Changelog
Behavioral Changes
- Collections returned by scope (e.g.
getBreadcrumbs, getTags, getAttachments) are shared state and should not be mutated. (#5541)
- Previously, when going through
CombinedScopeView, we were returning a copy where mutations didn't show up in the underlying scopes.
- This has now changed in order to reduce SDK overhead.
Date objects returned by SDK data model getters are shared state and should not be mutated. (#5603)
- Previously, these getters returned defensive copies for some date fields.
- This has now changed in order to reduce SDK overhead.
Performance
- Reduce writer buffer size from 8192 to 512 (#5544)
- Remove redundant event map copies (#5536)
- Optimize combined scope by adding an early return if only one scope has data (#5541)
- Reduce model access overhead by avoiding defensive
Date copies in SDK data model getters. (#5603)
- Reduce timestamp parsing and formatting overhead with Sentry-specific ISO-8601 handling. (#5602)
- Reduce JSON serialization overhead by creating the reflection serializer only when unknown-object fallback serialization is needed. (#5601)
- Reduce JSON serialization overhead by allocating reflection cycle-tracking state only when reflection serialization is used. (#5600)
- Reduce context serialization overhead by sorting key snapshots with arrays instead of temporary lists. (#5599)
- Reduce breadcrumb allocation overhead by creating the
Breadcrumb data map only when data is added. (#5598)
- Reduce JSON serialization overhead by lowering the initial
JsonWriter nesting stack size while preserving on-demand growth. (#5591)
- Reduce timestamp helper overhead by replacing unnecessary
Calendar usage in DateUtils with direct Date creation. (#5589)
- Reduce Android startup overhead by using the default timezone directly on older devices or when no timezone info is available in the locale. (#5587)
Requested by: @adinauer
Merge target: (default)
Quick links:
Assign the accepted label to this issue to approve the release.
Targets
Checked targets will be skipped (either already published or user-requested skip). Uncheck to retry a target.
📋 Changelog
Behavioral Changes
getBreadcrumbs,getTags,getAttachments) are shared state and should not be mutated. (#5541)CombinedScopeView, we were returning a copy where mutations didn't show up in the underlying scopes.Dateobjects returned by SDK data model getters are shared state and should not be mutated. (#5603)Performance
Datecopies in SDK data model getters. (#5603)Breadcrumbdata map only when data is added. (#5598)JsonWriternesting stack size while preserving on-demand growth. (#5591)Calendarusage inDateUtilswith directDatecreation. (#5589)