SSWG - May 8, 2024



2024 goals

  • Concurrency & Structured Concurrency adoptions @FranzBusch

    • Guide for structured concurrency
    • Overview of where we are standing with our libraries and the remaining work
      • consensus reached on hiking ecosystem toolchain requirements to 5.8
      • some users are struggling with async-http-client
  • Swift 6

  • Marketing @Joannis_Orlandos @sebsto

  • Tooling

    • Apple interested in taking over Swiftly project
  • HTTP server and middlewares

    • Hummingbird is progressing well

previous action items

new action items

Swift 6

Sven: Have run 3 passes with 3 toolchains, getting ready to launch soon

Sven: First two passes had configuration issues generating false negatives

Franz: RBI enabled?

Sven: RBI not enabled yet

Franz: Can we turn on more Swift 6 features? Swift 6 language mode?

Sven: Part of motivation for analysis is to measure impact of features separately

Sven: We want to validate some of the results against known status of SSWG packages

Sven: :a: @finestructure We can provide more details about our testing process

Franz: Can help out with Apple packages, expect some issues to exist in NIO, swift-metrics, etc.


Franz: Need to reach out to SWWG

Tibor: Have not had time to reach out


Adam: Apple team currently helping out with VSCode extension is also interested in taking on Swiftly

Ben: Thinking about officially endorsing VSCode extension

Ben: Apple team is already helping out

Ben: Apple needs to control Swiftly’s release process, for security reasons

Ben: For legal reasons we should move Swiftly repo to the Swift Project

Ben: Might need to fork the VSCode extension

Franz: Swiftly not in-scope for SSWG incubation process, it’s a tool not a package

Franz: Want to eventually hand it off to another work/steering group

Ben: Could split governance from operations

Ben: Planning on adding link to and signing releases


Franz: Framework is progressing well

Add section about meetup to

Seb: Already added to website

Seb: Already have rough date/schedule for next meetup

Seb: Will have presentation about Hummingbird and Mishal also wants to contribute a presentation

SwiftNIO ABI/ADI compatibility

Dianna: Running into compiler crash when generating symbolgraph on macOS

Franz: :a: @taylorswift Let’s sync offline

Ubuntu 24.04 support

Franz: Ongoing

Membership announcements

Franz: Need to sync with Konrad

Update AWS guides

Joannis: Have not had time yet

async-http-client, swift-http-types

Joannis: AHC very difficult to debug, many users are becoming frustrated

Joannis: Can we add more logging?

Joannis: 10ms timeout is very tight

Franz: Not necessarily under jurisdiction of SSWG

Joannis: Mixture of poor diagnostics and user error

Franz: Need to develop a pattern for educating users

Franz: Can we update the logging guides?

Joannis: Important to put focus on poor state of documentation

Joannis: Edge cases are becoming more prevalant, a lot of people are running into them

Franz: Are we an outlier? Many other ecosystems have similar issues

Adam: HB now using swift-http-types

Adam: Want to align AHC as well

Adam: async interfaces are a bit nebulous right now

Franz: We should have assigned a GSOC project to this

Franz: We should have gotten volunteers from the Forums

Franz: Perhaps we can leverage the Swift Mentorship Program?

Adam: Do not have time for this internally

Franz: Right now, there is nobody to take this on unfortunately

Minimum Swift versions

Franz: Hiked requirements on swift-metrics

Franz: Align requirements to NIO, if NIO doesn’t support it, other packages shouldn’t either

Franz: Way too hard to support 5.0, 5.1

Adam: Agree, 5.0 is irrelevant today

Franz: Can we proclaim minimums on

Franz: :a: @FranzBusch Projects can use as authority to justify toolchain hikes


Sven: Have we posted goals yet?

Franz: We posted goals two months ago

Franz: Plans for Hummingbird announcement?

Adam: Some concerns about perf regressions from v1 to v2

Franz: What are we going to do about “2.5% of requests dropped” Forums thread?

Adam: That was a really awful benchmark

Adam: People are blaming Vapor for Fibonnaci algorithm

Franz: We really need to invest in documenting and announcing things, we need to be more proactive

Franz: A lot of clickbaity Forums threads and silly benchmarks

Joannis: Tibor and I have done a lot of updates to the swiftonserver websites

Dianna: We are using to resolve cross-package symbol references in blog posts

Joannis: We migrated articles to DocC

Joannis: Next step is to leverage SwiftPM Snippets

Joannis: Also want to support IDE-style tooltips

Franz: :a: @Joannis_Orlandos Should we be promoting on Forums?

Joannis: Everyone is welcome to contribute articles

Joannis: Site is getting a lot of traffic despite only existing since January

Tibor: Potentially have access to 2K subscribers, ~56% clickthrough rate

Simon: What are some common questions people ask?

Joannis: Most people are coming from iOS background

Joannis: Benchmarking blog post was a big driver of engagement

Joannis: People have reinvigorated interest, not seen since 2015-ish

Joannis: Many people have not tried server-side swift since the introduction of async/await

Joannis: A lot of people had bad experiences from the Swift 5.5 era, need to overcome that

Tibor: More documentation is important to encourage people to give it another try

Joannis: Subscriber reception is encouraging, no unsubscribers so far even though email list is several years old

Tibor: A lot of subscribers were already server specialists

Joannis: Important to share success stories to recapture people who had left during 5.5 era

Franz: Great work on swiftonserver, really valuable effort

Franz: :a: @Joannis_Orlandos, @taylorswift to announce swiftonserver+swiftinit on Forums

Seb: I would like to invite a student working on VSCode extension to create AWS Lambda project

Joannis: I definitely wish that existed when I was starting

Seb: He is also working on benchmarking Vapor vs Hummingbird

AWS Lambda

Sven: What is the status of the Lambda DSL?

Seb: Want to allow develoeprs to define deployment config using Swift DSL

Seb: Still needs some work before it is merge-ready

Seb: At least one GSOC project already accepted for this


Appreciate your efforts in putting together such a complete report of the meeting :sweat_smile: