Intent to Prototype and Ship: User-Agent Reduction Phase 4 (minor version reduction)

802 views
Skip to first unread message

Mike Taylor

unread,
Feb 1, 2022, 11:24:10 AM2/1/22
to blink-dev, Ali Beyad, Jade Kessler

Contact emails

mike...@chromium.org, abe...@chromium.org, jadek...@chromium.org


Explainer

https://github.com/WICG/ua-client-hints#explainer-reducing-user-agent-granularity


Specification

https://www.chromium.org/updates/ua-reduction is the closest thing that specifies Chrome’s UA Reduction plans today. As these changes land in Chromium, the Compat Standard will be updated to reflect them (in the newly landed UA String section).


Summary

As previously detailed on the Chromium Blog, we intend to proceed with Phase 4 of the User-Agent Reduction plan.


In Phase 4, the MINOR.BUILD.PATCH version numbers are reduced to "0.0.0". For use cases requiring high-entropy full version information, developers are encouraged to migrate to the User Agent Client Hints API, in particular the Sec-CH-UA-Full-Version-List hint.



Blink component

Blink


TAG review

https://github.com/w3ctag/design-reviews/issues/640


TAG review status

Issues addressed


Risks


Interoperability and Compatibility

Any time you modify the User-Agent string there is a risk of some content somewhere depending on the previous format.


There should not be interop risks, as each browser sends its own User-Agent string. But there is a risk that content somewhere is relying on “non-zero” MINOR, BUILD, or PATCH information. My personal view is that the risk is low compared to the rest of the changes to come in later phases. But in order to mitigate the risk of this change, we intend to slowly roll it out via Finch and observe health metrics (i.e., HTTP 4XX and 5XX error codes, etc.) and bug reports from the community.


We've surveyed dozens of User-Agent parsing libraries, and as far as we know "0.0.0" will not create a problem syntactically. But the web can get pretty weird in ways we don't anticipate, hence the slow roll-out and incremental path towards User-Agent Reduction.


Gecko: Shipped/Shipping. Firefox has frozen (or capped) much of their UA string already.


WebKit: Shipped/Shipping. Safari has already frozen everything in their UA string except for version number info.


Web developers: Mixed signals. Reactions have ranged from positive to indifferent to negative, from various channels.


Debuggability

No special DevTools support needed.



Is this feature fully tested by web-platform-tests?

No


Flag name

reduce-user-agent


Requires code in //chrome?

False


Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1282229


Launch bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1282238


Estimated milestones

We aim to start rollout in M101. We will update this thread once the feature is shipping to 100% of the stable population.



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6311349754789888


Chris Harrelson

unread,
Feb 1, 2022, 1:21:06 PM2/1/22
to Mike Taylor, blink-dev, Ali Beyad, Jade Kessler
LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/05b6cf46-7bce-bd03-8a93-0db496a3a26e%40chromium.org.

Domenic Denicola

unread,
Feb 1, 2022, 1:27:41 PM2/1/22
to Mike Taylor, blink-dev, Ali Beyad, Jade Kessler
On Tue, Feb 1, 2022 at 11:24 AM Mike Taylor <mike...@chromium.org> wrote:

Contact emails

mike...@chromium.org, abe...@chromium.org, jadek...@chromium.org


Explainer

https://github.com/WICG/ua-client-hints#explainer-reducing-user-agent-granularity


Specification

https://www.chromium.org/updates/ua-reduction is the closest thing that specifies Chrome’s UA Reduction plans today. As these changes land in Chromium, the Compat Standard will be updated to reflect them (in the newly landed UA String section).


I want to call out that this is some really great work. For years specs have basically said "use an implementation-defined value", but we knew that was not sufficient for web compatibility, and it was not useful to web developers or implementers. Years ago we started to capture some interesting constraints in HTML's definition of navigator compatibility mode, but we knew there were many more.

The work Mike has done has started to address this long-standing issue of spec tech debt, and it's really great that he's put in the extra work here instead of just taking advantage of the spec's historical looseness.

I did a quick review on the spec and found some minor issues and clarity improvement suggestions, but overall this is a great foundation and gives me confidence others can both follow along with our plans, and implement compatible software based on them.
 

Rick Byers

unread,
Feb 1, 2022, 4:37:59 PM2/1/22
to Domenic Denicola, Mike Taylor, blink-dev, Ali Beyad, Jade Kessler

Mike West

unread,
Feb 2, 2022, 11:59:39 AM2/2/22
to blink-dev, Rick Byers, Mike Taylor, blink-dev, Ali Beyad, Jade Kessler, Domenic Denicola
LGTM3.

-mike

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Joe Medley

unread,
Apr 19, 2022, 12:22:41 PM4/19/22
to blink-dev, mk...@chromium.org, rby...@chromium.org, mike...@chromium.org, blink-dev, Ali Beyad, Jade Kessler, dom...@chromium.org
Is this shipping in 101? That's the rumor.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Mike Taylor

unread,
Apr 19, 2022, 12:30:54 PM4/19/22
to Joe Medley, blink-dev, mk...@chromium.org, rby...@chromium.org, Ali Beyad, Jade Kessler, dom...@chromium.org

Mike Taylor

unread,
Jun 16, 2022, 3:53:41 PM6/16/22
to blink-dev, Joe Medley
PSA: this was enabled for 100% of M101+ clients on Monday of this week (June 13th).
Reply all
Reply to author
Forward
0 new messages