Skip to content

Conversation

@ActualMasterOogway
Copy link
Contributor

@ActualMasterOogway ActualMasterOogway commented Jul 25, 2025

Previously, Rokit strictly required tool versions to follow the x.y.z semantic versioning scheme. This would cause parsing errors when a tool in a manifest or a release on GitHub used a simpler x.y version, such as luau@0.683.

This change introduces support for the x.y versioning scheme by transparently converting such versions to a compatible x.y.0 format before they are processed by the semver library.

This includes:

  • A new utility function to convert x.y version strings to x.y.0, correctly handling pre-release tags and build metadata.
  • Integration of this utility into the parsing logic for rokit.toml, foreman.toml, and GitHub release tags.
  • Enhanced the GitHub release fetching logic to first check for the exact tag (e.g., v1.2.0) and then fall back to the x.y version (e.g., v1.2) if the initial tag is not found. This improves compatibility with repositories that use a two-digit versioning scheme for their releases.

Solves #86

Previously, Rokit strictly required tool versions to follow the `x.y.z` semantic versioning scheme. This would cause parsing errors when a tool in a manifest or a release on GitHub used a simpler `x.y` version, such as `luau@0.683`.

This change introduces support for the `x.y` versioning scheme by transparently converting such versions to a compatible `x.y.0` format before they are processed by the `semver` library.

This includes:
- A new utility function to convert `x.y` version strings to `x.y.0`, correctly handling pre-release tags and build metadata.
- Integration of this utility into the parsing logic for `rokit.toml`, `foreman.toml`, and GitHub release tags.
- Enhanced the GitHub release fetching logic to first check for the exact tag (e.g., `v1.2.0`) and then fall back to the `x.y` version (e.g., `v1.2`) if the initial tag is not found. This improves compatibility with repositories that use a two-digit versioning scheme for their releases.
@Dekkonot
Copy link
Member

Dekkonot commented Aug 7, 2025

This needs a changelog entry, but otherwise looks good to me.

@ActualMasterOogway
Copy link
Contributor Author

This needs a changelog entry, but otherwise looks good to me.

I knew i forgot something 🥴
ActualMasterOogway@bf7e8cd

@Dekkonot Dekkonot merged commit 5a04fe9 into rojo-rbx:main Aug 10, 2025
7 checks passed
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.

2 participants