-
Notifications
You must be signed in to change notification settings - Fork 861
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
Formalize current state as "1.0" #515
Comments
See also #513 |
See also #330 |
This is why I'm made the push for TOML to become v1.0, a few months back.
As I understand, there's #499, #502 and #510 which should be finished up before @mojombo would make a 1.0 release; along with a website, maybe even #465. I'm not someone who's making the decisions on this project anyway, so, there's that. |
@pradyunsg your efforts on v1.0 have not gone unnoticed, or unappreciated! You have been instrumental in getting it to this state, which, in my opinion, can just call 1.0. Re: #499 -- what do the current parsers do? Would using paths in keys work? If not, it can wait until after 1.0. Re: #502 -- This does not sound like something that should hold up 1.0, since none of the current parsers use the ABNF anyway. Re: #510 -- Ditto. Re: #465 -- Why would a mime type hold up 1.0? I am also not sure why a website is a dependency for 1.0. All these things sound like they could wait for a 1.1 release. @mojombo -- can you clarify which issues you think are blockers for 1.0, and mark them as such? |
Thanks for the kind words. ^>^
They don't accept it but this is a powerful thing. It shouldn't take much time and I already have a half-baked PR (#505). This is something that can wait for 1.1 though.
I'd say it's the "formal" part of the TOML specification. Even if the parsers don't use it directly, the behaviour is concretely defined there. Anyway, we could just drop these for now and be done with it but yeah, it's not ideal.
It won't. It's more of a nice-to-have. :)
It'd been stated before somewhere in this repo that Tom wanted that for a 1.0 release. I won't mind having the current state marked TOML 1.0. I would strongly prefer to see #499 and #510 resolved before a 1.0 is marked. I think I might be able to finish up the PRs for them this week. Let's see. |
Off Topic: Saying PEP 518 or pip use "semver", would be wrong. See PEP 440 for the versioning scheme used in the Python ecosystem. |
That versioning scheme just says how pip parses other packages' version number: it's compatible with semver, but does not mandate it. Pip itself uses semver, e.g., upgrading major number for incompat changes -- see https://pip.pypa.io/en/stable/news/ for 9.0.0. |
I'd rather not digress here. :) |
@mojombo I think we need feedback here. What issues do you think are must-have for 1.0, considering it's already depended on in the wild by big projects? |
I am starting a project in which my plan is to use TOML. I would feel more secure knowing that TOML is planning soon to move off what is now a 3 year old spec. |
Coming back to this now, I'm gonna try to plot a path for a v1.0.0 of TOML:
Okay. So, it seems we're almost there. Now, if @mojombo wants a website, I'm pretty sure it'll be pretty simple to setup. (I imagine it'll be a Jekyll site hosted on GH Pages). It can be held off until after a release IMO. |
@pradyunsg What is your recommendation for #499? |
@mojombo I'll post them there. :) |
Is it okay to release 1.0 with toml.abnf marked as "work-in-progress"? ( How would we convince ourselves that toml.abnf does not contradict the Spec? A comprehensive testsuite would be helpful, but it does not exist.) Should toml.abnf be removed completely from the scope of 1.0 ? |
I had a realization on the airplane today, which is that in trying to make everything perfect for v1.0.0, I've been delaying everything pointlessly. Which is dumb. I just released the current master branch as v0.5.0 and further clarified the stability of the software and intended backwards compatibility of v1.0.0. Hopefully this will encourage implementations to get up to speed with the many improvements that have been added since v0.4.0 and ease the transition to v1.0.0 once we've nailed down the last few technicalities. I know many of you are impatient for v1.0.0 and I understand completely. At the same time, I think it's extremely important to make it solid. This kind of spec works best when major versions don't need to be changed with a bunch of patches afterwards to fix up and clarify edge cases. |
0ver rides on! Keep flying that flag, Tom! |
See #617. |
There's https://github.com/toml-lang/toml/projects/1 for tracking progress to 1.0 now. |
For future reference, after three release candidates, TOML 1.0 was released on 12 January 2021! 🎉 |
Amazing, thanks team!! |
TOML is now relied upon in the wild by big projects -- pyproject.toml and cargo.toml among others, which are implemented, respectively, in pip master (as yet unreleased, but probably soon) and cargo 1.23 (at time of writing) -- both using semver and having >1.0 versions.
This means that effectively TOML cannot really break backwards compatibility without breaking the basic tool for the top language and the most loved language. While one can quibble with the measurements of Python and Rust, one cannot argue that they are important tools which currently have baked TOML deep into the specification of their build tools.
If it is impossible to just freeze the current state as 1.0, there needs to be a clear indication of what things need to be resolved for 1.0, issues made for them and at least some semblance of a timeline for solving them -- or a request for a co-maintainer who can help shepherd 1.0.
Please do not close this bug until one of these things is done.
The text was updated successfully, but these errors were encountered: