Cocoa SDK 9.0.0 has landed
Cocoa SDK 9.0.0 has landed
We just released Cocoa SDK 9.0.0, here's what's new, and what's changed.
It's been a while since the last major version. The last major release, 8.0.0, shipped on January 16, 2023. After 57 minor and 47 bug fix releases, it’s finally time for a new major version to land: 9.0.0.
Why now
Our minimum supported OS versions had drifted low enough that some users started seeing more Xcode warnings than they’d like. A bit too much "Compatibility is King". So it’s really time to do a major update and bump the minimum supported OS versions.
What kind of release this is
Version 9 is a maintenance major. This means:
We bumped minimum OS versions
We enabled a few features by default
We cleaned up a bunch of small API issues
It should be easy for you to upgrade. Famous last words.
Changes you’ll want to know about
Most of the changes in version 9 fall into three buckets: platform requirements, defaults we’ve turned on for you, and cleanup we’ve been meaning to do for a while. Here are the essentials:
Updated minimum supported OS versions
We bumped the minimum supported OS versions:
iOS: from 11.0 to 15.0
tvOS: from 11.0 to 15.0
macOS: from 10.13 to 10.14
watchOS: from 4.0 to 8.0
visionOS: 1.0 (unchanged)
Tooling and defaults
We now use Xcode 16 for building the precompiled XCFramework, and we set the
swift-tools-versionto 6.0.Structured logs are no longer experimental.
HTTP client errors now mark sessions as errored. This provides better visibility into failed network requests in the release health data.
App Hang Tracking V2 is now the default on iOS, tvOS, and macCatalyst.
Tracing: We enabled pre-warmed app start tracing by default, and the app start duration now finishes when the first frame is drawn instead of when the OS posts the UIWindowDidBecomeVisibleNotification.
Profiling: We removed the deprecated transaction-based profiling. You now have to use UIProfiling.
Package managers and SDKs
Compiling from source via SPM works again, but we don’t officially support it yet.
Our Carthage support has been broken for a while, and at this point it’s clear it’s not something most teams are relying on. So we’re officially dropping it.
We added a new SDK, SentryDistribution, that keeps internal builds up to date; it’s the Sentry version of Emerge Tools’ ETDistribution 🚀.
The complete list of all changes is even longer. If you want to see everything, check out the migration guide or the 9.0.0 changelog to see it.
Upgrading to version 9
Simply update your package manager to use the latest version of version 9 and then check the migration guide to see if you need to change anything. That's all there is to it for most setups.
What about version 8?
We have stopped feature development for version 8 and will only ship critical bug fixes. You still can use version 8 and aren’t forced to upgrade to version 9, but we still recommend updating to the latest major version if possible.
If you're ready to upgrade
If you’re able to, give version 9 a try. We’re excited to see what you build with it. And if something breaks, or even just feels off, open an issue. We’ll help you sort it out.

