From 6d940b5ac4e86d005b20c9a33c4ae9762457f800 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 08:42:56 +0200 Subject: [PATCH 01/11] drop support for Swift 6.0 --- Package@swift-6.0.swift | 79 ----------------------------------------- readme.md | 5 ++- 2 files changed, 4 insertions(+), 80 deletions(-) delete mode 100644 Package@swift-6.0.swift diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift deleted file mode 100644 index be01537f7..000000000 --- a/Package@swift-6.0.swift +++ /dev/null @@ -1,79 +0,0 @@ -// swift-tools-version:6.0 - -import PackageDescription - -let defaultSwiftSettings: [SwiftSetting] = [ - .define("FoundationJSONSupport"), - .define("ServiceLifecycleSupport"), - .define("LocalServerSupport"), - .define("ManagedRuntimeSupport"), - .enableExperimentalFeature( - "AvailabilityMacro=LambdaSwift 2.0:macOS 15.0" - ), -] - -let package = Package( - name: "swift-aws-lambda-runtime", - products: [ - .library(name: "AWSLambdaRuntime", targets: ["AWSLambdaRuntime"]), - // plugin to package the lambda, creating an archive that can be uploaded to AWS - // requires Linux or at least macOS v15 - .plugin(name: "AWSLambdaPackager", targets: ["AWSLambdaPackager"]), - ], - dependencies: [ - .package(url: "https://github.com/apple/swift-nio.git", from: "2.92.0"), - .package(url: "https://github.com/apple/swift-log.git", from: "1.8.0"), - .package(url: "https://github.com/apple/swift-collections.git", from: "1.3.0"), - .package(url: "https://github.com/swift-server/swift-service-lifecycle.git", from: "2.9.0"), - ], - targets: [ - .target( - name: "AWSLambdaRuntime", - dependencies: [ - .product(name: "NIOCore", package: "swift-nio"), - .product(name: "DequeModule", package: "swift-collections"), - .product(name: "Logging", package: "swift-log"), - .product(name: "NIOHTTP1", package: "swift-nio"), - .product(name: "NIOPosix", package: "swift-nio"), - .product(name: "ServiceLifecycle", package: "swift-service-lifecycle"), - ], - swiftSettings: defaultSwiftSettings - ), - .plugin( - name: "AWSLambdaPackager", - capability: .command( - intent: .custom( - verb: "archive", - description: - "Archive the Lambda binary and prepare it for uploading to AWS. Requires docker on macOS or non Amazonlinux 2 distributions." - ), - permissions: [ - .allowNetworkConnections( - scope: .docker, - reason: "This plugin uses Docker to create the AWS Lambda ZIP package." - ) - ] - ) - ), - .testTarget( - name: "AWSLambdaRuntimeTests", - dependencies: [ - .byName(name: "AWSLambdaRuntime"), - .product(name: "NIOTestUtils", package: "swift-nio"), - .product(name: "NIOFoundationCompat", package: "swift-nio"), - ], - swiftSettings: defaultSwiftSettings - ), - // for perf testing - .executableTarget( - name: "MockServer", - dependencies: [ - .product(name: "Logging", package: "swift-log"), - .product(name: "NIOHTTP1", package: "swift-nio"), - .product(name: "NIOCore", package: "swift-nio"), - .product(name: "NIOPosix", package: "swift-nio"), - ], - swiftSettings: defaultSwiftSettings - ), - ] -) diff --git a/readme.md b/readme.md index e8be5c706..38e863e6b 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,8 @@ -This package makes it easy to run AWS Lambda Functions written in Swift. +This package allows you to develop and deploy AWS Lambda Functions written in Swift. + +[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fawslabs%2Fswift-aws-lambda-runtime%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/awslabs/swift-aws-lambda-runtime) +[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fawslabs%2Fswift-aws-lambda-runtime%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/awslabs/swift-aws-lambda-runtime) You can read [the Swift AWS Lambda Runtime documentation](https://swiftpackageindex.com/awslabs/swift-aws-lambda-runtime/2.3.0/documentation/awslambdaruntime) on the Swift Package Index. From b25ec0c418455caa53fec4f20d0df88d2baebd86 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 09:54:32 +0200 Subject: [PATCH 02/11] remove deprecated code and update to swift 6.1 minimum --- .github/workflows/integration_tests.yml | 4 ++-- .github/workflows/pull_request.yml | 2 +- Examples/ManagedInstances/README.md | 2 +- Package.swift | 2 +- .../LocalServerPoolCancellationTests.swift | 14 -------------- Tests/AWSLambdaRuntimeTests/PoolTests.swift | 6 ------ readme.md | 2 +- 7 files changed, 6 insertions(+), 26 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 7bf6fc926..89c102789 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -42,8 +42,8 @@ on: matrix_linux_swift_container_image: type: string # Note: we don't use Amazon Linux 2 here because zip is not installed by default. - description: "Container image for the matrix test jobs. Defaults to Swift 6.2" - default: "swift:6.2" + description: "Container image for the matrix test jobs. Defaults to Swift 6.3" + default: "swift:6.3" ## We are cancelling previously triggered workflow runs concurrency: diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 5c17f54e2..79b1431e4 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -25,7 +25,7 @@ jobs: uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main with: enable_windows_checks: false - linux_exclude_swift_versions: "[{\"swift_version\": \"5.9\"}, {\"swift_version\": \"5.10\"}]" + linux_exclude_swift_versions: "[{\"swift_version\": \"5.9\"}, {\"swift_version\": \"5.10\"}, {\"swift_version\": \"6.0\"}]" swift_flags: "--explicit-target-dependency-import-check error" swift_nightly_flags: "--explicit-target-dependency-import-check error" enable_linux_static_sdk_build: true diff --git a/Examples/ManagedInstances/README.md b/Examples/ManagedInstances/README.md index d26f8fc56..a272201d3 100644 --- a/Examples/ManagedInstances/README.md +++ b/Examples/ManagedInstances/README.md @@ -12,7 +12,7 @@ This example demonstrates deploying Swift Lambda functions to Lambda Managed Ins - AWS CLI configured with appropriate permissions - SAM CLI installed -- Swift 6.0+ installed +- Swift 6.1+ installed - An existing [Lambda Managed Instances capacity provider](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances-capacity-providers.html) ## Capacity Provider Configuration diff --git a/Package.swift b/Package.swift index 3f971016e..4faa2dd0f 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.1 import PackageDescription diff --git a/Tests/AWSLambdaRuntimeTests/LocalServerPoolCancellationTests.swift b/Tests/AWSLambdaRuntimeTests/LocalServerPoolCancellationTests.swift index 8bc14595a..33ee902b9 100644 --- a/Tests/AWSLambdaRuntimeTests/LocalServerPoolCancellationTests.swift +++ b/Tests/AWSLambdaRuntimeTests/LocalServerPoolCancellationTests.swift @@ -34,7 +34,6 @@ struct LocalServerPoolCancellationTests { @Test("Cancelling one task should not affect other waiting tasks") @available(LambdaSwift 2.0, *) func testCancellationOnlyAffectsOwnTask() async throws { - #if compiler(>=6.0) let pool = LambdaHTTPServer.Pool(name: "Test Pool") let cancelledFlags = Mutex<[Bool]>([false, false, false]) @@ -95,9 +94,6 @@ struct LocalServerPoolCancellationTests { _ = await task2.result _ = await task3.result - #else - throw XCTSkip("This test requires Swift 6.0 or later") - #endif } /// Test concurrent invocations with one being cancelled @@ -107,8 +103,6 @@ struct LocalServerPoolCancellationTests { @Test("Multiple concurrent invocations with one cancellation") @available(LambdaSwift 2.0, *) func testConcurrentInvocationsWithCancellation() async throws { - #if compiler(>=6.0) - try await withThrowingTaskGroup(of: Void.self) { group in // Timeout task group.addTask { @@ -169,10 +163,6 @@ struct LocalServerPoolCancellationTests { try await group.next() group.cancelAll() } - - #else - throw XCTSkip("This test requires Swift 6.0 or later") - #endif } /// Test that FIFO mode doesn't have the same issue @@ -181,7 +171,6 @@ struct LocalServerPoolCancellationTests { @Test("FIFO mode cancellation works correctly") @available(LambdaSwift 2.0, *) func testFIFOModeCancellation() async throws { - #if compiler(>=6.0) let pool = LambdaHTTPServer.Pool(name: "FIFO Test Pool") try await withThrowingTaskGroup(of: Void.self) { group in @@ -222,9 +211,6 @@ struct LocalServerPoolCancellationTests { try await group.next() group.cancelAll() } - #else - throw XCTSkip("This test requires Swift 6.0 or later") - #endif } } diff --git a/Tests/AWSLambdaRuntimeTests/PoolTests.swift b/Tests/AWSLambdaRuntimeTests/PoolTests.swift index 0716d4ae2..0f51eb768 100644 --- a/Tests/AWSLambdaRuntimeTests/PoolTests.swift +++ b/Tests/AWSLambdaRuntimeTests/PoolTests.swift @@ -163,10 +163,6 @@ struct PoolTests { #expect(Set(receivedValues).count == producerCount * messagesPerProducer) } - // in Swift 6.0, the error returned by #expect(throwing:) macro is a tuple () - // I decided to skip these tests on Swift 6.0 - #if swift(>=6.1) - @Test @available(LambdaSwift 2.0, *) func testConcurrentNext() async throws { @@ -514,7 +510,5 @@ struct PoolTests { let third = try await pool.next(for: "req1") #expect(String(buffer: third.body!) == "third") } - #endif //swift >= 6.1 - } #endif // trait diff --git a/readme.md b/readme.md index 38e863e6b..8c366efde 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,7 @@ swift package init --type executable --name MyLambda 2.3 Your `Package.swift` file must look like this ```swift - // swift-tools-version: 6.0 + // swift-tools-version: 6.1 import PackageDescription From a1f5523f4f464e2eb80feddcd5bb27a91b9cf424 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:09:00 +0200 Subject: [PATCH 03/11] remove NIOLockedValueBox as per https://github.com/awslabs/swift-aws-lambda-runtime/issues/524 --- Sources/AWSLambdaRuntime/Utils.swift | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Sources/AWSLambdaRuntime/Utils.swift b/Sources/AWSLambdaRuntime/Utils.swift index 8a8d04423..61fc10306 100644 --- a/Sources/AWSLambdaRuntime/Utils.swift +++ b/Sources/AWSLambdaRuntime/Utils.swift @@ -13,10 +13,8 @@ // //===----------------------------------------------------------------------===// -import NIOConcurrencyHelpers import NIOPosix - -// import Synchronization +import Synchronization enum Consts { static let apiPrefix = "/2018-06-01" @@ -108,9 +106,8 @@ extension AmazonHeaders { } /// Temporary storage for value being sent from one isolation domain to another -// use NIOLockedValueBox instead of Mutex to avoid compiler crashes on 6.0 -// see https://github.com/swiftlang/swift/issues/78048 @usableFromInline +@available(LambdaSwift 2.0, *) struct SendingStorage: ~Copyable, @unchecked Sendable { @usableFromInline struct ValueAlreadySentError: Error { @@ -119,18 +116,16 @@ struct SendingStorage: ~Copyable, @unchecked Sendable { } @usableFromInline - // let storage: Mutex - let storage: NIOLockedValueBox + let storage: Mutex @inlinable init(_ value: sending Value) { - self.storage = .init(value) + self.storage = Mutex(value) } @inlinable func get() throws -> Value { - // try self.storage.withLock { - try self.storage.withLockedValue { + try self.storage.withLock { guard let value = $0 else { throw ValueAlreadySentError() } $0 = nil return value From d1584f7851ca5c81897657843c78a39ae48e1837 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:09:23 +0200 Subject: [PATCH 04/11] remove deprecation warnings --- .../Logging/JSONLogHandler.swift | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift b/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift index d8bdfc382..004d36441 100644 --- a/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift +++ b/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift @@ -53,6 +53,7 @@ public struct JSONLogHandler: LogHandler { self.traceID = traceID } + @available(*, deprecated, message: "Use log(event:) instead") public func log( level: Logger.Level, message: Logger.Message, @@ -62,22 +63,36 @@ public struct JSONLogHandler: LogHandler { function: String, line: UInt ) { + self.log( + event: LogEvent( + level: level, + message: message, + metadata: metadata, + source: source as String?, + file: file, + function: function, + line: line + ) + ) + } + + public func log(event: LogEvent) { // Merge metadata var allMetadata = self.metadata - if let metadata = metadata { + if let metadata = event.metadata { allMetadata.merge(metadata) { _, new in new } } // Create log entry struct let logEntry = LogEntry( timestamp: Date(), - level: Self.mapLogLevel(level), - message: message.description, + level: Self.mapLogLevel(event.level), + message: event.message.description, requestId: self.requestID, traceId: self.traceID, - file: file, - function: function, - line: line, + file: event.file, + function: event.function, + line: event.line, metadata: allMetadata.isEmpty ? nil : allMetadata.mapValues { $0.description } ) From 5a50b65bf595271e777d86b6356b4af7761d0aa8 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:20:06 +0200 Subject: [PATCH 05/11] update doc and examples --- Examples/APIGatewayV1/Package.swift | 2 +- Examples/APIGatewayV2+LambdaAuthorizer/Package.swift | 2 +- Examples/APIGatewayV2/Package.swift | 2 +- Examples/BackgroundTasks/Package.swift | 2 +- Examples/CDK/Package.swift | 2 +- Examples/HelloJSON/Package.swift | 2 +- Examples/HelloWorld/Package.swift | 2 +- Examples/HelloWorldNoTraits/Package.swift | 2 +- Examples/HummingbirdLambda/Package.swift | 2 +- Examples/JSONLogging/Package.swift | 2 +- Examples/ManagedInstances/Package.swift | 2 +- Examples/MultiSourceAPI/Package.swift | 2 +- Examples/MultiTenant/Package.swift | 2 +- Examples/MultiTenant/README.md | 2 +- Examples/ResourcesPackaging/Package.swift | 2 +- Examples/S3EventNotifier/Package.swift | 2 +- Examples/S3_AWSSDK/Package.swift | 2 +- Examples/S3_Soto/Package.swift | 2 +- Examples/ServiceLifecycle+Postgres/Package.swift | 2 +- Examples/Streaming+APIGateway/Package.swift | 2 +- Examples/Streaming+Codable/Package.swift | 2 +- Examples/Streaming+FunctionUrl/Package.swift | 2 +- Examples/Testing/Package.swift | 2 +- Examples/Tutorial/Package.swift | 2 +- Examples/_MyFirstFunction/create_and_deploy_function.sh | 2 +- .../Docs.docc/Resources/code/03-02-01-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-02-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-03-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-04-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-05-package.swift | 2 +- Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Examples/APIGatewayV1/Package.swift b/Examples/APIGatewayV1/Package.swift index 0297dea2b..4e121e69b 100644 --- a/Examples/APIGatewayV1/Package.swift +++ b/Examples/APIGatewayV1/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift b/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift index 42640c69a..37193b34a 100644 --- a/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift +++ b/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/APIGatewayV2/Package.swift b/Examples/APIGatewayV2/Package.swift index 0297dea2b..4e121e69b 100644 --- a/Examples/APIGatewayV2/Package.swift +++ b/Examples/APIGatewayV2/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/BackgroundTasks/Package.swift b/Examples/BackgroundTasks/Package.swift index 70da51dff..65199acea 100644 --- a/Examples/BackgroundTasks/Package.swift +++ b/Examples/BackgroundTasks/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/CDK/Package.swift b/Examples/CDK/Package.swift index 0297dea2b..4e121e69b 100644 --- a/Examples/CDK/Package.swift +++ b/Examples/CDK/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HelloJSON/Package.swift b/Examples/HelloJSON/Package.swift index 625fdcdb2..10cc03367 100644 --- a/Examples/HelloJSON/Package.swift +++ b/Examples/HelloJSON/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HelloWorld/Package.swift b/Examples/HelloWorld/Package.swift index 1b716e4b7..5edc198f3 100644 --- a/Examples/HelloWorld/Package.swift +++ b/Examples/HelloWorld/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HelloWorldNoTraits/Package.swift b/Examples/HelloWorldNoTraits/Package.swift index 1b716e4b7..5edc198f3 100644 --- a/Examples/HelloWorldNoTraits/Package.swift +++ b/Examples/HelloWorldNoTraits/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HummingbirdLambda/Package.swift b/Examples/HummingbirdLambda/Package.swift index f447b15f0..03fc9f623 100644 --- a/Examples/HummingbirdLambda/Package.swift +++ b/Examples/HummingbirdLambda/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/JSONLogging/Package.swift b/Examples/JSONLogging/Package.swift index 9a831f753..56239ff0d 100644 --- a/Examples/JSONLogging/Package.swift +++ b/Examples/JSONLogging/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/ManagedInstances/Package.swift b/Examples/ManagedInstances/Package.swift index c9542a96f..1fe0b0532 100644 --- a/Examples/ManagedInstances/Package.swift +++ b/Examples/ManagedInstances/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/MultiSourceAPI/Package.swift b/Examples/MultiSourceAPI/Package.swift index b23308f25..d069803a9 100644 --- a/Examples/MultiSourceAPI/Package.swift +++ b/Examples/MultiSourceAPI/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/MultiTenant/Package.swift b/Examples/MultiTenant/Package.swift index c915eba58..23d219f5e 100644 --- a/Examples/MultiTenant/Package.swift +++ b/Examples/MultiTenant/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/MultiTenant/README.md b/Examples/MultiTenant/README.md index d4b0e671e..2491dea8a 100644 --- a/Examples/MultiTenant/README.md +++ b/Examples/MultiTenant/README.md @@ -157,7 +157,7 @@ requestParameters: ### Prerequisites -- Swift (>=6.2) +- Swift (>=6.3) - Docker (for cross-compilation to Amazon Linux) - AWS SAM CLI (>=1.147.1) - AWS CLI configured with appropriate credentials diff --git a/Examples/ResourcesPackaging/Package.swift b/Examples/ResourcesPackaging/Package.swift index 17a1d3f50..a10cb4f38 100644 --- a/Examples/ResourcesPackaging/Package.swift +++ b/Examples/ResourcesPackaging/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/S3EventNotifier/Package.swift b/Examples/S3EventNotifier/Package.swift index 55cf1993d..0f479880f 100644 --- a/Examples/S3EventNotifier/Package.swift +++ b/Examples/S3EventNotifier/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 import PackageDescription let package = Package( diff --git a/Examples/S3_AWSSDK/Package.swift b/Examples/S3_AWSSDK/Package.swift index d6d5aa6a9..ef9023881 100644 --- a/Examples/S3_AWSSDK/Package.swift +++ b/Examples/S3_AWSSDK/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 import PackageDescription diff --git a/Examples/S3_Soto/Package.swift b/Examples/S3_Soto/Package.swift index 41123bdf6..297065e59 100644 --- a/Examples/S3_Soto/Package.swift +++ b/Examples/S3_Soto/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 import PackageDescription diff --git a/Examples/ServiceLifecycle+Postgres/Package.swift b/Examples/ServiceLifecycle+Postgres/Package.swift index 0822f4403..88c967820 100644 --- a/Examples/ServiceLifecycle+Postgres/Package.swift +++ b/Examples/ServiceLifecycle+Postgres/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/Streaming+APIGateway/Package.swift b/Examples/Streaming+APIGateway/Package.swift index 8a82081c2..8c3c05a66 100644 --- a/Examples/Streaming+APIGateway/Package.swift +++ b/Examples/Streaming+APIGateway/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/Streaming+Codable/Package.swift b/Examples/Streaming+Codable/Package.swift index b0118aff0..9c506dce9 100644 --- a/Examples/Streaming+Codable/Package.swift +++ b/Examples/Streaming+Codable/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 import PackageDescription diff --git a/Examples/Streaming+FunctionUrl/Package.swift b/Examples/Streaming+FunctionUrl/Package.swift index 7011d2940..ee7becce4 100644 --- a/Examples/Streaming+FunctionUrl/Package.swift +++ b/Examples/Streaming+FunctionUrl/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/Testing/Package.swift b/Examples/Testing/Package.swift index f0e7c35a6..787725992 100644 --- a/Examples/Testing/Package.swift +++ b/Examples/Testing/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/Tutorial/Package.swift b/Examples/Tutorial/Package.swift index 388de897b..7bd64a9e7 100644 --- a/Examples/Tutorial/Package.swift +++ b/Examples/Tutorial/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.2 +// swift-tools-version: 6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index fe3ae57dd..0f26f8e6b 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -85,7 +85,7 @@ create_swift_project() { # swift package add-target-dependency AWSLambdaRuntime MyLambda --package swift-aws-lambda-runtime # swift package add-target-dependency AWSLambdaEvents MyLambda --package swift-aws-lambda-events cat < Package.swift -// swift-tools-version:6.2 +// swift-tools-version:6.3 import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift index 155bda8d6..a928e0f2f 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift index 45be7f2cb..d8ea48cc9 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift index c911110a4..ca7d67f2b 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift index 953f6ffd6..1cc498459 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift index 96f91bc47..0be7e68e2 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.2 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md b/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md index bc2e4ff8e..c81f9f4e8 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md +++ b/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md @@ -30,7 +30,7 @@ swift package init --type executable 2. Add dependencies on `AWSLambdaRuntime` library ```swift -// swift-tools-version:6.2 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription From 66cd71fde4da83fc2569d9848cd97740ad7fcaa9 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:20:14 +0200 Subject: [PATCH 06/11] update CI --- .github/workflows/pull_request.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 79b1431e4..13131b7f7 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -15,9 +15,9 @@ jobs: license_header_check_project_name: "SwiftAWSLambdaRuntime" shell_check_enabled: true python_lint_check_enabled: true - api_breakage_check_container_image: "swift:6.2-noble" - docs_check_container_image: "swift:6.2-noble" - format_check_container_image: "swift:6.2-noble" + api_breakage_check_container_image: "swift:6.3-noble" + docs_check_container_image: "swift:6.3-noble" + format_check_container_image: "swift:6.3-noble" yamllint_check_enabled: true unit-tests: From 2d675fafb15ca4181fcadf15cd2f844fdba6c0cb Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:36:24 +0200 Subject: [PATCH 07/11] fix 6.1 in readme --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 8c366efde..79080eacc 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,7 @@ swift package init --type executable --name MyLambda 2.3 Your `Package.swift` file must look like this ```swift - // swift-tools-version: 6.1 + // swift-tools-version: 6.3 import PackageDescription From 1c3ef15a6cb31be64e7433f7024bcb64bf024de5 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:48:34 +0200 Subject: [PATCH 08/11] consistently use 6.1 as minimal version in all examples and doc --- Examples/APIGatewayV1/Package.swift | 2 +- Examples/APIGatewayV2+LambdaAuthorizer/Package.swift | 2 +- Examples/APIGatewayV2/Package.swift | 2 +- Examples/BackgroundTasks/Package.swift | 2 +- Examples/CDK/Package.swift | 2 +- Examples/HelloJSON/Package.swift | 2 +- Examples/HelloWorld/Package.swift | 2 +- Examples/HelloWorldNoTraits/Package.swift | 2 +- Examples/HummingbirdLambda/Package.swift | 2 +- Examples/JSONLogging/Package.swift | 2 +- Examples/ManagedInstances/Package.swift | 2 +- Examples/MultiSourceAPI/Package.swift | 2 +- Examples/MultiTenant/Package.swift | 2 +- Examples/MultiTenant/README.md | 2 +- Examples/ResourcesPackaging/Package.swift | 2 +- Examples/S3EventNotifier/Package.swift | 2 +- Examples/S3_AWSSDK/Package.swift | 2 +- Examples/S3_Soto/Package.swift | 2 +- Examples/ServiceLifecycle+Postgres/Package.swift | 2 +- Examples/Streaming+APIGateway/Package.swift | 2 +- Examples/Streaming+Codable/Package.swift | 2 +- Examples/Streaming+FunctionUrl/Package.swift | 2 +- Examples/Testing/Package.swift | 2 +- Examples/Tutorial/Package.swift | 2 +- Examples/_MyFirstFunction/create_and_deploy_function.sh | 2 +- .../Docs.docc/Resources/code/03-02-01-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-02-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-03-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-04-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-05-package.swift | 2 +- Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md | 2 +- readme.md | 2 +- 32 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Examples/APIGatewayV1/Package.swift b/Examples/APIGatewayV1/Package.swift index 4e121e69b..4d20366b5 100644 --- a/Examples/APIGatewayV1/Package.swift +++ b/Examples/APIGatewayV1/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift b/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift index 37193b34a..f9ab60bfd 100644 --- a/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift +++ b/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/APIGatewayV2/Package.swift b/Examples/APIGatewayV2/Package.swift index 4e121e69b..4d20366b5 100644 --- a/Examples/APIGatewayV2/Package.swift +++ b/Examples/APIGatewayV2/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/BackgroundTasks/Package.swift b/Examples/BackgroundTasks/Package.swift index 65199acea..f9fd00270 100644 --- a/Examples/BackgroundTasks/Package.swift +++ b/Examples/BackgroundTasks/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/CDK/Package.swift b/Examples/CDK/Package.swift index 4e121e69b..4d20366b5 100644 --- a/Examples/CDK/Package.swift +++ b/Examples/CDK/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/HelloJSON/Package.swift b/Examples/HelloJSON/Package.swift index 10cc03367..8a953f029 100644 --- a/Examples/HelloJSON/Package.swift +++ b/Examples/HelloJSON/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/HelloWorld/Package.swift b/Examples/HelloWorld/Package.swift index 5edc198f3..1f9088d05 100644 --- a/Examples/HelloWorld/Package.swift +++ b/Examples/HelloWorld/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/HelloWorldNoTraits/Package.swift b/Examples/HelloWorldNoTraits/Package.swift index 5edc198f3..1f9088d05 100644 --- a/Examples/HelloWorldNoTraits/Package.swift +++ b/Examples/HelloWorldNoTraits/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/HummingbirdLambda/Package.swift b/Examples/HummingbirdLambda/Package.swift index 03fc9f623..a17873887 100644 --- a/Examples/HummingbirdLambda/Package.swift +++ b/Examples/HummingbirdLambda/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/JSONLogging/Package.swift b/Examples/JSONLogging/Package.swift index 56239ff0d..2e35d2ee3 100644 --- a/Examples/JSONLogging/Package.swift +++ b/Examples/JSONLogging/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/ManagedInstances/Package.swift b/Examples/ManagedInstances/Package.swift index 1fe0b0532..9120fbced 100644 --- a/Examples/ManagedInstances/Package.swift +++ b/Examples/ManagedInstances/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/MultiSourceAPI/Package.swift b/Examples/MultiSourceAPI/Package.swift index d069803a9..fd350d125 100644 --- a/Examples/MultiSourceAPI/Package.swift +++ b/Examples/MultiSourceAPI/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/MultiTenant/Package.swift b/Examples/MultiTenant/Package.swift index 23d219f5e..1aae8d94b 100644 --- a/Examples/MultiTenant/Package.swift +++ b/Examples/MultiTenant/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/MultiTenant/README.md b/Examples/MultiTenant/README.md index 2491dea8a..5d962df00 100644 --- a/Examples/MultiTenant/README.md +++ b/Examples/MultiTenant/README.md @@ -157,7 +157,7 @@ requestParameters: ### Prerequisites -- Swift (>=6.3) +- Swift (>=6.1) - Docker (for cross-compilation to Amazon Linux) - AWS SAM CLI (>=1.147.1) - AWS CLI configured with appropriate credentials diff --git a/Examples/ResourcesPackaging/Package.swift b/Examples/ResourcesPackaging/Package.swift index a10cb4f38..0cf496695 100644 --- a/Examples/ResourcesPackaging/Package.swift +++ b/Examples/ResourcesPackaging/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/S3EventNotifier/Package.swift b/Examples/S3EventNotifier/Package.swift index 0f479880f..6e7d5c9a4 100644 --- a/Examples/S3EventNotifier/Package.swift +++ b/Examples/S3EventNotifier/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 import PackageDescription let package = Package( diff --git a/Examples/S3_AWSSDK/Package.swift b/Examples/S3_AWSSDK/Package.swift index ef9023881..e92019384 100644 --- a/Examples/S3_AWSSDK/Package.swift +++ b/Examples/S3_AWSSDK/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 import PackageDescription diff --git a/Examples/S3_Soto/Package.swift b/Examples/S3_Soto/Package.swift index 297065e59..e98af8282 100644 --- a/Examples/S3_Soto/Package.swift +++ b/Examples/S3_Soto/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 import PackageDescription diff --git a/Examples/ServiceLifecycle+Postgres/Package.swift b/Examples/ServiceLifecycle+Postgres/Package.swift index 88c967820..032b5b4f9 100644 --- a/Examples/ServiceLifecycle+Postgres/Package.swift +++ b/Examples/ServiceLifecycle+Postgres/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/Streaming+APIGateway/Package.swift b/Examples/Streaming+APIGateway/Package.swift index 8c3c05a66..18d49cbd1 100644 --- a/Examples/Streaming+APIGateway/Package.swift +++ b/Examples/Streaming+APIGateway/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/Streaming+Codable/Package.swift b/Examples/Streaming+Codable/Package.swift index 9c506dce9..11ee90798 100644 --- a/Examples/Streaming+Codable/Package.swift +++ b/Examples/Streaming+Codable/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 import PackageDescription diff --git a/Examples/Streaming+FunctionUrl/Package.swift b/Examples/Streaming+FunctionUrl/Package.swift index ee7becce4..292f6d1cf 100644 --- a/Examples/Streaming+FunctionUrl/Package.swift +++ b/Examples/Streaming+FunctionUrl/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/Testing/Package.swift b/Examples/Testing/Package.swift index 787725992..a05d6abfd 100644 --- a/Examples/Testing/Package.swift +++ b/Examples/Testing/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Examples/Tutorial/Package.swift b/Examples/Tutorial/Package.swift index 7bd64a9e7..bf966cf12 100644 --- a/Examples/Tutorial/Package.swift +++ b/Examples/Tutorial/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.3 +// swift-tools-version: 6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index 0f26f8e6b..97a0dec1c 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -85,7 +85,7 @@ create_swift_project() { # swift package add-target-dependency AWSLambdaRuntime MyLambda --package swift-aws-lambda-runtime # swift package add-target-dependency AWSLambdaEvents MyLambda --package swift-aws-lambda-events cat < Package.swift -// swift-tools-version:6.3 +// swift-tools-version:6.1 import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift index a928e0f2f..82a97b51a 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift index d8ea48cc9..ef1b05b3c 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift index ca7d67f2b..e088b9e53 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift index 1cc498459..1886cf2da 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift index 0be7e68e2..749a01d43 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.3 +// swift-tools-version:6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md b/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md index c81f9f4e8..828c8c204 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md +++ b/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md @@ -30,7 +30,7 @@ swift package init --type executable 2. Add dependencies on `AWSLambdaRuntime` library ```swift -// swift-tools-version:6.3 +// swift-tools-version:6.1 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/readme.md b/readme.md index 79080eacc..8c366efde 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,7 @@ swift package init --type executable --name MyLambda 2.3 Your `Package.swift` file must look like this ```swift - // swift-tools-version: 6.3 + // swift-tools-version: 6.1 import PackageDescription From 55c7cf37cb89ef2816d309d903cebccf23519435 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:51:51 +0200 Subject: [PATCH 09/11] Revert "consistently use 6.1 as minimal version in all examples and doc" This reverts commit 1c3ef15a6cb31be64e7433f7024bcb64bf024de5. --- Examples/APIGatewayV1/Package.swift | 2 +- Examples/APIGatewayV2+LambdaAuthorizer/Package.swift | 2 +- Examples/APIGatewayV2/Package.swift | 2 +- Examples/BackgroundTasks/Package.swift | 2 +- Examples/CDK/Package.swift | 2 +- Examples/HelloJSON/Package.swift | 2 +- Examples/HelloWorld/Package.swift | 2 +- Examples/HelloWorldNoTraits/Package.swift | 2 +- Examples/HummingbirdLambda/Package.swift | 2 +- Examples/JSONLogging/Package.swift | 2 +- Examples/ManagedInstances/Package.swift | 2 +- Examples/MultiSourceAPI/Package.swift | 2 +- Examples/MultiTenant/Package.swift | 2 +- Examples/MultiTenant/README.md | 2 +- Examples/ResourcesPackaging/Package.swift | 2 +- Examples/S3EventNotifier/Package.swift | 2 +- Examples/S3_AWSSDK/Package.swift | 2 +- Examples/S3_Soto/Package.swift | 2 +- Examples/ServiceLifecycle+Postgres/Package.swift | 2 +- Examples/Streaming+APIGateway/Package.swift | 2 +- Examples/Streaming+Codable/Package.swift | 2 +- Examples/Streaming+FunctionUrl/Package.swift | 2 +- Examples/Testing/Package.swift | 2 +- Examples/Tutorial/Package.swift | 2 +- Examples/_MyFirstFunction/create_and_deploy_function.sh | 2 +- .../Docs.docc/Resources/code/03-02-01-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-02-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-03-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-04-package.swift | 2 +- .../Docs.docc/Resources/code/03-02-05-package.swift | 2 +- Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md | 2 +- readme.md | 2 +- 32 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Examples/APIGatewayV1/Package.swift b/Examples/APIGatewayV1/Package.swift index 4d20366b5..4e121e69b 100644 --- a/Examples/APIGatewayV1/Package.swift +++ b/Examples/APIGatewayV1/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift b/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift index f9ab60bfd..37193b34a 100644 --- a/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift +++ b/Examples/APIGatewayV2+LambdaAuthorizer/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/APIGatewayV2/Package.swift b/Examples/APIGatewayV2/Package.swift index 4d20366b5..4e121e69b 100644 --- a/Examples/APIGatewayV2/Package.swift +++ b/Examples/APIGatewayV2/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/BackgroundTasks/Package.swift b/Examples/BackgroundTasks/Package.swift index f9fd00270..65199acea 100644 --- a/Examples/BackgroundTasks/Package.swift +++ b/Examples/BackgroundTasks/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/CDK/Package.swift b/Examples/CDK/Package.swift index 4d20366b5..4e121e69b 100644 --- a/Examples/CDK/Package.swift +++ b/Examples/CDK/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HelloJSON/Package.swift b/Examples/HelloJSON/Package.swift index 8a953f029..10cc03367 100644 --- a/Examples/HelloJSON/Package.swift +++ b/Examples/HelloJSON/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HelloWorld/Package.swift b/Examples/HelloWorld/Package.swift index 1f9088d05..5edc198f3 100644 --- a/Examples/HelloWorld/Package.swift +++ b/Examples/HelloWorld/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HelloWorldNoTraits/Package.swift b/Examples/HelloWorldNoTraits/Package.swift index 1f9088d05..5edc198f3 100644 --- a/Examples/HelloWorldNoTraits/Package.swift +++ b/Examples/HelloWorldNoTraits/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/HummingbirdLambda/Package.swift b/Examples/HummingbirdLambda/Package.swift index a17873887..03fc9f623 100644 --- a/Examples/HummingbirdLambda/Package.swift +++ b/Examples/HummingbirdLambda/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/JSONLogging/Package.swift b/Examples/JSONLogging/Package.swift index 2e35d2ee3..56239ff0d 100644 --- a/Examples/JSONLogging/Package.swift +++ b/Examples/JSONLogging/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/ManagedInstances/Package.swift b/Examples/ManagedInstances/Package.swift index 9120fbced..1fe0b0532 100644 --- a/Examples/ManagedInstances/Package.swift +++ b/Examples/ManagedInstances/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/MultiSourceAPI/Package.swift b/Examples/MultiSourceAPI/Package.swift index fd350d125..d069803a9 100644 --- a/Examples/MultiSourceAPI/Package.swift +++ b/Examples/MultiSourceAPI/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/MultiTenant/Package.swift b/Examples/MultiTenant/Package.swift index 1aae8d94b..23d219f5e 100644 --- a/Examples/MultiTenant/Package.swift +++ b/Examples/MultiTenant/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/MultiTenant/README.md b/Examples/MultiTenant/README.md index 5d962df00..2491dea8a 100644 --- a/Examples/MultiTenant/README.md +++ b/Examples/MultiTenant/README.md @@ -157,7 +157,7 @@ requestParameters: ### Prerequisites -- Swift (>=6.1) +- Swift (>=6.3) - Docker (for cross-compilation to Amazon Linux) - AWS SAM CLI (>=1.147.1) - AWS CLI configured with appropriate credentials diff --git a/Examples/ResourcesPackaging/Package.swift b/Examples/ResourcesPackaging/Package.swift index 0cf496695..a10cb4f38 100644 --- a/Examples/ResourcesPackaging/Package.swift +++ b/Examples/ResourcesPackaging/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/S3EventNotifier/Package.swift b/Examples/S3EventNotifier/Package.swift index 6e7d5c9a4..0f479880f 100644 --- a/Examples/S3EventNotifier/Package.swift +++ b/Examples/S3EventNotifier/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 import PackageDescription let package = Package( diff --git a/Examples/S3_AWSSDK/Package.swift b/Examples/S3_AWSSDK/Package.swift index e92019384..ef9023881 100644 --- a/Examples/S3_AWSSDK/Package.swift +++ b/Examples/S3_AWSSDK/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 import PackageDescription diff --git a/Examples/S3_Soto/Package.swift b/Examples/S3_Soto/Package.swift index e98af8282..297065e59 100644 --- a/Examples/S3_Soto/Package.swift +++ b/Examples/S3_Soto/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 import PackageDescription diff --git a/Examples/ServiceLifecycle+Postgres/Package.swift b/Examples/ServiceLifecycle+Postgres/Package.swift index 032b5b4f9..88c967820 100644 --- a/Examples/ServiceLifecycle+Postgres/Package.swift +++ b/Examples/ServiceLifecycle+Postgres/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/Streaming+APIGateway/Package.swift b/Examples/Streaming+APIGateway/Package.swift index 18d49cbd1..8c3c05a66 100644 --- a/Examples/Streaming+APIGateway/Package.swift +++ b/Examples/Streaming+APIGateway/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/Streaming+Codable/Package.swift b/Examples/Streaming+Codable/Package.swift index 11ee90798..9c506dce9 100644 --- a/Examples/Streaming+Codable/Package.swift +++ b/Examples/Streaming+Codable/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 import PackageDescription diff --git a/Examples/Streaming+FunctionUrl/Package.swift b/Examples/Streaming+FunctionUrl/Package.swift index 292f6d1cf..ee7becce4 100644 --- a/Examples/Streaming+FunctionUrl/Package.swift +++ b/Examples/Streaming+FunctionUrl/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/Testing/Package.swift b/Examples/Testing/Package.swift index a05d6abfd..787725992 100644 --- a/Examples/Testing/Package.swift +++ b/Examples/Testing/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Examples/Tutorial/Package.swift b/Examples/Tutorial/Package.swift index bf966cf12..7bd64a9e7 100644 --- a/Examples/Tutorial/Package.swift +++ b/Examples/Tutorial/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.1 +// swift-tools-version: 6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index 97a0dec1c..0f26f8e6b 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -85,7 +85,7 @@ create_swift_project() { # swift package add-target-dependency AWSLambdaRuntime MyLambda --package swift-aws-lambda-runtime # swift package add-target-dependency AWSLambdaEvents MyLambda --package swift-aws-lambda-events cat < Package.swift -// swift-tools-version:6.1 +// swift-tools-version:6.3 import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift index 82a97b51a..a928e0f2f 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-01-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift index ef1b05b3c..d8ea48cc9 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-02-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift index e088b9e53..ca7d67f2b 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-03-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift index 1886cf2da..1cc498459 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-04-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift index 749a01d43..0be7e68e2 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift +++ b/Sources/AWSLambdaRuntime/Docs.docc/Resources/code/03-02-05-package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.1 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md b/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md index 828c8c204..c81f9f4e8 100644 --- a/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md +++ b/Sources/AWSLambdaRuntime/Docs.docc/quick-setup.md @@ -30,7 +30,7 @@ swift package init --type executable 2. Add dependencies on `AWSLambdaRuntime` library ```swift -// swift-tools-version:6.1 +// swift-tools-version:6.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/readme.md b/readme.md index 8c366efde..79080eacc 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,7 @@ swift package init --type executable --name MyLambda 2.3 Your `Package.swift` file must look like this ```swift - // swift-tools-version: 6.1 + // swift-tools-version: 6.3 import PackageDescription From 20f937173939e3becd63d655cc920d51666f24fa Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:52:52 +0200 Subject: [PATCH 10/11] consistent usage of swift 6.3 in examples --- Examples/ManagedInstances/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/ManagedInstances/README.md b/Examples/ManagedInstances/README.md index a272201d3..c687413f2 100644 --- a/Examples/ManagedInstances/README.md +++ b/Examples/ManagedInstances/README.md @@ -12,7 +12,7 @@ This example demonstrates deploying Swift Lambda functions to Lambda Managed Ins - AWS CLI configured with appropriate permissions - SAM CLI installed -- Swift 6.1+ installed +- Swift 6.3+ installed - An existing [Lambda Managed Instances capacity provider](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances-capacity-providers.html) ## Capacity Provider Configuration From fe474061fa722767fe07ce3575d6f94a0b920ac1 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 14 May 2026 10:53:43 +0200 Subject: [PATCH 11/11] propagate source and errors in log evenst --- Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift | 4 ++++ Tests/AWSLambdaRuntimeTests/JSONLogHandlerTests.swift | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift b/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift index 004d36441..462da92ce 100644 --- a/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift +++ b/Sources/AWSLambdaRuntime/Logging/JSONLogHandler.swift @@ -88,6 +88,8 @@ public struct JSONLogHandler: LogHandler { timestamp: Date(), level: Self.mapLogLevel(event.level), message: event.message.description, + source: event.source, + error: event.error.map { String(describing: $0) }, requestId: self.requestID, traceId: self.traceID, file: event.file, @@ -190,6 +192,8 @@ public struct JSONLogHandler: LogHandler { let timestamp: Date let level: String let message: String + let source: String + let error: String? let requestId: String let traceId: String let file: String diff --git a/Tests/AWSLambdaRuntimeTests/JSONLogHandlerTests.swift b/Tests/AWSLambdaRuntimeTests/JSONLogHandlerTests.swift index c1cd5681a..cc572fbc8 100644 --- a/Tests/AWSLambdaRuntimeTests/JSONLogHandlerTests.swift +++ b/Tests/AWSLambdaRuntimeTests/JSONLogHandlerTests.swift @@ -42,6 +42,8 @@ struct JSONLogHandlerTests { let timestamp: String let level: String let message: String + let source: String + let error: String? let requestId: String let traceId: String let file: String? @@ -73,6 +75,8 @@ struct JSONLogHandlerTests { timestamp: Date(), level: JSONLogHandler.mapLogLevel(level), message: message, + source: "TestSource", + error: nil, requestId: requestID, traceId: traceID, file: file, @@ -239,6 +243,8 @@ struct JSONLogHandlerTests { timestamp: Date(), level: "INFO", message: "test", + source: "TestSource", + error: nil, requestId: "r", traceId: "t", file: "Test.swift",