-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k

Description
It is a matter of preference, but I would like to see "year based" version numbering once zig is out of beta, with version numbers looking something like this:
- Zig-2021-0.0, first release
- Zig-2021-0.1, first bugfix release
- Zig-2021-1.0, first improvement release
- ...
- Zig-2024-0.0, first "breaking" release.
Here are the associations I would get from different version numbers:
Zig-2021, the "standard" set by the first version of Zig, which is great for most use cases, keeps getting support, but was released ASAP to get something workable out there that people can depend upon (instead of C), while risking that the design decisions might not sufficiently cover all use cases.
Zig-2024, the refined standard that while making some breaking changes, could take real world usage into account and make final language adjustments that might be crucial for some (but not all) use cases.
Zig-1.0, The first version of Zig, but Zig-2.0 is gonna be twice as good! I will have to upgrade.
Zig-2.0. The second version of Zig, but Zig-3.0 is gonna be 50% better! I will have to upgrade.
TLDR: Incremental version numbering gives the impression of something bound to be replaced, while year based numbering gives the impression of something being a standard.
Final thoughts, if it would be very straight forward for an imagined Zig-2024 project to include (imagined) Zig-2021 packages as dependencies, then Zig could be a "stable" language, yet not have to stop evolving after the first release.