Skip to content

Conversation

@fabianfett
Copy link
Member

This PR drops Swift 5.10 and enables Swift 6 language mode.

@fabianfett fabianfett added the 🆕 semver/minor Adds new public API. label Oct 1, 2025
Package.swift Outdated
// compatibility with previous NIO versions.
let historicalNIOPosixDependencyRequired: [Platform] = [.macOS, .iOS, .tvOS, .watchOS, .linux, .android]

let strictConcurrencyDevelopment = false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still used?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great catch!

@fabianfett fabianfett requested a review from Lukasa October 1, 2025 13:58
@fabianfett
Copy link
Member Author

API breakage false positive:

1 breaking change detected in NIOTestUtils:
  💔 API breakage: func withManualTaskExecutor(body:) has been renamed to func withManualTaskExecutors(body:)

This is a package API.

@fabianfett fabianfett requested a review from glbrntt October 1, 2025 14:01
type: boolean
description: "Boolean to enable the Linux 5.10 Swift version matrix job. Defaults to true."
default: true
default: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we can do this yet - there are significant numbers of repositories which don't yet have 6.2 CI and require 5.10

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I see. I thought this is only for this workflow. will change

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

Copy link
Contributor

@rnro rnro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we can default 5.10 to off yet in reusable workflows, that will need to be done down the line

@rnro rnro self-requested a review October 1, 2025 15:03
# Workaround https://github.com/nektos/act/issues/1875
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
with:
linux_5_10_enabled: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love adding lines like this because we just need to go and clean them up later, I'd prefer to just wait until the default switches to off - but I don't think it blocks the PR, I'm willing to see how much of a pain it is in practice to clean up

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to remove them.

This reverts commit bf83c6a.
// Note: Whitespace changes are used to workaround compiler bug
// Remove when compiler version 5.10 is no longer supported.
// https://github.com/swiftlang/swift/issues/79285
// swift-format-ignore
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can and should remove this.

#if compiler(>=6.0)
// Note: Whitespace changes are used to workaround compiler bug
// Remove when compiler version 5.10 is no longer supported.
// https://github.com/swiftlang/swift/issues/79285
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can and should remove the whitespace changes.

@fabianfett fabianfett requested review from Lukasa and rnro October 2, 2025 10:23
@Lukasa
Copy link
Contributor

Lukasa commented Oct 6, 2025

Merging over the expected API break.

@Lukasa Lukasa merged commit a3ed8e1 into main Oct 6, 2025
56 of 61 checks passed
@Lukasa Lukasa deleted the ff-drop-Swift-5.10 branch October 6, 2025 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🆕 semver/minor Adds new public API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants