this post was submitted on 07 Jun 2024
286 points (99.7% liked)

Announcements

23326 readers
1 users here now

Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.

You can also find major news on join-lemmy.org

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 12 points 5 months ago (2 children)

I know pre 1.x.x is kind of a wild west for versioning but uh is there any logic to the version numbers here? I'd think a new feature would be a minor version bump, not patch

[–] [email protected] 24 points 5 months ago (2 children)

The convention in many Rust projects is usually that before 1.0, the patch version behaves like the minor version and the minor version behaves like a major version. So once there are breaking changes, they go to 0.20.0.

[–] [email protected] 11 points 5 months ago

This is correct, and we've been following this for lemmy too.

[–] [email protected] 7 points 5 months ago* (last edited 5 months ago)

This is the case with a lot of apps that follow SemVer, even though it's not an official part of the spec. It's not specific to Rust.

The other common thing I see is that if it's been at 0.x for a long time, the minor version number eventually gets "promoted" to a major version number once the app is stable. For example, React went from 0.14.x to 15.0.0.

[–] [email protected] 13 points 5 months ago (1 children)

That's my bad really. Currently we're using the patch semver to denote non-breaking changes, and the minor for breaking.

We're holding off on a major release until the API reaches stable, which like all open source projects we're reticent to do because then it puts a lot of pressure on us to match the standard of enterprise-level software developed by a large corporation.

Even though lemmy has many thousands of monthly active users, we're still really an beta-level software developed by a handful of people.

[–] [email protected] 8 points 5 months ago* (last edited 5 months ago)

Honestly, that strategy feels like the most sensible one, since the real world often does not (or can not afford to) care to wait for v1.0.0 before using software. It's no wonder so many programming ecosystems have adopted it.

I find it a bit of a shame it's not part of the semver specification itself, which only states:

  1. (paraphrased) do whatever you want haha

My point is, I don't think that's "your bad." It's just how it is, and the best there currently is. Unless you think there's something that could've been done better, in which case I'm curious as to what, if you're willing to share.