Skip to content

Automated Dependency Updates for Swift Package Manager

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",
  "rangeStrategy": "bump",
  "pinDigests": false
}

Additional Information

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

Examples:

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 feature requests

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

Open bug reports

  • When updating for SwiftPM, tag with prefix may be inserted to version #9077

The above list of features and bugs were current when this page was generated on December 08, 2022.