Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minecraft-aware versioning #11

Open
Pyrofab opened this issue Aug 30, 2019 · 0 comments
Open

Minecraft-aware versioning #11

Pyrofab opened this issue Aug 30, 2019 · 0 comments
Labels
talk Discussion or feedback thread

Comments

@Pyrofab
Copy link
Member

Pyrofab commented Aug 30, 2019

With the 1.15 snapshots coming out, we will have to support functionally identical versions that are only compatible with some Minecraft versions. As such, a way to tell the target game version from the mod's own version becomes necessary.
Ideally, the chosen versioning should abide Semantic Versioning.

Prior art:

  • Forge's recommended versioning uses a versioning scheme completely separate from SemVer. This is far from ideal, as both Fabric Loader and Gradle rely on proper semantic versioning for dependency resolution.
  • Sponge's versioning is similar to Forge. (related issue)
  • Prospector's Mod Menu uses regular versions (implied 1.14) for the stable channel, and appends -unstable.19wXX to versions targeting snapshots. This breaks when updates are released for 2 stable versions of the game (eg. 1.14 and 1.15), as it forces one of the two to be considered beta.
  • Fabric API appends the Minecraft version to the build metadata (eg. 0.3.2+19w35a). This is proper semantic versioning, and is retrocompatible with the current versioning scheme. It also avoids locking a specific CCA version to the Minecraft version it was built on. (related issue)

I'd be partial to Fabric's versioning scheme, as it is the least invasive. Depending on a specific minecraft version can now be done better by depending on the appropriate intrinsic mod container.

@Pyrofab Pyrofab added the talk Discussion or feedback thread label May 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
talk Discussion or feedback thread
Projects
None yet
Development

No branches or pull requests

1 participant