Skip to content

Bump SPM watchOS deployment target to 5.0 (fixes Xcode 27 manifest warning) - #2732

Merged
freak4pc merged 1 commit into
ReactiveX:mainfrom
oronbz:fix/watchos-deployment-target-warning
Sep 4, 2026
Merged

freak4pc merged 1 commit into
ReactiveX:mainfrom
oronbz:fix/watchos-deployment-target-warning

Conversation

@oronbz

@oronbz oronbz commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Xcode 27 (Swift 6.4) PackageDescription marks .watchOS(.v4) as deprecated. Every project that resolves RxSwift through SwiftPM now gets this in the issue navigator, even with no watchOS target:

Package@swift-5.9.swift:99:56: warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]

Despite what the message says, .watchOS(.v5) is not deprecated on that toolchain and compiles clean, so this bumps .watchOS(.v4) to .watchOS(.v5), the smallest change that silences the warning. iOS 12 / macOS 10.13 / tvOS 12 / visionOS 1 are still accepted, so they are left untouched. The legacy Package.swift (tools 5.5) is only used by toolchains that do not emit this warning, so it is left as is.

Verification

Xcode 27.0, Swift 6.4:

$ swift package describe 2>&1 | grep -c warning
0

Before the change the same command reports the warning above.

Notes

This drops SwiftPM support for watchOS 4 only. Xcode 27's watchOS SDK cannot build for watchOS 4 anyway, so consumers on that toolchain lose nothing.

Fixes #2715

Xcode 27 / Swift 6.4 PackageDescription deprecates .watchOS(.v4), so
every consumer resolving RxSwift via SPM sees:

  'v4' is deprecated: watchOS 9.0 is the oldest supported version

Despite the message, .watchOS(.v5) is not deprecated and compiles
without warnings, so this is the smallest bump that silences it.

Only the Package@swift-5.9.swift manifest is affected; the legacy
Package.swift is not picked by toolchains that emit this warning.

Fixes ReactiveX#2715
@oronbz
oronbz force-pushed the fix/watchos-deployment-target-warning branch from b2e094f to 17ac314 Compare September 3, 2026 14:34
@oronbz oronbz changed the title Bump SPM watchOS deployment target to 9.0 (fixes Xcode 27 manifest warning) Bump SPM watchOS deployment target to 5.0 (fixes Xcode 27 manifest warning) Sep 3, 2026
@freak4pc
freak4pc merged commit 8b250f6 into ReactiveX:main Sep 4, 2026
18 checks passed
freak4pc added a commit to victorpimentel/RxSwift that referenced this pull request Sep 4, 2026
* origin/main:
  Fix Observable values terminal race (ReactiveX#2728)
  Bump SPM watchOS deployment target to 5.0 (ReactiveX#2732)
  Bump faraday from 1.4.1 to 1.10.6 (ReactiveX#2720)
  Select Xcode 26.6 for CI on the macOS 26 runner image (ReactiveX#2726)
  Add regression test for the merge lock-inversion deadlock
  Run merge teardown outside forwardLock, keeping the disposed flag inside it
  Original fix of merge deadlock
  Add regression tests for the ReplaySubject, Connection and Zip lock-inversion deadlocks
  Apply review cleanups to Multicast and Zip
  Use performLocked and strip trailing whitespace
  Make ZipCollectionTypeSink not call out under lock
  Connect only outside of lock
  Make sure to never call dispose and subscribe underlock in Connection, ConnectionObservableAdapter and RefCountSink
  ReplayBufferBase propagate outiside locks
  Fix: missing CFBundleShortVersionString and update RX_VERSION *issue no ReactiveX#2687 (ReactiveX#2696)
  Fix concurrent share subscriptions (ReactiveX#2719)
  Bump addressable from 2.8.0 to 2.9.0 (ReactiveX#2702)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Xcode 27 warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version

2 participants