-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Status of this crate #26
Comments
Out of curiosity, why not bump the major version number? Make a branch called release-0 (as in major number 0) which contains the existing code and which gets only bugfixes and minor features. New code goes in main (or release-1 if you want). Anyone who wants to keep the old API can specify in their Cargo.toml that they don't want versions with the new major number. It seems as if semantic versioning was created exactly for situations like this. |
The philosophy of the 2 crates are different, and they will evolve at different rates. I do want this to be highlighted. If we have a Furthermore, I would like |
Thank you for the clarification. |
This is helpful to know, so you might add this note to the README, possibly even using GitHub’s “admonition” syntax so it renders fancily, like so: Important TL;DR: This crate will receive only basic maintenance and keep a stable API. Initially, this crate was meant to be a replacement of However, we very rapidly have made API-breaking changes that required us to bump versions multiple times in a short timespan. This prevents us from evolving the library as we would like to. A balance needs to be found between improving the API and its usability and providing a library that people who already depend on To that end, we have created a new set of libraries that is intended to evolve, whether it be performance, large API refactoring or new features, without being bound to the stability needs of the existing Users looking for a YAML library that will improve over time and are willing to pay the price of a bit of refactoring with new releases are directed to |
That's a good idea, thanks! I've added the TL;DR only (I don't want this to occupy too much place in the README). There's a link to here for details. |
Makes sense. Thanks! |
TL;DR: This crate will receive only basic maintenance and keep a stable API.
saphyr
will accept new features, at the cost of a less stable APIInitially, this crate was meant to be a replacement of
yaml-rust
. As it is today, it serves this specific purpose well.However, we very rapidly have made API-breaking changes that required us to bump versions multiple times in a short timespan. This prevents us from evolving the library as we would like to. A balance needs to be found between improving the API and its usability and providing a library that people who already depend on
yaml-rust
can switch to easily if they do not want to spend the time migrating to another YAML library.To that end, we have created a new set of libraries that is intended to evolve, whether it be performance, large API refactoring or new features, without being bound to the stability needs of the existing
yaml-rust
user base. This means thatyaml-rust2
will receive fixes and very minor improvements if they can easily be ported, but no major change/feature will happen on this crate.Users looking for a YAML library that will improve over time and are willing to pay the price of a bit of refactoring with new releases are directed to
saphyr
. At the time of this writing, both are very similar. If you happen to only use the parser (and not theYaml
object), you may usesaphyr-parser
instead.The text was updated successfully, but these errors were encountered: