Skip to content

Package.swift: '.watchOS(.v4)' emits a deprecation warning in Xcode (watchOS 9.0 is the oldest supported version) #135

Description

@yoropico

Description

When BigInt is resolved as a dependency in a project built with a current Xcode / Swift toolchain, the package manifest produces a deprecation warning in the Issue navigator of every downstream project:

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

It comes from the platforms declaration in Package.swift:

platforms: [
    .macOS(.v10_13),
    .iOS(.v12),
    .tvOS(.v12),
    .watchOS(.v4),        // ← warns
    .macCatalyst(.v13),
    .visionOS(.v1),
],

Recent toolchains have dropped the SupportedPlatform.WatchOSVersion.v4 symbol to deprecated status (watchOS 9.0 is now the oldest deployable version), so every consumer of BigInt sees this warning on package resolution. master and the v6.0.0 tag still declare .watchOS(.v4), so upgrading doesn't avoid it.

Suggested fix

Bump the watchOS entry to .watchOS(.v9) (and possibly revisit the other minimums — e.g. .macOS(.v10_13) / .iOS(.v12) are also near or below current toolchain floors). Since a platform minimum bump only affects consumers deploying below watchOS 9 — which current toolchains can no longer build for anyway — this should be safe in practice, though strictly it's a requirement change that may warrant a minor release.

Happy to send a PR if that's welcome.

Environment

  • BigInt 5.7.0 (via SwiftPM, transitive dependency of Citadel)
  • Xcode 27 beta (macOS 26 SDK-era toolchain) — warning also reproduces on recent Xcode 26 toolchains

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions