#zerover — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #zerover, aggregated by home.social.
-
I finally got annoyed enough with the #zerover limbo that I slapped on a v1.0.0 tag and switched to #semver for my #git utility that sets filesystem modification timestamps to the last commit that touched each file in a repository:
https://github.com/alerque/git-warp-time
No big changes, just an indication that the tool works and there is no need on the horizon to shake it up.
If you use a build system like #make that reacts to timestamps and are tired of wasted builds jump in; the water is clear of sharks.
-
CW: rant
https://rocket.rs/guide/v0.5/faq/#in-prod
While Rocket is still in the 0.x phase, the version number is purely a stylistic choice. In fact, we consider Rocket to be the most mature web framework in the Rust ecosystem. To our knowledge, Rocket is the only Rust web framework that correctly implements: […]
Dear #Rocket devs: Please read the fucking semver spec!If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backward compatibility, you should probably already be 1.0.0.
If you are so immature as to not even follow what to me feels like just about the easiest standard in software-development to follow, how can I trust that you follow the less obvious standards that actually matter?
It’s like a pharmacist claiming that he cleaned his entire body before mixing your injections and that nobody does it more thoroughly than him, but his pants are covered in dirt: The pants technically don’t matter, what matters is that his hands were clean, but it really calls into question his other claims…
If you're coming from a different ecosystem, you should feel comfortable considering Rocket's v0.x as someone else's vx.0.
Rust points to the semver standard and that standard disagrees with you.Rust and Cargo's semver policy, and Rocket's strict adherence to it, ensures that Rocket will never break your application when upgrading from 0.x.y to 0.x.z, where z >= y.
Furthermore, we backport all security and correctness patches to the previous major release (0.{x-1}.y), so your application remains secure if you need time to upgrade.
What major releases? You don’t have any!
And if you treat your minor releases as major releases, that means that you have no distinction between minor releases and patches left…
Well, it’s not that rocket is alone in that regard, but it at least makes the choice easier, sine it really cuts down on frameworks that seem to primarily be successful due to SEO, rather than maturity. I’m now looking at #actix as a starting point, since they at least pass the sniff-test of getting versioning right and seem to support what I might need…
#zerover #semver #rust #rustlang -
Just found out that #cargo (The #rust thing) is still pre-release software at version 0.88.0…
Kinda not surprising considering that even their #semver implementation isn’t standards-complient and assumes any form of stability guarantees for pre 1.0.0 releases. Sadly it still drives home that the rust ecosystem as a whole is still not ready for actual practical use, because everything seems to depend on unstable pre-release versions.
(Seriously, this #zerover nonsense is a much bigger factor in keeping me away from rust than it probably should be; among many other issues it communicates an extreme disregard for standards and professionalism: Semver explicitly states that “If your software is being used in production, it should probably already be 1.0.0.” — Having widely used software on version 0.x.y is at least as much a semver-violation as a minor breaking change between version 1.1.1 and 1.1.2! Rewriting with a new API in a different programming language between version 0.2.3 and 0.2.4 is btw. NOT a semver-violation, but explicitly allowed!) -
So, are you more #SemVer or #ZeroVer for your software versioning? Like #reactnative or #hugo
After all... even in major versions we encounter breaking changes 🥴
-
-