hints / ua · opt-in

Sec-CH-UA-Full-Version

Sec-CH-UA-Full-Version carries the full browser version as a single string. It is deprecated; request Sec-CH-UA-Full-Version-List instead.

requires Accept-CH deprecated UA · opt-in
Example
Sec-CH-UA-Full-Version: "126.0.6478.127"
JavaScript
getHighEntropyValues(['uaFullVersion'])
Available since
Chrome 89 (2021), deprecated since Chrome 98
Engines
Chrome Edge Opera Firefox Safari
References
MDN · Specification

Sec-CH-UA-Full-Version was the original way to get an exact browser version over client hints: one quoted string, one version.

Sec-CH-UA-Full-Version: "126.0.6478.127"

Why it was replaced

A single version number cannot answer the question honestly in a multi-brand world. Whose version is 126.0.6478.127, Chromium’s or Edge’s? Real browsers carry several brands (see Sec-CH-UA), each with its own version, and Edge’s build number differs from the Chromium it wraps. Sec-CH-UA-Full-Version-List fixed this in Chrome 98 by returning the whole brand/version table, and this header was deprecated the same day.

Chromium still sends it if you ask, and will for the foreseeable future (an enormous amount of deployed Accept-CH configuration references it), but MDN and the spec both flag it deprecated.

Migrating

# before
Accept-CH: Sec-CH-UA-Full-Version

# after
Accept-CH: Sec-CH-UA-Full-Version-List
// before
const { uaFullVersion } = await navigator.userAgentData
  .getHighEntropyValues(['uaFullVersion']);

// after
const { fullVersionList } = await navigator.userAgentData
  .getHighEntropyValues(['fullVersionList']);
const chrome = fullVersionList.find((b) => b.brand === 'Google Chrome');

New integrations should never request this hint. It remains documented here because you will keep meeting it in older tutorials, existing Accept-CH headers, and analytics pipelines for years.