Back to Blog Home

Contents

Share

Share on Twitter
Share on Bluesky
Share on HackerNews
Share on LinkedIn

Cocoa SDK 9.0.0 has landed

Philipp Hofmann image

Philipp Hofmann -

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-version to 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.  

Listen to the Syntax Podcast

Of course we sponsor a developer podcast. Check it out on your favorite listening platform.

Listen To Syntax
© 2025 • Sentry is a registered Trademark of Functional Software, Inc.