Conversation
added 2 commits
July 7, 2026 16:40
added 3 commits
July 7, 2026 17:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modernizes the codebase for Swift 6.4 (still builds on 6.2, 6.3, and 6.4) and lays the groundwork for v3.
Swift feature flags
Enables four feature flags in
Package.swift:NonisolatedNonsendingByDefaultExistentialAnyMemberImportVisibilityInternalImportsByDefaultWarnings are treated as errors via
treatAllWarnings(as: .error). To make it compile: addedanyto existential types, marked imports aspublic importwhere a dependency's types appear in public API, and added a few missing Foundation imports in tests.The Soto clients under
GeneratedClients/are generated, soscripts/generate-aws-clients.shnow emitsanyandpublic importautomatically. TwoAWSErrorShape.Typeuses can't takeanyyet (soto-core hasn't adopted it), so they stay as warnings viatreatWarning("ExistentialAny", as: .warning).Task-local logger
The runtime binds the per-invocation
Logger(carryingrequestID/traceID) as the task-localLogger.currentfor the duration of the handler. Any code in the call tree can read it and inherit the request metadata, with no need to threadcontext.loggerthrough every function:Runtime entry points now default their
logger:parameter toLogger.current. Since the project enablesNonisolatedNonsendingByDefault, the binding is active across all supported toolchains (6.2 to 6.4). Task-local values propagate through structured concurrency but are not inherited byTask.detached. See the newlogging.mdarticle for details.Testing
Tested with
swift buildandswift test. CI covers Swift 6.2, 6.3, and 6.4 on Linux.