Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 16, 2025

Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.

This PR contains the following updates:

Package Update Change
apple/swift-syntax major from: "601.0.1" -> from: "602.0.0"
apple/swift-syntax major from: "600.0.1" -> from: "602.0.0"
apple/swift-syntax major from: "510.0.3" -> from: "602.0.0"
apple/swift-syntax major from: "509.1.1" -> from: "602.0.0"
apple/swift-syntax major from: "508.0.1" -> from: "602.0.0"

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

apple/swift-syntax (apple/swift-syntax)

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: swiftlang#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: swiftlang#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: swiftlang#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: swiftlang#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: swiftlang#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: swiftlang#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: swiftlang#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: swiftlang#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: swiftlang#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.

Configuration

📅 Schedule: 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 these updates 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 force-pushed the renovate/apple-swift-syntax-602.x branch 7 times, most recently from fcf108f to 7226081 Compare September 19, 2025 20:34
@renovate renovate bot force-pushed the renovate/apple-swift-syntax-602.x branch from 7226081 to d17c27d Compare September 20, 2025 05:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants