The block version number. This 4 byte field cannot be changed without invalidating the block you are mining.
Hmm, this 32 bit signed integer must be greater or equal to the current block version. Plenty of space here. Discussed on github:
No forking Extra nonce added to Bitcoin headerThe merkle root of the transaction list. This 32 byte field cannot be changed without modifying or rearranging the transactions in your transaction list. This would be a MUCH slower and more complicated thing to change than the nonce.
Swapping nodes in Merkle tree seems to be cheaper than increasing extranonce2, but worse than increasing nonce or time.