-
Notifications
You must be signed in to change notification settings - Fork 68
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
Define how to handle different versions of the specification #162
Comments
Token files can also be kept static for years after initial creation with tool X. Other comparable tools might only support the latest version of the specification. Should old files like these be expected to work in up to date tools or not at all? |
@romainmenke, good point 👍 It could be nice to have a kind of |
For identifying which version of the spec a file is following, the top-level |
@TravisSpomer oh yes, absolutely 🙌 |
This helps for a single person with a single file and a single tool. It is however not really the point of my question here :) Either the specification embraces backwards/forwards compatibility principles or it doesn't. CSS for examples has very nice compatibility features:
But the downside is that mistakes in the specification are there forever. Compared to the web design tokens will also have the downside of being mostly private files. Defining upfront how the spec will evolve is important because it will have such a big impact on the ecosystem around the spec. |
How do we define upfront how the spec will evolve? In my opinion being in IT for more than a decade, maintaining absolute backwards compatibility is hard. I would aim for "loose" backwards compatibility as long as possible. When a reason for new major spec is needed, let's
|
@danosek I am assuming that everyone knows or can research how to do breaking changes, that is not really the point here :) Maintaining absolute backwards compat is indeed hard, but not impossible. More important however is declaring the intent. |
This specification should assume that there is a large ecosystem of tools and a large body of static token files.
Tools can be well maintained or not and can be up to date with the latest specification or they might not be.
A single organisation using design tokens might depend on dozens of tools all which will can be in different states.
Users might not always be aware of all the other tools used in an organisation.
Users might not be aware of the exact state of all the tools.
Users will not have the ability to influence the tools in use and their state.
Knowing what is supported, what will work from A to Z will be non-trivial in a relatively large org once the specification has been through a few updates.
At the moment I could not find anything specific about this in the current specification.
The text was updated successfully, but these errors were encountered: