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

[css-2015][css-2017][css-2018] List features cleared for shipping #2388

Closed
fantasai opened this Issue Mar 4, 2018 · 14 comments

Comments

Projects
None yet
9 participants
@fantasai
Contributor

fantasai commented Mar 4, 2018

We have a policy of discouraging shipping implementations for anything which hasn't been cleared by the CSSWG, either by the spec reaching CR or by us resolving on an exception to indicate that we've reviewed it and think it's stable enough. It's easy to see what's in CR, it's harder to find the list of exceptions: we should put them in the snapshot.

Here's a start:

  • Flow-relative equivalents of sizing, border, margin, and padding properties
  • Transforms, Animations, Transitions
  • min-content, max-content keywords for sizing properties
  • Box Alignment (through dependency in Grid)

Diff of proposed text (can merge the two lists if preferred):

diff --git a/css-2017/Overview.bs b/css-2017/Overview.bs
index ed27757..f1e339d 100644
--- a/css-2017/Overview.bs
+++ b/css-2017/Overview.bs
@@ -497,6 +497,7 @@ Experimentation and Unstable Features</h4>
        In exceptional cases,
        the CSSWG may additionally, by an officially-recorded resolution,
        add pre-CR features to the set that are considered safe to release for broad use.
+       See [[#CR-exceptions]].
 
        Note: Vendors should consult the WG explicitly and not make assumptions on this point,
        as a pre-CR spec that hasn't changed in awhile is usually more out-of-date than stable.
@@ -647,6 +648,36 @@ Preserving the Openness of CSS</h5>
        <a href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a>
        mailing list.
 
+<h2 id="CR-exceptions">
+Safe to Release pre-CR Exceptions</h2>
+
+       The following features have been explicitly and proactively cleared
+       by the CSS Working Group for broad release
+       prior to the spec reaching Candidate Recommendation:
+       <ul>
+               <li>The flow-relative equivalents of
+               the sizing properties ('width', 'height', etc.),
+               the border properties,
+               the margin and padding properties.
+               See <a href="https://lists.w3.org/Archives/Public/www-style/2015Jul/0040.html">explanation</a>
+               and <a href="https://www.w3.org/TR/css-logical-1/">specification</a>.
+
+               <li>The ''min-content'' and ''max-content'' keywords of the sizing properties.
+               See <a href="https://lists.w3.org/Archives/Public/www-style/2015Aug/0109.html">decision</a>
+               and <a href="https://www.w3.org/TR/css-sizing-3/#sizing-values">specification</a>.
+       </ul>
+
+       The following features have been explicitly and retroactively cleared
+       by the CSS Working Group for broad release
+       prior to the spec reaching Candidate Recommendation:
+       <ul>
+               <li>Everything in
+               <a href="https://www.w3.org/TR/css-animations-1/">CSS Animations Level 1</a>,
+               <a href="https://www.w3.org/TR/css-transitions-1/">CSS Transitions Level 1</a>,
+               and
+               <a href="https://www.w3.org/TR/css-transforms-1/">CSS Transforms Level 1</a>.
+       </ul>
+
@frivoal

This comment has been minimized.

Contributor

frivoal commented Mar 4, 2018

Looks good to me.

I don't remember off the top of my head if there's anything that should be added to this list, but at least what you listed seems right, and the wording looks clear to me.

@svgeesus

This comment has been minimized.

Contributor

svgeesus commented Mar 5, 2018

Depending on the discussion at this week's call, conic-gradient() could also be added to that list.
#2383

@SelenIT

This comment has been minimized.

Collaborator

SelenIT commented Mar 6, 2018

Maybe the new display values, such as flow-root (implemented in Gecko and Blink) and contents (shipped in Gecko for 3 years, in WebKit recently and in Blink today), should also be added to the "stable enough" list?

@fantasai

This comment has been minimized.

Contributor

fantasai commented Mar 8, 2018

overflow-x and overflow-y need to be added, too.

@frivoal frivoal added the Agenda+ label Mar 8, 2018

@dbaron

This comment has been minimized.

Member

dbaron commented Mar 8, 2018

Some of the things I suggested in #2281 that Florian said no to might be in this category too -- I need to double-check.

@fantasai

This comment has been minimized.

Contributor

fantasai commented Mar 8, 2018

As of today, conic-gradient()

@fantasai fantasai removed the Agenda+ label Mar 8, 2018

@dbaron

This comment has been minimized.

Member

dbaron commented Mar 13, 2018

Some of the new things in selectors4, perhaps? (Some of them certainly are shipping, like :focus-within... and certainly the selectors that were in the 2004 CR of css3-ui but have been removed from more recent drafts and haven't been in a CR of the draft they currently live in.)

@dbaron

This comment has been minimized.

Member

dbaron commented Mar 13, 2018

Also, if this is the working group's policy, I think it would also be helpful to have a list of the specs that have at some point in the past been in CR. We have specs that have been in CR, but that have had very substantial changes since the CR (e.g., ruby and text were last in CR in May 2003; I think some features in them may also have been explicitly cleared to ship).

I also think that if we build a list of things that have been cleared to ship, we should make some attempt to make that list exhaustive. There are a bunch of those hidden in meeting minutes in various places over the past decade. And the list of features that are actually shipping is substantially larger than the set of features allowed by the policy as written, and I think much of that was done with the approval of the working group, although perhaps not by the fully formal process laid out in the snapshot. (And, hmmm... that section seems to have a bunch of the text that duplicates what @fantasai proposes at the top of this issue.)

@w3c w3c deleted a comment from Arezohayeman Apr 5, 2018

@frivoal frivoal added the Agenda+ F2F label Apr 6, 2018

@ericwilligers

This comment has been minimized.

Contributor

ericwilligers commented Apr 9, 2018

The individual transform properties translate, scale, rotate are nearly ready to ship - #2520 needs to be resolved and the tests need to reflect the distinction between 2D and 3D transforms. (Blink might ship offset-anchor at the same time as translate, scale, rotate)

@dbaron

This comment has been minimized.

Member

dbaron commented Apr 9, 2018

some of the variable fonts features in css-fonts-4 seem to be shipping (were they already cleared to ship somewhere?)

@css-meeting-bot

This comment has been minimized.

Member

css-meeting-bot commented Apr 10, 2018

The Working Group just discussed List of features for shipping, and agreed to the following resolutions:

  • RESOLVED: Merge this text in after editorial changes
  • RESOLVED: proceed with publishing snapshot as-is including the open issues
The full IRC log of that discussion <dael> Topic: List of features for shipping
<dael> github: https://github.com//issues/2388
<plinss> : present+ Peter Linss, Invited Expert
<dael> florian: The snapshot has a section with the general policy of the WG. WE don't do vendor prefixes but do draft maturity. The WG can make exceptions based on market pressure. WE don't list what the exceptions are. fantasai created proposed text and a list of examples.
<dael> dbaron: One of my concerns about the list is over the past 15 years we've cleared various features at various times that are scattered across minutes. The mor complete the list is the more serious it is to have them listed.
<dael> fantasai: We should get to the point where the list is comprehensive. If there are things not on the list we should add them.
<dael> florian: It's a not so repub isn't hard.
<astearns> section under discussion: https://drafts.csswg.org/css-2018/#experimental
<dael> dbaron: WE may find two or three missing over the course of a month.
<dael> fantasai: That's okay.
<dael> florian: Review the list?
<dael> fantasai: I think my list was things we've already cleared. There's stuff we didn't clear buy shipped.
<dael> florian: [reads list]
<dael> florian: Chris suggested we add conic gradient
<dael> florian: Focus-within?
<dael> fantasai: I don't think explicitly cleared, but it's shipping.
<dael> florian: That's the list. fantasai has an edit proposed. If everyone is happy we'll merge.
<dael> dbaron: Is this the edit with similar text?
<dael> fantasai: Yeah, we have to clean that up.
<dael> dbaron: I'm fine with merging after the duplication is sorted out.
<dael> florian: Are we okay resolving to merge this after editorial improvements?
<dael> astearns: And going forward as we approve things edit this in.
<dael> fantasai: And if there's something that needs to be added to the list let us know.
<dael> dbaron: There's things that should be on the list but I couldn't find minutes.
<dael> fantasai: Just list and say "I think we cleared but I couldn't find miuntes"
<dael> dbaron: Some were over 10 years ago.
<dael> fantasai: Put them in and we'll find them or re-resolve
<dael> Rossen: Other suggestions?
<dael> Rossen: Objections?
<dael> RESOLVED: Merge this text in after editorial changes
<dael> florian: There are 4 open issues. Link in the agenda. Do we want to publish before dealing with them?
<dael> florian: One is an issue in bikeshed, the indexes are slightly wrong, I wouldn't block on that. Document conformance should be added from 2.1, that should happen. But do we want to block on it?
<dael> florian: Last is sort of related, issue #1139. NOthing lists what the fields in the propdef table means. Snapshot could be that.
<dael> ??: I think that's the right place.
<dael> florian: It's a new snapshot because it's a new year.
<dael> Rossen: Sure. It will be more beneficial to get the snapshot out.
<dael> Rossen: Was issue should we block on those?
<dael> florian: yes
<dael> Rossen: Obj to proceed with publishing snapshot as-is including the open issues?
<dael> RESOLVED: proceed with publishing snapshot as-is including the open issues
@smfr

This comment has been minimized.

Contributor

smfr commented Apr 10, 2018

I have some concerns about this "clear to ship" process. Clearing a feature for shipping doesn't seem to be based on any testing or implementation criteria, so anyone is free to push their pet feature as "clear to ship", bypassing the normal process which is based on spec status. I think we should only used the "clear to ship" exception in exceptional circumstances, and not for things like conic gradient or rotate/translate/scale. Those should be handled via spec acceleration or splitting. When we do use the exception process, there should be testing and implementation criteria.

@frivoal

This comment has been minimized.

Contributor

frivoal commented Apr 11, 2018

@smfr I agree with you that this "clear to ship" should be used for exceptions, and that normal cases should be handled via spec acceleration or splitting.

Do you "just" want to us be more careful in the future about how we grant exceptions, or do you want to try and overturn the resolution that granted exceptions for conic gradient or rotate/translate/scale?


That does not change the fundamental part of this issue, which is that we list the exceptions we have granted, so I'll move forward with the edits, but if we do overturn these resolutions, I'll update the list accordingly.

@frivoal frivoal removed the Needs Edits label May 31, 2018

@frivoal frivoal closed this in 65d3ffe May 31, 2018

@frivoal frivoal removed the snapshot-2017 label May 31, 2018

@Arezohayeman

This comment has been minimized.

Arezohayeman commented Jun 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment