Welcome to the new FlakeHub docs experience!
Concepts
FlakeHub URLs

How FlakeHub URLs work

Here's the structure of FlakeHub URLs:

https://flakehub.com/f/:org/:project/:version-range.tar.gz

staticrequired

The version-range field defines the boundaries of versions you want. The range is not an exact version number, and allows SemVer compatible upgrades.

FlakeHub's version solver behaves like Cargo's version solver (opens in a new tab). In short, here are some example version ranges and how they're interpreted:

  • 1.0.1 is always 1.0.1 and never upgrades to 2.0.0.
  • 0.1.1 returns at least 0.1.1 but never upgrades to 0.2.0.

FlakeHub also offers a few comparison operators, which generally shouldn't be necessary.

Tilde operator (~)

The tilde (~) reduces the maximum version boundary when specifying the major and minor versions. The version constraint ~1.0, for example, upgrades to any version between 1.0 and 1.1 but not to 1.1.

Wildcard operator (*)

The wildcard (*) allows for any version in that position.

  • The version range * always uses the highest published version.
  • 1.2.* allows any version with the major and minor version 1.2.

Equals operator (=)

The equals (=) operator enables users to specify exactly one version with no room to update.

  • =1.0 always returns version 1.0.