Skip to content

Zig-2021 vs Zig-1.0: Using year based version numbering #5053

@ghost

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposalThis issue suggests modifications. If it also has the "accepted" label then it is planned.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions