-
Fixed a crash after shared NSURLSession invalidate 334
-
Fix visionOS compilation errors. Note that visionOS is not yet officially supported. 327
- Set bugsnag.span.category to 'custom' for custom spans. 336
- Added rendering metrics to first class spans. 319
-
Added configurable limit to number of span attributes per span. 315
-
Added configurable span attribute limits for string and array types. 314
-
Make sure that no early network spans escape when automatic network span capture is disabled. 317
-
Add missing / misnamed fields to plist configuration. 316
-
Stop podspec from trying to compile xcprivacy files (which generates warnings). 311
-
Early spans (ended before Bugsnag starts) now get their sampling probability value properly updated. 310
-
Release process now updates BugsnagPerformanceSwift podspec rather than BugsnagPerformanceSwiftUI (which has been deprecated) 308
-
Use API key subdomain as default Performance endpoint 313
-
service.name
can now be set in the configuration. 299 -
A fixed
samplingProbability
can now be set in the configuration. 300 -
OnEnd span callbacks are now called on early spans (spans that ended before library start) once the library is started. 298
-
Span attributes can now be set by the user. 286
-
Array-of-primitives span attributes are now supported. 288
-
OnEnd span callbacks can now be registered in the configuration. These callbacks are called on all sampled spans. 289
-
Added more autoreleasepools to catch potential memory leaks, and fixed a retain loop in BugsnagPerformanceSpan. 293
-
Rename propagateTraceParentToUrlsMatching to the intended tracePropagationUrls in BugsnagPerformanceConfiguration. 287
-
Workaround for Swift namespacing issue that caused conflicts when BugsnagPerformanceSwift was built as an xcframework. 284
- Handle case where the user manually sets the network callback to nil. 281
- Span parentage APIs now take a BugsnagPerformanceSpanContext, which BugsnagPerformanceSpan is now a subclass of. You no longer need to assign a BugsnagPerformanceSpan as a parent. 280
- Fixed a crash on reportNetworkRequestSpan when networkRequestCallback is not set in the configuration. 277
-
Auto-inject OTLP traceparent headers into network requests sent via URLSession. 259
-
Added support for trace and span IDs to be added to bugsnag-cocoa error notifications if the library is present. 263
-
When we detect a long delay after viewDidLayoutSubviews where viewDidAppear still hasn't been called, assume that this edge case has been triggered and use the time of viewDidLayoutSubviews instead. 257
-
Detect app backgrounding earlier to detect interrupted app starts and cancel their spans (which would otherwise be VERY long). 262
-
Workaround for badly behaved NSURLSessionTask classes to avoid a crash. 267
-
Removed duplicate makeCurrentContext check that was leading to a memory leak. 268
-
Add package BugsnagPerformanceSwift, and deprecate package BugsnagPerformanceSwiftUI. 251
-
Add API to support UIViewControllers that use generics 250
- Guard against an edge case where an auto-captured URL request with a nil URL can crash the library if it's sent before Bugsnag is initialized. 253
-
Use ObjC strings instead of C strings to avoid ASAN lifetime race condition 247
-
Fixed the issue causing PrivacyInfo collisions when using Cocoapods 246
-
swizzleViewLoadPreMain setting is now false by default. When this config value is true, all custom view controllers are swizzled at app start, which may delay app start if there are many of them. 202
-
Detect pre-loaded views and correct their durations. These can occur in container views, such as
UITabViewController
when the view is loaded in anticipation of the user opening the next tab. The resulting spans are now marked with a "pre-loaded" suffix and the timings adjusted to start fromviewWillAppear
only. 236
-
Use recursive mutexes in places that might be reentrantly accessed. 242
-
Fix for potential incorrect span list size due to race condition. 238
-
Ensure that swizzled method return values are always propagated correctly. 202
-
Added support for deferring view load span end 230
-
Discard unfinished spans when the app goes into the background 228
This release increases the minimum supported iOS version of the library from 11 to 13.
- Added support for instrumenting SwiftUI views 222
-
Added privacy manifest to declare data use and required reasons for API usage 212
-
Detect app prewarming and discard any view load spans that would be distorted by it. 211
-
Fetching of network swizzle targets is now done on a BG queue in order to avoid a potential deadlock 218
-
Ensure span cancellation is done with concurrency protection 217
-
Renamed "AppStart/Cold" to "AppStart/iOSCold", and "AppStart/Warm" to "AppStart/iOSWarm" 207
-
Fixed some subtle swizzling bugs and harmonized all swizzling code 206
- Reduced impact on application launch time 197
- Network spans can now be controlled via user callbacks 189
- The span sampling attribute was not being set when equal to 1.0 195
-
Perform end time calculation using signed ints to prevent unsigned overflow 187
-
Don't retry sending payloads that are over 1MB 185
-
Cover every potential race condition in span attributes with a mutex 184
- Update persistent device id code to match bugsnag-cocoa 177
The following changes need attention when updating to this version of the library:
- Remove public access to the samplingProbability config option because it gets too confusing when mixed with server-side P values. 174
-
Loading the complete config from Info.plist 166
-
Store generated device ID and share it with the next release of bugsnag-cocoa 171
-
Removed logging [ViewLoadPhase/loadView] spans for ViewControllers that don't call loadView 172
-
Network spans will no longer be parents of other spans 175
The following changes need attention when updating to this version of the library:
- Replaced the constructor of BugsnagPerformanceSpanOptions with chained setters 161
-
Added
appVersion
andbundleVersion
toBugsnagPerformanceConfiguration
. 162 -
Added
startWithApiKey
toBugsnagPerformance
. 165
-
Added subseconds to iso8601 dates even on ios 11. 159
-
Fixed new warnings in Xcode 14.3 163
-
Fixed incorrect ui span start time 168
The following changes need attention when updating to this version of the library:
-
Improved span starting and ending performance 151
-
Fixed a date formatter crash on iOS 11.0 and 11.1 155
- Added view_load_phase spans 143
- Fixed a crash in the
SpanAttributesProvider.mm
153
The following changes need attention when updating to this version of the library:
- Renamed incorrectly named
makeContextCurrent
tomakeCurrentContext
in rest of the codebase 139
-
Removed C++ code from public headers 147
-
Protect against multithreaded span attributes access 146
-
Don't send network spans for failed requests 140
-
Don't capture file:// URLRequests 138
- Fix incorrect swizzle of
viewWillDisappear
134 (AniHovhannisyanAni)
The following changes need attention when updating to this version of the library:
- Renamed incorrectly named
makeContextCurrent
tomakeCurrentContext
inBugsnagPerformanceSpanOptions
128
- Swizzle methods earlier at process start rather than at library start to avoid race conditions. Swizzling can now be disabled using
bugsnag/performance/disableSwizzling
in yourInfo.plist
126
- Fix potential race condition in accessing NSURLSessionTaskMetrics.transactionMetrics 130
- Temporary Fix: Disable swizzling of
viewWillDisappear
while we work on a better solution 124
-
Fix: Incorrectly named span attribute:
view_load
->view_load_phase
122 -
Fix: Start network spans at the point that the network request starts rather than at the end (to ensure proper parentage) 119
- Fix: Doubles were erroneously converted to strings 120
This release adds nested span support.
The following changes need attention when updating to this version of the library:
-
Corrected name of
autoInstrumentNetworkRequests
configuration option (was previouslyautoInstrumentNetwork
) 112 -
Applied updated span and attribute naming (causes duplicate aggregations in your dashboard of App Start, Screen Load and Network spans from previous versions) 111
-
Added connection.subtype attribute to network spans 109
-
Added first_view_name attribute to app start spans 91
- Use app-extension safe version of UIApplication.sharedApplication 82
- Added enabledReleaseStages to BugsnagPerformanceConfiguration. 78
- Fixed compile issue with mac catalyst targets. 79
-
Turn up all warnings and sanitizers to 11, and fix detected UB behavior. 76 74 73
-
Safer background/foreground detection. 72
-
Corrected boot time fetch code. 70
- Restructure the example app for preview release. 66
-
Revert to simple Bugsnag.start API as originally envisioned. 64
-
Make sure span drain occurs on transition from BG to FG. 63
-
Fixed periodic span drain that wasn't occurring. 62
Initial preview release