Skip to content

Update dependency swiftlang/swift-syntax to v604 - #127

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/swiftlang-swift-syntax-604.x
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/swiftlang-swift-syntax-604.x

Conversation

@renovate

@renovate renovate Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
swiftlang/swift-syntax major "600.0.0" ..< "700.0.0" → "600.0.0" ..< "604.0.0"

Release Notes

swiftlang/swift-syntax (swiftlang/swift-syntax)

v604.0.0

Compare Source

New APIs

  • Trivia has a new docCommentValue property.
    • Description: Extracts sanitized comment text from doc comment trivia pieces, omitting leading comment markers (///, /**).
    • Pull Request: #​2966

API Behavior Changes

Deprecations

API-Incompatible Changes

v603.0.2

Compare Source

API Behavior Changes

  • SwiftSyntaxMacrosTestSupport now supports Swift Testing in addition to XCTest
    • Description: Macro implementations can now be tested using Swift Testing. Calling assertMacroExpansion() from a Swift Testing test will record failures as test issues automatically.
    • Pull Request: #​3352
    • Migration steps: None required. Existing tests using SwiftSyntaxMacrosTestSupport with XCTest continue to work unchanged, but you can convert such tests to Swift Testing if desired.
    • Notes: If your project has an explicit dependency on the swift-testing package, rather than using a built-in copy of the Testing module, you may encounter build or runtime issues. This is a known limitation of using a non-built-in distribution of Swift Testing; the Distributions documentation covers this topic in detail. There are two ways to resolve this: (1) remove the dependency on the swift-testing package and switch to using a built-in copy, as the documentation recommends; or (2) import SwiftSyntaxMacrosGenericTestSupport instead of SwiftSyntaxMacrosTestSupport and supply your own failureHandler: closure that calls Issue.record() explicitly. (The latter works correctly even when using a package dependency.)

Full Changelog: swiftlang/swift-syntax@603.0.1...603.0.2

v603.0.1

Compare Source

What's Changed

Full Changelog: swiftlang/swift-syntax@603.0.0...603.0.1

v603.0.0

Compare Source

New APIs

  • SwiftIfConfig.StaticBuildConfiguration a data structure for a build configuration.

    • Description: This describes all of the aspects of a build configuration that are needed for #if evaluation. It is Codable so that it can be stored and replayed later.
    • Pull Request: #​3154
  • MacroExpansionContext.buildConfiguration

    • Description: MacroExpansionContext now has buildConfiguration property describing the build configuration that will be used with the generated source code.
    • Pull Request: #​3154

API Behavior Changes

Deprecations

API-Incompatible Changes

v602.0.0

Compare Source

New APIs

  • SwiftLexicalLookup - A new Swift unqualified lookup library

    • Description: The library provides a new Swift unqualified lookup implementation detached from the compiler and accessible to outside clients. The query is stateless and can be directly run on swift-syntax syntax tree, with any syntax node functioning as an entry point. It produces an enum-based data structure as a result that partitions collected names based on the lexical scope of introduction.
    • Pull Request: #​2952
    • Notes: The library follows the behavior of the compiler implementation with some minor differences, such as a different way of handling dollar identifiers $x and generic parameters inside extensions. Furthermore, in the future, once the compiler adopts SwiftLexicalLookup and it becomes the canonical implementation, results produced by the query will be guaranteed to be correct.
  • DiagnosticMessage has a new optional property, category, that provides a category name and documentation URL for a diagnostic.

    • Description: Tools often have many different diagnostics. Diagnostic categories allow tools to group several diagnostics together with documentation that can help users understand what the diagnostics mean and how to address them. This API allows diagnostics to provide this category information. The diagnostic renderer will provide the category at the end of the diagnostic message in the form [#CategoryName], and can print categories as "footnotes" with its categoryFootnotes method.
    • Pull Request: #​2981
    • Migration steps: None required. The new category property has optional type, and there is a default implementation that returns nil. Types that conform to DiagnosticMessage can choose to implement this property and provide a category when appropriate.
  • DiagnosticsFormatter has a new method, formattedMessage, that formats a diagnostic message without any corresponding syntax node.

    • Description: Some tools want to use the diagnostics formatter to produce diagnostics that don't relate to source code, or for which the source code isn't available. This API allows them to do so while maintaining consistent presentation.
    • Pull Request: #​3059
    • Migration steps: None required.
  • FixIt.Change has a new case replaceText that performs a textual replacement of a range of text with another string.

    • Description: The other FixIt.Change cases provide structured
      modifications to syntax trees, such as replacing specific notes. Some
      clients provide Fix-Its that don't fit well into this structured model. The
      replaceText case makes it possible for such clients to express Fix-Its.
    • Pull request: #​3030
    • Migration stems: None required.

API Behavior Changes

Deprecations

API-Incompatible Changes

  • ExpandEditorPlaceholdersToTrailingClosures has changed to ExpandEditorPlaceholdersToLiteralClosures

    • Description: Whether function-typed placeholders are expanded to trailing closures is now configurable using a format argument to this rewriter. Additionally clients that support nested placeholders may request that the entire expanded closure be wrapped in an outer placeholder, e.g. <#{ <#foo#> in <#Bar#> }#>.
    • Pull Request: #​2897
    • Migration steps: Replace uses of ExpandEditorPlaceholdersToTrailingClosures with ExpandEditorPlaceholdersToLiteralClosures. The initializer does not need to change: .init(indentationWidth:) on the new type provides the same behavior as the old type.
    • Notes: This improves code completion in a SourceKitLSP session where the trailing closure form may be undesirable. The nested placeholders offer more flexibility to end users, in editors that support it.
  • SyntaxArena and ParsingSyntaxArena has changed to SPI

    • Description: SyntaxArena and the subclasses were only meant to be used when dealing with RawSyntax which is also SPI.
    • Pull Request: #​2930
    • Migration steps: Do not use SyntaxArena or ParsingSyntaxArena directly.
    • Notes: Although the type itself was public, most initializers were already SPI and there was no way to retrive them from existing types via public API.
  • SyntaxChildrenIndex is no longer ExpressibleByNilLiteral

    • Description: nil used to represent the end index. However, due to a change in the internal structure, the end index must now be retrieved from the collection.
    • Pull Request: #​2925
    • Migration steps: Use SyntaxChildren.endIndex instead.
    • Notes: ExpressibleByNilLiteral was a mistake. In general, Collection.Index should only be created and managed by the collection itself. For example, Collection.index(after:) exists, but Index.advanced(by:) does not.
  • Some cases in AttributeSyntax.Arguments choices and related types has been removed

    • Description: Some attributes that used to have special attribute list syntax are now parsed as a regular AttributeSyntax with .argumentList(LabeledExprListSyntax).
    • Pull Request: #​3028
    • Migration steps: Use AttributeSyntax.Arguments.argumentList(LabeledExprListSyntax) instead.
    • Notes: Removed cases from AttributeSyntax.Arguments: token(TokenSyntax), string(StringLiteralExprSyntax), conventionArguments(ConventionAttributeArgumentsSyntax), conventionWitnessMethodArguments(ConventionWitnessMethodAttributeArgumentsSyntax), opaqueReturnTypeOfAttributeArguments(OpaqueReturnTypeOfAttributeArgumentsSyntax), exposeAttributeArguments(ExposeAttributeArgumentsSyntax), underscorePrivateAttributeArguments(UnderscorePrivateAttributeArgumentsSyntax), and unavailableFromAsyncArguments(UnavailableFromAsyncAttributeArgumentsSyntax). Removed Syntax kinds: ConventionAttributeArgumentsSyntax, ConventionWitnessMethodAttributeArgumentsSyntax, OpaqueReturnTypeOfAttributeArgumentsSyntax, ExposeAttributeArgumentsSyntax, UnderscorePrivateAttributeArgumentsSyntax, and UnavailableFromAsyncAttributeArgumentsSyntax.
  • ExpandEditorPlaceholdersToLiteralClosures & CallToTrailingClosures now take a Syntax parameter

    • Description: These refactorings now take an arbitrary Syntax and return a Syntax?. If a non-function-like syntax node is passed, nil is returned. The previous FunctionCallExprSyntax overloads are deprecated.
    • Pull Request: #​3092
    • Migration steps: Insert a Syntax(...) initializer call for the argument, and cast the result with .as(...) if necessary.
    • Notes: This allows the refactorings to correctly handle macro expansion expressions and declarations.

v601.0.1

Compare Source

Fixes a missing dependency from SwiftSyntax to SwiftSyntax601 which prevented its use in #if canImport.

v601.0.0

Compare Source

New APIs

  • SameTypeRequirementSyntax has a new RightType nested type.

    • Description: The Swift parser can now parse values as types in certain situations, so the new type reflects the possibility of the argument being either an ExprSyntax or a TypeSyntax.
    • Pull Request: #​2859
  • SameTypeRequirementSyntax has a new LeftType nested type.

    • Description: The Swift parser can now parse values as types in certain situations, so the new type reflects the possibility of the argument being either an ExprSyntax or a TypeSyntax.
    • Pull Request: #​2859
  • GenericArgumentSynax has a new Argument nested type.

    • Description: The Swift parser can now parse values as types in certain situations, so the new type reflects the possibility of the argument being either an ExprSyntax or a TypeSyntax.
    • Pull Request: #​2859
  • GenericParameterSyntax now has a new specifier property.

    • Description: With the introduction of value generics, generic parameters can now be optionally preceded by either a let or an each. The specifier property captures the token representing which one was parsed.
    • Pull Request: #​2785
  • IntegerLiteralExprSyntax and FloatLiteralExprSyntax now have a computed representedLiteralValue property.

    • Description: Allows retrieving the represented literal value when valid.
    • Issue: apple#405
    • Pull Request: apple#2605
  • SyntaxProtocol now has a method ancestorOrSelf.

    • Description: Returns the node or the first ancestor that satisfies condition.
    • Pull Request: #​2696
  • Error protocol now has an asDiagnostics(at:) method.

    • Description: This method translates an error into one or more diagnostics, recognizing DiagnosticsError and DiagnosticMessage instances or providing its own Diagnostic as needed.
    • Pull Request: #​1816
  • Added a new library SwiftIfConfig.

    • Description: This new library provides facilities for evaluating #if conditions and determining which regions of a syntax tree are active according to a given build configuration.
    • Pull Request: #​1816
  • SwiftBasicFormat adds a method indented(by:) to all syntax node types.

    • Description: This method indents a node’s contents using a provided piece of Trivia, optionally including the first line.
    • Pull Request: #​2843
  • Parser.ExperimentalFeatures has a new init?(name: String) initializer.

    • Description: This initializer returns the Parser.ExperimentalFeatures value that matches the experimental parser feature with the given name. The name must be spelled the same way as it is when passed to the compiler using the -enable-experimental-feature flag.
    • Pull Request: #​2895

API Behavior Changes

  • SyntaxProtocol.trimmed detaches the node
    • Description: Getting a trimmed version of a node detaches it from its parent. Having the trimmed node be attached to a parent was not intuitive because eg. printing the parent node would have the trimmed trivia missing, most likely forming invalid Swift code.
    • Pull Request: apple#2689

Deprecations

  • GenericParameterSyntax deprecated eachKeyword in favor of specifier

    • Description: specifier is now used to grab either the each keyword for a generic parameter or the let keyword.
    • Pull request: #​2785
  • IncrementalEdit deprecated in favor of SourceEdit

    • Description: IncrementalEdit is being dropped for SourceEdit. SourceEdit has deprecated compatibility layers to make it API-compatible with IncrementalEdit
    • Issue: apple#2532
    • Pull request: apple#2604
  • ClosureCaptureSyntax.init(leadingTrivia:specifier:name:equal:expression:trailingComma:trailingTrivia:) deprecated in favor of a new ClosureCaptureSyntax.init(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:) initializer.

    • Description: ClosureCaptureSyntax now has an initializer property instead of equal and expression. Additionally, the name property is no longer optional.
    • Pull request: #​2763
  • Indenter in SwiftSyntaxBuilder has been deprecated in favor of the new indented(by:) in SwiftBasicFormat.

    • Description: Indenting is really more of a formatting operation than a syntax-building operation. Additionally, the indented(by:) method is more intuitive to use than a SyntaxRewriter. Aside from BasicFormat, there are no other public SyntaxRewriter classes in the package.
    • Pull Request: #​2843

API-Incompatible Changes

  • SameTypeRequirementSyntax.rightType has changed types from TypeSyntax to SameTypeRequirementSyntax.RightType

    • Description: The Swift parser can now parse values as types in certain situations, so the new type reflects the possibility of the argument being either an ExprSyntax or a TypeSyntax.
    • Pull Request: #​2859
  • SameTypeRequirementSyntax.leftType has changed types from TypeSyntax to SameTypeRequirementSyntax.LeftType

    • Description: The Swift parser can now parse values as types in certain situations, so the new type reflects the possibility of the argument being either an ExprSyntax or a TypeSyntax.
    • Pull Request: #​2859
  • GenericArgumentSyntax.argument has changed types from TypeSyntax to GenericArgumentSyntax.Argument

    • Description: The Swift parser can now parse values as types in certain situations, so the new type reflects the possibility of the argument being either an ExprSyntax or a TypeSyntax.
    • Pull Request: #​2859
  • Moved Radix and IntegerLiteralExprSyntax.radix from SwiftRefactor to SwiftSyntax.

    • Description: Allows retrieving the radix value from the literal.text.
    • Issue: apple#405
    • Pull Request: apple#2605
  • FixIt.Change gained a new case replaceChild(data:).

    • Description: The new case covers the replacement of a child node with another node.
    • Issue: #​2205
    • Pull Request: #​2758
    • Migration steps: In exhaustive switches over FixIt.Change, cover the new case.
  • ClosureCaptureSyntax.name is no longer optional.

    • Description: Due to the new ClosureCaptureSyntax node structure, name property is non-optional.
    • Pull request: #​2763

v600.0.1

Compare Source

Compared to 600.0.0 this release fixes a compilation issue when building swift-syntax in C++ interop mode (#​2861).

It also contains the following changes from 600.0.0.

New APIs

  • FixIt now has a new computed property named edits

    • Description: the edits represent the non-overlapping textual edits that need to be performed when the Fix-It is applied.
    • Issue: swiftlang/sourcekit-lsp#909
    • Pull Request: #​2314
  • SourceEdit

  • assertMacroExpansion now have new parameters named applyFixIts and fixedSource

    • Description: applyFixIts and fixedSource are used to assert so ensure that the source code after applying Fix-Its matches this string.
    • Issue: #​2015
    • Pull Request: #​2021
  • DeclSyntaxEnum, StmtSyntaxEnum, ExprSyntaxEnum, TypeSyntaxEnum, and PatternSyntaxEnum

    • Description: Enum to exhaustively switch over all different syntax nodes of each base type.
    • Pull Request: #​2351
  • WithOptionalCodeBlock

    • Description: A trait for syntax nodes that have an optional code block, such as FunctionDeclSyntax and InitializerDeclSyntax.
    • Pull Request: #​2359
  • CodeBlockSyntax

    • Description: CodeBlockSyntax is now SyntaxParseable, so it can be used with string interpolations.
    • Pull Request: #​2361
  • ThrowsClause

    • Description: The throwsSpecifier for the effects nodes (AccessorEffectSpecifiers, FunctionEffectSpecifiers, TypeEffectSpecifiers, EffectSpecifiers) has been replaced with throwsClause, which captures both the throws specifier and the (optional) thrown error type, as introduced by SE-0413.
    • Pull Request: #​2379
  • String.isValidSwiftIdentifier(for:)

    • Description: SwiftParser adds an extension on String to check if it can be used as an identifier in a given context.
    • Pull Request: #​2434
  • MacroDeclSyntax.expand

    • the expand(argumentList:definition:replacements:) method gains a new parameter 'genericReplacements:' that is defaulted to an empty array.
    • The method's signature is now expand(argumentList:definition:replacements:genericReplacements:)
    • Pull Request: #​2450
  • SyntaxProtocol.asMacroLexicalContext() and allMacroLexicalContexts(enclosingSyntax:)

    • Description: Produce the lexical context for a given syntax node (if it has one), or the entire stack of lexical contexts enclosing a syntax node, for use in macro expansion.
    • Pull request: #​1554
  • TriviaPiece.isComment

    • Description: TriviaPiece now has a computed property isComment that returns true if the trivia piece is a comment.
    • Pull Request: #​2469
  • New assertMacroExpansion API with option to specify macro specifications with macroSpecs argument

    • Description: macroSpecs can have additional specifications like conformances provided by member or extension macro that can be used for macro expansion.
    • Issue: #​2031
    • Pull Request: #​2327
  • BasicFormat.inferIndentation(of:)

    • Description: Uses heuristics to infer the indentation width used in a syntax tree.
    • Pull Request: #​2514
  • IncrementalEdit stores replacement text

    • Description: IncrementalEdit used to store the range that was replaced and the length of the replacement but not the replacement bytes by itself. IncrementalEdit now has a replacement property that contains the replacement bytes.
    • Pull Request: #​2527
  • Type specifiers

    • Description: AttributedTypeSyntax can now contain multiple specifiers and these types are used to model the list of specifiers. Additionally, type specifiers can now contain arguments, like borrow(data). To facilitate this, the following new types were introduces: LifetimeSpecifierArgumentListSyntax, LifetimeSpecifierArgumentSyntax, LifetimeSpecifierArgumentsSyntax, LifetimeTypeSpecifierSyntax, SimpleTypeSpecifierSyntax, TypeSpecifierListSyntax
    • Pull request: #​2433
  • DeclGroupSyntax.introducer

    • Description: The DeclGroupSyntax trait has an extra introducer property, ie. the keyword that introduces the declaration.
    • Issue: swiftlang/sourcekit-lsp#2535
    • Pull Request: #​2539
  • ExprSyntax.interpretedAsVersionTuple

    • Description: With the change to parse #if canImport(MyModule, _version: 1.2.3) as a function call instead of a dedicated syntax node, 1.2.3 natively gets parsed as a member access 3 to the 1.2 float literal. This property allows the reinterpretation of such an expression as a version tuple.
    • Pull request: #​2025
  • SyntaxProtocol.node(at:)

    • Description: Given a SyntaxIdentifier, returns the Syntax node with that identifier
    • Pull request: #​2594
  • SyntaxIdentifier.IndexInTree

    • Description: Uniquely identifies a syntax node within a tree. This is similar to SyntaxIdentifier but does not store the root ID of the tree. It can thus be transferred across trees that are structurally equivalent, for example two copies of the same tree that live in different processes. The only public functions on this type are toOpaque and init(fromOpaque:), which allow serialization of the IndexInTree.
    • Pull request: #​2594
  • SyntaxIdentifier conformance to Comparable:

    • Description: A SyntaxIdentifier compares less than another SyntaxIdentifier if the node at that identifier occurs first during a depth-first traversal of the tree.
    • Pull request: #​2594
  • SyntaxIdentifier.indexInTree and SyntaxIdentifier.fromIndexInTree

    • Description: SyntaxIdentifier.indexInTree allows the retrieval of a SyntaxIdentifier that identifies the syntax node independent of the syntax tree. SyntaxIdentifier.fromIndexInTree allows the creation for a SyntaxIdentifier from a tree-agnostic SyntaxIdentifier.IndexInTree and the tree's root node.
    • Pull request: #​2594
  • SwiftSyntaxMacrosGenericTestSupport

    • Description: A version of the SwiftSyntaxMacrosTestSupport module that doesn't depend on Foundation or XCTest and can thus be used to write macro tests using swift-testing. Since swift-syntax can't depend on swift-testing (which would incur a circular dependency since swift-testing depends on swift-syntax), users need to manually specify a failure handler like the following, that fails the swift-testing test: Issue.record("\($0.message)", fileID: $0.location.fileID, filePath: $0.location.filePath, line: $0.location.line, column: $0.location.column)
    • Pull request: #​2647
  • TokenSyntax.identifier

    • Description: Adds an identifier property to TokenSyntax which returns a canonicalized representation of an identifier that strips away backticks.
    • Pull request: #​2576

Deprecations

  • Child Choice Node Casts

    • Description: is, as, and cast methods for types not contained in the choice node are marked as deprecated. The deprecated methods will emit a warning, indicating that the cast will always fail.
    • Issue: #​2092
    • Pull Request: #​2184
    • Migration steps: Remove the is, as or cast methods because they will always fail.
  • IncrementalParseTransition:

    • Description: The initializer IncrementalParseTransition.init(previousTree:edits:lookaheadRanges:reusedNodeCallback:) is marked as deprecated. Use IncrementalParseTransition.init(previousIncrementalParseResult:edits:reusedNodeCallback:) instead.
    • Issue: #​2267
    • Pull request: #​2272
    • Migration steps: Call IncrementalParseTransition.init(previousIncrementalParseResult:edits:reusedNodeCallback:) instead.
  • MacroExpansion{Error|Warning|FixIt}Message moved to the SwiftSyntaxMacros module

    • Description: Move the MacroExpansion{Error|Warning|FixIt}Message types from the SwiftSyntaxMacroExpansion module to SwiftSyntaxMacros. Deprecated typealiases in SwiftSyntaxMacroExpansion forward to SwiftSyntaxMacros.
    • Pull request: #​2338
    • Notes: The expansion diagnostic messages were defined in SwiftSyntaxMacroExpansion, which is intended as an implementation detail of the plugin server and should not need to be imported by macros.
  • EditorPlaceholderDeclSyntax and EditorPlaceholderExprSyntax:

    • Description: EditorPlaceholderDeclSyntax and EditorPlaceholderExprSyntax are now deprecated and placeholders are instead parsed as identifiers within a MissingDeclSyntax or DeclReferenceExprSyntax.
    • Pull request: #​2237
  • AttributedTypeSyntax.specifier has renamed to specifiers and changed to be a collection

    • Description: Types can have multiple specifiers now and the syntax tree has been modified to reflect that.
    • Pull request: #​2433
  • CanImportExprSyntax and CanImportVersionInfoSyntax

    • Description: Instead of parsing canImport inside #if directives as a special expression node, parse it as a functionc call expression. This is in-line with how the swift(>=6.0) and compiler(>=6.0) directives are parsed.
    • Pull request: #​2025

API-Incompatible Changes

  • MacroDefinition used for expanding macros:

    • Description: The MacroDefinition/expansion enum case used to have two values ((MacroExpansionExprSyntax, replacements: [Replacement])), has now gained another value in order to support generic argument replacements in macro expansions: (MacroExpansionExprSyntax, replacements: [Replacement], genericReplacements: [GenericArgumentReplacement])
    • Pull request: #​2450
    • Migration steps: Code which exhaustively checked over the enum should be changed to case .expansion(let node, let replacements, let genericReplacements):. Creating the .extension gained a compatibility shim, retaining the previous syntax source compatible (return .expansion(node, replacements: [])).
  • Effect specifiers:

    • Description: The unexpectedAfterThrowsSpecifier node of the various effect specifiers has been removed.
    • Pull request: #​2219
    • Migration steps: Check unexpectedBetweenThrowsSpecifierAndThrownError and unexpectedAfterThrownError instead.
  • SyntaxKind removed conformance to CaseIterable

    • Description: SyntaxKind no longer conforms to CaseIterable since there is no good use case to iterate over all syntax kinds.
    • Pull request: #​2292
    • Migration steps: Exhaustively check all the syntax nodes that your program supports. There should be no use case to iterate over all cases in SyntaxKind.
  • IntegerLiteralExprSyntax.Radix removed conformance to CaseIterable

    • Description: IntegerLiteralExprSyntax.Radix no longer conforms to CaseIterable since there is no good use case to iterate over all radix kinds.
    • Pull request: #​2292
    • Migration steps: There should be no use case to iterate over all cases in IntegerLiteralExprSyntax.Radix.
  • Parser.parseIncrementally(source:parseTransition:) and Parser.parseIncrementally(source:maximumNestingLevel:parseTransition:):

    • Description: The default versions of Parser.parseIncrementally return a IncrementalParseResult instead of a tuple. Access to the struct should be compatible with the tuple in almost all cases unless the tuple is stored into a variable and then destructed or passed to a function that expects a tuple.
    • Issue: #​2267
    • Pull request: #​2272
    • Migration steps: If necessary, change type annotations from the tuple to the IncrementalParseResult type.
  • SyntaxClassification gained a new case: argumentLabel

    • The new classification case covers the first names of parameters in function-like declarations and the label of arguments in function-like calls.
    • Pull request: #​2375
    • Migration steps: In exhaustive switches over SyntaxClassification, cover the new case.
  • SyntaxEnum and SyntaxKind gained new cases: throwsClause

    • The new cases cover the newly introduced ThrowsClauseSyntax
    • Pull request: #​2379
    • Migration steps: In exhaustive switches over SyntaxEnum and SyntaxKind, cover the new case.
  • MacroExpansionContext now requires a property lexicalContext:

    • Description: The new property provides the lexical context in which the macro is expanded, and has several paired API changes. Types that conform to MacroExpansionContext will need to implement this property. Additionally, the HostToPluginMessage cases expandFreestandingMacro and expandAttachedMacro now include an optional lexicalContext. Finally, the SyntaxProtocol.expand(macros:in:indentationWidth:) syntactic expansion operation has been deprecated in favor of a new version expand(macros:contextGenerator:indentationWidth:) that takes a function produces a new macro expansion context for each expansion.
    • Pull request: #​1554
    • Migration steps: Add the new property lexicalContext to any MacroExpansionContext-conforming types. If implementing the host-to-plugin message protocol, add support for lexicalContext. For macro expansion operations going through SyntaxProtocol.expand, provide a context generator that creates a fresh context including the lexical context.
  • TriviaPiece.isBackslash in SwiftParserDiagnostics removed

    • Description: TriviaPiece.isBackslash was not intended to be public API.
    • Pull request: #​2531
    • Migration steps: Use if case .backslash = triviaPiece instead
  • All symbols in SwiftCompilerPluginMessageHandling are now SPI

    • Description: This module is only intended to be used from some internal components. Any other modules should not use them directly.
    • Pull request: #​2489
    • Migration steps: Stop using this module.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from ctreffs as a code owner October 8, 2026 13:40
@renovate renovate Bot added the dependencies label Oct 8, 2026
@renovate
renovate Bot force-pushed the renovate/swiftlang-swift-syntax-604.x branch 7 times, most recently from 0bffbcf to 8bd3e26 Compare October 13, 2026 09:46
@renovate
renovate Bot force-pushed the renovate/swiftlang-swift-syntax-604.x branch 2 times, most recently from a274cc4 to 3ee97bf Compare October 16, 2026 18:50
@renovate
renovate Bot force-pushed the renovate/swiftlang-swift-syntax-604.x branch from 3ee97bf to c1dbb05 Compare October 17, 2026 11:05

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants