Replies: 1 comment 6 replies
-
I get this and considered 4.0.0, but Glaze undergoes a lot of breaking API changes because it has such a broad API. Most of these changes don't affect the majority of users, but they are still API breaking changes. I'm trying to reserve major version numbers to the most significant changes and changes that are likely to affect all users. Glaze has lots of breaking changes that don't make sense for major version releases, because it might leave JSON unaffected, but affect the CSV format. It would be more confusing to users of this library to constantly be putting out major versions. Maybe I should follow a different versioning format? I'm not sure. One thing I try to be careful with is to not introduce runtime breaking changes in minor versions, so breaking changes in minor version numbers are always compile time issues that are obvious for users. There is also the issue that bug fixes that change behavior are not technically backwards compatible, so following strict semantic versioning would require major versions for lots of bug fixes. |
Beta Was this translation helpful? Give feedback.
-
Just for Your info.
With 3.5.0 You are making API breakage but not following with this version semantic versioning.
With the approach widely used in semantic ver. it is much easier to manage such packages in projects
So when some package does not change major version number and is following this scheme then You can upgrade it knowing it should work and be backward compat. with the version You are Using currently.
I know it is up to You but this is versioning scheme is comfortable for users. For example You can set some project to use tag 3.* when this rule is maintained and get all bug and security updates without constantly checking project github page.
Beta Was this translation helpful? Give feedback.
All reactions