[csswg-drafts] Versioning policy and backwards incompatible changes (#5114)

gsnedders has just created a new issue for https://github.com/w3c/csswg-drafts:

== Versioning policy and backwards incompatible changes ==
I started writing this as a comment on #5111, but it seems like I've never actually posted an issue for all the times we've spoken about this. This also arguably has implications on #4770.

> [It] seems useful, to distinguish [specs such as cascade-3] from other old RECs which are unmaintained and wrong. People should be reading cascade-4, but they're not going to run into problems if they read cascade-3. On the other hand, the same isn't true about reading CSS2.0 instead of CSS2.1.

Honestly this just touches on our inconsistent habits with versioning again. I would much rather we actually tackled the whole versioning issue generally (where level 1 is nowadays defined informatively in the CSS Snapshot with the superseded spec advised against; level 2 is defined by 2.1; level 3 is defined by the modules; etc.).

At the moment if we make a backwards incompatible change to Level 4, our practice is to make behaviour undefined/optional in L2 and L3 (and ignore L1), which means we have to republish a number of RECs with substantive changes each time we make a backwards incompatible change, and that number is only going to increase over time. We also have a long term ambition to fully obsolete CSS2, which will then lead to the question as to where the normative definition of Level 2 will live.

We have a number of options here, as I see it:

1. Continue down the status-quo, accepting republishing multiple RECs when we do make normative changes.
2. Rewrite the L[n] spec to define itself as a subset of those in L[n+1].
3. Make the L[n] spec define behaviour for all L[<n] (this should never be divergent; this should just be including the different value spaces for properties and noting certain things are only defined for level k and above.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5114 using your GitHub account

Received on Tuesday, 26 May 2020 15:54:45 UTC