Update to a new set of possible values for the Device Memory API: - Android: 1, 2, 4, 8 - Others: 2, 4, 8, 16, 32 Replacing the old values of 0.25, 0.5, 1, 2, 4, 8 which have grown outdated. This will reduce the fingerprinting risks at the lower end since device capabilities have improved since these were set. It will also allow better usage and segmenting of high-end devices as requested by developers (https://github.com/w3c/device-memory/issues/50).
The Device Memory API defines a HTTP Client Hint header and a JavaScript API to surface device capability for memory i.e. device RAM, in order to enable web apps to customize content depending on device memory constraints. To reduce the risk of fingerprinting the amount of RAM reported is coarsened to the nearest power-of-two value, and also capped at a lower amount and an upper amount. In Chrome this meant the possible values were one of: 0.25, 0.5, 1, 2, 4, 8, which was based on common device capabilities at the time the API was introduced. Device capabilities have improved and the lower limits (0.25, 0.5, and even 1) are seen far less frequently, so now have an increased fingerprinting risk. At the same time, the upper limit of 8 is constrictive beyond mobile since it buckets a larger group of devices and new capabilities (such as LLMs) mean developers would like to segment further.
Explainers: https://github.com/w3c/device-memory/issues/50