April 27, 2022

Attendees: @adam-fowler, @davmoser, @fabianfett, @jdmcd, @kmahar, @patrick, @0xTim, @tomerd

Action Items

  • [carry over] @graskind to finalize SQLite proposal
  • @tomerd to add an agenda item for the website work group to discuss adding SSWG guides to swift.org
  • @tomerd to take a look at supporting Linux arm64 on Swift Server CI
  • @tomerd to rope in relevant folks to see if they have any insight on linker memory issues
  • @0xTim to pick out an example of TSAN failing and send to @tomerd, who can bring up with the relevant folks if we think it's a problem
  • All to think about potential concurrency related questions for the survey to discuss next meeting
  • @patrick to investigate how rustup handles cargo / rustc's system dependencies

Discussion

Linker memory usage issues and static linking

AsyncEmbeddedEventLoop

  • AsyncEmbeddedEventLoop and potentially later AsyncEmbeddedChannel should make testing NIO channels in combination with structured concurrency easier
  • This will definitely allow AsyncHTTPClient to migrate all the tests there sendable and unblock the sendable requirements, check out the PR and chime in if you have any opinions
  • https://github.com/apple/swift-nio/pull/2083
  • TSAN is still not working with tests. Problem seems to stem from Swift Concurrency and event loops not aware of each other. Solution may be custom executors.
  • @0xTim to pick out an example of TSAN failing and send to @tomerd, who can bring up with the relevant folks if we think it's a problem
  • The most important part is document and share it

SwiftNIO family dropping support for Swift 5.2 and Swift 5.3

  • If there are any security critical bugs, the fix will be backported to the last supported versions.
    • For Swift 5.2 and Swift 5.3, this is 2.39, so if any bugfixes will be backported to 2.39.1
  • SwiftNIO 1.x branch has stopped accepting PRs, even for security bug fixes
  • Vapor 3 users should get off of Vapor 3. Advertised EOL was 6 months after the release of Vapor 4, which was a while ago at this point.
  • Whenever a new minor version of Swift is released, NIO will drop support for the oldest supported Swift minor version in its next minor version release.

SwiftNIO dropping support for CocoaPods

  • The current release of SwiftNIO (2.40) will be the last one in which the CocoaPods package will be updated
  • Some community members have been vocal about being unhappy with this, so the NIO team is open to members of the community stepping up to support CocoaPods, but the team won't do it themselves. They will help with the hand off process if any community member wishes to take that over.

Updates on the Swift Server survey

  • Should release it soon since we announced it in the annual update
  • It was drafted before concurrency was out, might want to add some questions about that.
  • Will discuss potential questions at next meeting and then put on a survey platform.

Vapor family to drop some Swift versions

  • Which versions being dropped depends on the repo

Swift System Dependency Guarantees

  • Discussion of the stability guarantees (if any) around the system dependencies used by Swift, and how they would affect managing Swift versions in swiftly
  • No real guarantees, but trend is towards removing system dependencies
  • @patrick to investigate how rustup handles Cargo's system dependencies
  • All to use next meeting to group review / discuss the open questions on this issue from the swiftly design
11 Likes