Release notes
Release history for Bugsee iOS SDK 7.x. For the current stable line, see the 6.x release notes. See the migration guide when planning your upgrade from 6.x.
7.0.0-beta7 (October 18 2026)
iOS SDK
Breaking changes
crashHandlerTypereplacesenableMachExceptions. SetBugseeOptions.crashHandlerType(BugseeOptionCaptureCrashHandlerType) to aBugseeCrashHandlerType:BSD,MachorMachAndBSD(Swift.bsd,.mach,.machAndBSD). The default isMachAndBSD.BugseeOptions.enableMachExceptions,BugseeOptionCaptureMachExceptionsandBugseeEnableMachExceptionsKeyare removed. The old keys passed as strings are ignored, and Bugsee logs a warning to the console: if your app turned Mach exceptions off, setcrashHandlerTypetoBSDto keep it that way. tvOS always uses BSD signal handlers.logExceptiontakes the domain and the number of frames to skip as parameters:logException(exception:domain:skipFrames:completion:)andlogException(name:reason:domain:skipFrames:completion:), plus shorter forms without them.BugseeExceptionLoggingOptionsandBugseeMergingRulesSkipFramesKeyare removed, andincludeVideohas no replacement.logError:labels:is removed, andlogExceptionno longer takes labels. Add labels to the report inbugseeAttachmentsForReport:, which receives every report.killDetection,BugseeOptionDetectAndReportKillandBugseeKillDetectionKeyare removed. The option had no effect in 7.x. Out-of-memory kills are still reported throughBugseeOptionDetectAndReportExit, which is on by default.
New features
- Feat: Hybrid crash handler. The default
MachAndBSDcatches both hardware faults and fatal signals raised by software, such as a Unity fatal error. Before, with Mach exceptions on, a signal raised by software was not reported unless it wasSIGABRT. - Feat:
crashSignals(BugseeOptionCaptureCrashSignals) chooses which fatal signals Bugsee intercepts:SIGABRT,SIGSEGV,SIGBUS,SIGILL,SIGFPEandSIGTRAP. CombineBugseeCrashSignalsvalues (Swift.abrt,.segv,.bus,.ill,.fpe,.trap). By default every signal is intercepted, except that the Xamarin and .NET SDKs leave outSIGSEGVandSIGBUS, which the .NET runtime handles itself. Leaving outSIGABRTalso stops uncaught Objective-C exceptions from being reported. - Feat:
deleteCollectedDataOnDevice(completion:)deletes everything Bugsee has collected on the device: the recording, reports not uploaded yet (their uploads are cancelled), crashes not reported yet and the performance baselines learned by anomaly detection. As with the other form, callstopfirst.
Fixes
- Fix:
logException,logErroranduploadWithSummarycalled right afterlaunch, before recording has started, now file the report, without video or logs. Before, the call was dropped silently. A call made while the SDK is not launched is now logged as ignored. - Fix:
logExceptionandlogUnhandledExceptioncall their completion on the simulator and on Mac Catalyst. Before, the completion was never called there. Nothing is filed on these platforms, and Bugsee logs a line that says so. - Fix: A report filed with
uploadWithSummaryis marked as sent from code. Before, its source was unknown. - Fix:
deleteCollectedDataOnDevice(includingIntermediate:completion:)calls its completion withNOwhen the SDK is not stopped. Before, the completion was never called. A launch called while a deletion runs, with either form, starts once the deletion has finished. - Fix:
BugseeOptionCaptureNetworkBodyWithoutTypeset toNO(the default) now leaves out a request or response body that has noContent-Typeheader. Before, the body was captured. WebSocket frames are kept. - Fix:
captureLogsset toNOnow also stops recording CocoaLumberjack logs and the console output forwarded by the React Native, Flutter and Unity SDKs. Lines sent withBugsee.logare always recorded. - Fix: A report from
createReportkeeps its own attributes. Before, creating a second report cleared the attributes of the first.isScreenshotChangedis set only when an existing screenshot is replaced or removed, and changing a report's attributes from several threads no longer crashes. - Fix (Unity): The app no longer crashes a few seconds after launch while Bugsee records the Unity view.
BugseeFeedback module
- No API or behavior changes.
7.0.0-beta6 (October 12 2026)
iOS SDK
New features
- Feat: The report handler (
onBeforeReportCreated/onAfterReportCreated) can edit a crash recovered on the next launch, however long it takes to call its completion, within the handler window. Before, an edit made a few milliseconds after the handler was called, such as labels set from async work, was missing from the recovered report.
Fixes
- Fix:
BugseeOptionCaptureVideoset toNOnow records no video and no touches. The report screenshot no longer follows it: turn the screenshot off withscreenshotEnabled = NO. - Fix:
BugseeOptionCaptureNetworkBodySizeLimitis applied at any value. Before, a value under 20480 bytes was raised to 20480. A body over the limit is skipped whole withSizeTooLargeinstead of being cut, a limit of0captures no bodies, and WebSocket frames of exactly the limit are kept. - Fix:
BugseeOptionCaptureBluetoothStatusset toNO(the default) now records no bluetooth trace, and Bugsee no longer creates a Bluetooth central manager in that case. - Fix:
BugseeOptionDetectAndReportEarlyCrashset toNOnow turns the early-crash protection off. Before, it was read by nothing. - Fix: A recovered crash, an app-exit report and an unhandled exception reported by a wrapper take the crash priority of the run that crashed, not the priority of the launch that recovered them.
- Fix:
deleteCollectedDataOnDevicenow deletes the captured data of the 7.x SDK. Before, it reported success without deleting it, and its completion always reported success. The completion now reports whether the deletion succeeded. - Fix:
setNameon a performance transaction sets its operation, as it does on a span. It does nothing once the transaction has finished.
Changes
- Change:
reportCloseButtonColorandreportSendButtonColorare deprecated. The report screen uses the system Cancel and Done buttons, so they have no effect.
Build and distribution
- The SDK version is stamped into the XCFramework's
Info.plist. PrivateHeadersare no longer shipped in the XCFramework.- The direct-download zip includes the
Toolsscripts.
BugseeFeedback module
- Feat: On first open, the feedback screen asks for an e-mail address ("Get notified by
email when the reply is available") before the chat, as on Android. Continue saves
it, Skip settles the screen without one, and closing it with the cross asks again next
time. A user identifier containing
@spares the screen. ThefeedbackEmail*theme keys now apply to it. - Fix: The feedback chat is painted with the theme's background color.
- Change: The module requires iOS 15 or later, matching the SDK. The UIKit chat for iOS 13 and 14 is removed.
7.0.0-beta5 (October 7 2026)
iOS SDK
Fixes
- Fix: The Bugsee SDK's own requests no longer show up in your reports (network capture and APM).
- Fix: A crash on the first launch after an install or an app update, before the app became active, is now reported. So are some crashes shortly after launch that were lost before.
BugseeFeedback module
- No API or behavior changes.
7.0.0-beta4 (October 6 2026)
iOS SDK
New features
- Feat: iPhone Duo support:
- the recording follows the app between the cover and the inner display as the device is folded and unfolded;
- fold traces record the posture and hinge angle (iOS 27.1 and later);
- display traces list every screen.
- Feat: Multi-window recording. On iPad (Split View, Stage Manager) and iPhone Duo, every window of the app on the screen is recorded.
Fixes
- Fix: Attributes, the user identifier and the default severity now reach reports. Before, crash and error reports had no severity.
- Fix (security): The internal log attached to each report no longer contains Bugsee's tokens or the full URL of some of your app's requests.
- Fix: The video now follows window and screen size changes during a session, such as an iPad window being resized.
- Fix: In a landscape app, device info now reports the screen's pixel size in portrait, as it does for points.
- Fix (React Native, Flutter, Unity): An unhandled exception reported by the wrapper is now the crash report, instead of the native crash that followed it.
BugseeFeedback module
- No API or behavior changes.
7.0.0-beta3 (September 28 2026)
iOS SDK
Breaking changes
- Mach exceptions are caught by default:
BugseeOptionCaptureMachExceptionsis nowYESon iOS and visionOS. Set it toNOto keep BSD signal handlers. tvOS always uses BSD signal handlers. log:level:enforceFiltering:is renamedlog:level:requiresFiltering:.BugseeReport:typeis read-only,labelsis no longer nullable, and there is no public initializer.- A severity outside 1–5 is ignored, on the report, in
BugseeReportFieldsand in the default priority options.
New features
- Feat: Change the report before it is sent. In
bugseeAttachmentsForReport:, theBugseeReportlets you change the summary, description, email, severity, attributes, labels and attachments, as on Android. - Feat: Mouse input. Mouse buttons, modifier keys and scrolling are recorded with touches.
- Feat: Wrapper SDK support: the React Native, Flutter and Unity SDKs can record their own logs and network events and change reports. Apps using the iOS SDK directly see no change.
Fixes
- Fix: A log filter that throws an exception is now reported once in the SDK's internal log instead of failing silently.
BugseeFeedback module
- No API or behavior changes.
7.0.0-beta2 (September 18 2026)
iOS SDK
Requirements
- The minimum deployment target moves from iOS 13 to iOS 15, and from tvOS 13 to tvOS 15. Xcode 27 no longer builds for anything older. visionOS 1 is unchanged.
- Swift Package Manager is the only distribution channel for 7.x. CocoaPods and Carthage
are retired. A manual
Bugsee.xcframework.zipdownload remains available.
Breaking changes
- Rectangles added with
addSecureRectangle:now hide touches as well as pixels, the same way secure views already did. - The React Native log hook (
BugseeReactNativeLoggerandBugseeLogger.reactNativeLogger) is removed from the core framework. The React Native 7.x SDK installs its own hook, so no app code is needed.
New features
- Feat:
getHostLaunchOptionsreturns the launch options your app supplied, as the SDK accepted them. Together withgetLaunchOptionsthis matches Android. - Feat: Lifecycle events. The delegate now receives
RelaunchedAfterCrash,BeforeReportAssembled,AfterReportAssembled,ReportAssemblyFailed,BeforeReportUploaded,AfterReportUploaded,ReportUploadFailedWithFutureRetryandReportUploadFailed. None of them were emitted in beta1. - Feat: Wrapper SDK support for React Native, Flutter and Unity: the wrapper can contribute its own view hierarchy and secure rectangles, receive lifecycle events, and adjust a report before it is assembled. Apps using the iOS SDK directly see no change.
Fixes
- Fix: With
BugseeOptionCaptureBreadcrumbsenabled, astoporrelaunchthat landed while capture was still starting could deadlock the main thread, and thestarted:callback was never called. - Fix: Crash reports whose instruction window could not be captured now still carry the crashing address and the CPU architecture.
- Fix:
setWrapper:now populates the wrapper information attached to each session. Previously only thewrapper_infolaunch option did.
BugseeFeedback module
New features
- Feat: The
BugseeFeedbackpackage is published for the beta. Addhttps://github.com/bugsee/feedback-spmat7.0.0-beta2; it depends on the matching core version, iOS 15 or later.
Fixes
- Fix: Stopping the SDK now stops the chat's polling and outgoing requests, a stop during an in-flight send no longer delivers the same message twice, and the SwiftUI chat can dismiss the keyboard.
7.0.0-beta1 (September 15 2026)
First beta of the 7.x line. See the migration guide for the full list of API changes and the order to apply them in.
iOS SDK
Requirements
- The minimum deployment target moves from iOS 12 to iOS 13.
- tvOS 13 and visionOS 1 are now supported.
Breaking changes
- Every option constant is renamed into the
BugseeOption*family, grouped by area:BugseeOptionDetect*,BugseeOptionCapture*,BugseeOptionReporting*,BugseeOptionConfig*,BugseeOptionPerformance*. Launch options passed as hard-coded strings rather than constants are no longer recognized and fall back to the defaults. - Feedback is no longer part of the core framework.
showFeedbackController,setDefaultFeedbackGreeting:and thebugsee:didReceiveNewFeedback:delegate method are removed. See theBugseeFeedbackmodule below. pauseandresumeare removed.- Renamed:
showReportController*toshowReportDialog*,setView:asHidden:toaddSecureView:/removeSecureView:,addSecureRect:and friends toaddSecureRectangle:,registerEvent:toevent:,traceKey:withValue:totrace:value:,registerNetworkEvent:toaddNetworkEvent:,setEmail:tosetUserIdentifier:,appearancetogetAppearance,activeSpantogetActiveSpan, andtestExceptionCrash/testSignalCrashtotestCrash. - Removed with no replacement:
getDeviceId,accessToken,isViewHidden:,hideKeyboard:,logAssert:withLocation:, thesetDefault*Priority:setters (use the matching launch options) and theincludeVideo:overloads ofuploadWithSummary:andlogError:.
New features
- Feat: Breadcrumbs. The SDK collects them automatically once
BugseeOptionCaptureBreadcrumbsis enabled, andBugsee.addBreadcrumbrecords your own.setBreadcrumbFilter:redacts or drops them. - Feat: Blackout.
startBlackout/endBlackoutsuppress everything that describes the screen — video, the report screenshot, touches and the view hierarchy — while logs, network events and traces keep being captured. - Feat: Notification relay.
Bugsee.notifysends a message straight to your messaging integrations without creating an issue and without attaching video, logs or events. - Feat: New issue detection — hangs, HTTP errors, main-thread misuse, anomalies and
frustration, each behind its own
BugseeOptionDetect*option. - Feat: User identity.
setUserIdentifier:/getUserIdentifier/clearUserIdentifierrecord an arbitrary identifier in place of 6.x's email-only API, andgetAllAttributesreturns every attribute currently set. - Feat:
setLogEventFilter:filters console logs with a block, alongside the existing delegate hook. - Feat: SDK status. A
statusproperty and thebugseeDidChangeStatus:delegate method report theLaunchingandStoppingsteps that no lifecycle event covers. - Feat: New capture options — video quality and privacy blur, screenshot scale, network
interception installed during launch, camera preview and
AVSampleBufferDisplayLayer. - Feat:
relaunchrestarts with the current app token and default options. - Feat: An extension registry (
registerExt:/ext:) for optional modules. Feedback is the first to use it.
BugseeFeedback module
New features
- Feat: Feedback ships as a separate Swift package,
BugseeFeedback, layered on the core SDK and reached throughBugseeFeedback.shared.showFeedbackUIreplacesshowFeedbackController,setGreeting:replacessetDefaultFeedbackGreeting:, and aBugseeFeedbackListenerset withsetListener:receivesonNewMessagesReceived:and the newonNewMessageSent:. The package registers itself with the SDK through the extension registry.
Found an issue, typo, or wrong statement on this page? Report it now →