We seek to align our implementation of GREASE in User Agent Client Hints with the current spec, which includes additional GREASE characters beyond the current semicolon and space, and which recommends varying the arbitrary version. This is to help prevent bad assumptions from being built on top of User-Agent strings.
This intent seeks approval to begin an experiment on stable at 1% with the m98 release. Due to a clerical error, the experiment is already running on m98 in beta. The goal is to determine whether the new spec is web compatible via a controlled experiment before we ship to stable.
In progress, but all raised issues addressed.
The prior inclusion (in 2020) of escaped ASCII 0x22 (double quote) and 0x5C (backslash) proved to be web incompatible and was rolled back. While we do not anticipate similar problems with the updated character list, we have taken (or will take) the following actions to validate this assumption:
Pre-launch testing of the new characters against known-common sites, which will include tests against the components known to have been incompatible with the prior implementation [COMPLETED].
Addition of an enterprise policy escape hatch [COMPLETE].
A phased rollout along with monitoring of HTTP 4XX response rates [PROPOSED HERE].
Gecko: Non-harmful (https://mozilla.github.io/standards-positions/#ua-client-hints)
WebKit: No signal
Web developers: No signals
Other signals: N/A
A phased rollout is desired to ensure the changes to the spec are web-compatible. To that end, we will begin with 1% of users on stable, with monitoring of HTTP response codes to ensure the change is non-breaking.
N/A; no change required
No (not on WebView or iOS)
We anticipate this experiment starting in M98 and running for 2 milestones, but it could extend if the data is inconclusive. We are most concerned about website tail behavior with this change, which can make data gathering slower than we’d like.