Saves are comprised of sections separated by "|" characters. Some sections are compressed to reduce the length of the save code.
The compression takes binary sequences and encodes them as text strings.
For example, if there were 6 achievements, and you had won the first 3, this would be represented as "111000", which compresses to the letter "x".
The bug happens when binary data compresses to a string containing a "|" character.
When the game tries to load the save, it reads that character as a section separator, and things break from there.
This can happen when you have 7n + 3 upgrades and/or 14n + 6 achievements or game settings.
v2.0042 has 444 upgrades, or 7 * 63 + 3, and is susceptible to the bug.
Cookies Save Fixer reads the save code accounting for the bug. It then adds dummy data to unbreak the save, in effect changing any compressed "|" into "ǰ".
The dummy data doesn't hurt loading the save, since the game ignores any well formed extra data.
If loaded after a version change, it would see the dummy data as a locked and unbought upgrade, 2 unearned achievements, or 2 game settings that are currently off.