A Swift package for resolving released versions from a Git repository

What's New

Releases 5.0.0


Releases now uses Swift 5.1.

View build details and download artifacts on buddybuild:
Releases (iOS, Releases - Debug)

🚢 Releases

Using Releases you can easily resolve all released versions from a Git repository, in either a Swift script or command line tool. It supports both remote & local repositories and provides convenience APIs for sorting, filtering out pre-released versions, etc.


Simply call Releases.versions(for: url) and you'll get an array of Version back:

let url = URL(string: "")!
let releases = Releases.versions(for: url)

// Print the latest version

Remove all pre-release versions (like Alpha, Beta, etc):

let url = URL(string: "!
let releases = Releases.versions(for: url).withoutPreReleases()

// Print the latest stable version


For scripts

  • Install Marathon.
  • Add Releases to Marathon using $ marathon add
  • Alternatively, add to your Marathonfile.
  • Write your script, then run it using $ marathon run yourScript.swift.

For command line tools

  • Add .package(url: "", from: "2.0.0") to your Package.swift file's dependencies.
  • Update your packages using $ swift package update.

Help, feedback or suggestions?

  • Open an issue if you need help, if you found a bug, or if you want to discuss a feature request.
  • Open a PR if you want to make some change to Releases.
  • Contact @johnsundell on Twitter for discussions, news & announcements about Releases & other projects.


  • Swift Tools 5.1.0
View More Packages from this Author


Last updated: Thu Feb 16 2023 20:59:11 GMT-0500 (GMT-05:00)