Skip to content

Automated Dependency Updates for Swift Package Manager

Categories: swift

Renovate supports updating Swift Package Manager dependencies.

File Matching

By default, Renovate will check any files matching the following regular expression: (^|/)Package\.swift.

For details on how to extend a manager's fileMatch value, please follow this link.

Supported datasources

This manager supports extracting the following datasources: git-tags.

Default config

{
  "fileMatch": [
    "(^|/)Package\\.swift"
  ],
  "versioning": "swift",
  "pinDigests": false
}

Additional Information

Anything other than .exact(<...>) or exact:<...> will be treated as range with respect to Swift specific. Because of this, some PR descriptions will look like from: <...> => <...>.

Examples:

package(name: "<...>", .exact("1.2.3"))   // => 1.2.3
package(name: "<...>", exact: "1.2.3")    // => 1.2.3
package(name: "<...>", from: "1.2.3")     // => from: "2.0.0"
package(name: "<...>", "1.2.3"...)        // => "2.0.0"...
package(name: "<...>", "1.2.3"..."1.3.0") // => "1.2.3"..."2.0.0"
package(name: "<...>", "1.2.3"..<"1.3.0") // => "1.2.3"..<"2.0.0"
package(name: "<...>", ..."1.2.3")        // => ..."2.0.0"
package(name: "<...>", ..<"1.2.3")        // => ..<"2.0.0"

Open items

The below list of features were current when this page was generated on May 26, 2024.

Feature requests

  • Detect Swift git dependencies #18766
  • Package.resolve isn't updated after update Package.swift #6924