[Lambda] Swift AWS Lambda Runtime 3.0.0 RC1 is out

Hi everyone,

We just tagged the first release candidate for v3 of the Swift AWS Lambda Runtime. This is a major version with breaking changes from the 2.x line. We plan to release v3 alongside Swift 6.4, and we would love your feedback on the RC in the meantime.

What is new:

  • Adopts Swift's NonisolatedNonsendingByDefault by default. In the majority of cases no code changes are required. If your target does not enable that feature yet, you may hit conformance errors, which you can resolve by enabling the feature in your target or adding nonisolated(nonsending) to your handler signatures.
  • The single archive plugin is replaced by three focused plugins: lambda-init to scaffold a function, lambda-build to compile and archive, and lambda-deploy to ship it to AWS. Builds can now be packaged as ZIP or OCI images, and compiled via Docker, Apple's container, or cross-compilation with the Swift Linux SDK.
  • Per-invocation loggers are now bound as Logger.current during handler execution, so log entries written anywhere in the call tree automatically carry the request metadata, without threading a logger through every function.
  • All 2.x deprecated APIs have been removed, so update those call sites before upgrading.

The docs are now separated from the README and hosted on the Swift Package Index:
https://swiftpackageindex.com/awslabs/swift-aws-lambda-runtime/main/documentation/awslambdaruntime

Full release notes:

We would love for you to try it out. Feedback, issues, and PRs are all very welcome.

Thanks!

6 Likes