I have been digging a bit deeper into the Ethereum bytecode with the specific goal to do contract verification from the source code.
I noticed, while doing some tests, that the initial bytes of the Ethereum contract has changed somewhere between 0.4.21 and 0.4.22.
Normally, a contract would always start with:
6060604052
PUSH1 0x60 PUSH1 0x40 MSTORE
But starting at 0.4.22 and onward, they seem to start with:
6080604052
PUSH1 0x80 PUSH1 0x40 MSTORE
What is the significance of this change, and where can I find documentation about this change?