Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using the ethernet MAC to generate a unique identifier is proving unreliable as manufacturers of some cheap ARM devices recycle the same MAC among their boxes and we cannot rely on community builders to always patch their kernels to generate a unique MAC from the CPU serial number. In the modern age of privacy it is also nice to remove the association between the unique identifier and specific user hardware.
This change also forces the machine-id to be 32-chars of lowercase hex to mitigate the "do not track" attempts of some users. A tiny minority zero/null the machine-id. The large majority use a text phrase like "do not track my install!" which due to their different languages and the artistic use of typos, punctuation and/or expletives still provides a uniquely identifiable phrase.
Active install stats for 9.0 will be fuzzy for a while as this rolls out but we age duplicates from the DB after 14d. We also lose persistence of machine-id over reinstalls but the overall percentage of users doing repeat installation on the same device is low. In the longer term we'll also see a small bump in active installs as we reduce the number of devices sharing the same machine-id.