toml-lang / toml

Tom's Obvious, Minimal Language
https://toml.io
MIT License
19.45k stars 847 forks source link

Strategies for supporting unreleased TOML features #926

Closed anhy999 closed 1 year ago

anhy999 commented 1 year ago

Discussed in https://github.com/toml-lang/toml/discussions/923

Originally posted by **anhy999** August 18, 2022 ### Discussed in https://github.com/toml-lang/toml/discussions/915
Originally posted by **awvwgk** July 31, 2022 What is the general strategy of TOML library implementors here to add support for unreleased TOML features? Implementing features early before a release allows to provide access to users of TOML early, but comes with the disadvantage that the feature might change or other TOML related tooling is not compatible yet. I have seen some libraries provide a way to opt-in at compile time / run time for newer features. Testing and validation is also a bit more tricky, especially when previously incorrect TOML documents are becoming valid. Any thoughts on this are welcome.
arp242 commented 1 year ago

Implementing features early before a release allows to provide access to users of TOML early, but comes with the disadvantage that the feature might change or other TOML related tooling is not compatible yet. Testing and validation is also a bit more tricky, especially when previously incorrect TOML documents are becoming valid.

Those are indeed the trade-offs you'll have to make. There is no "one correct answer" here; use common sense and what you think "feels right" for you, depending on what possibilities your language offers, how much time you want to spend on all of this, your sense of "taste", etc.

pradyunsg commented 1 year ago

Please let this stay in the discussions. #915 is where this is being discussed.