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
NonisolatedNonsendingByDefaultby 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 addingnonisolated(nonsending)to your handler signatures. - The single
archiveplugin is replaced by three focused plugins:lambda-initto scaffold a function,lambda-buildto compile and archive, andlambda-deployto ship it to AWS. Builds can now be packaged as ZIP or OCI images, and compiled via Docker, Apple'scontainer, or cross-compilation with the Swift Linux SDK. - Per-invocation loggers are now bound as
Logger.currentduring 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!