That is not the problem; the response to that is.
When considering a breaking change, I was taught to ask three questions:
- Is the breakage actually necessary?
Is the thing being 'fixed' actually manifesting itself in production code.
Has any real-world occurrence of the ACA actually been witnessed or reported?
- If so, can the breakage be limited in scope?
Either by limiting the total breakage; or by selectively applying the breaking fix only when required.
Could the 'fix' have been limited to (say) only when taint was enabled?
- Is the breaking 'fix' the *ONLY* solution to the problem?
Not the first. Not the best. Not the least effort or least worst; but the ONLY?
Is it necessary to randomise all hashes differently?
Wouldn't picking the same random hash initialisation, for all hashes for any given run, have been just as effective at stopping real-world exploits in the wild?