What are the February 20 changes to the Bitcoin protocol? From the BitcoinJ mailing list:


  the Bitcoin protocol bizarrely changes itself on February 20th
  2012 in a backwards incompatible manner


What are these changes, why are they necessary, when was this announced and are there any plans for this to happen again?

What version of the official client supports the new protocol?
Really old versions of Bitcoin did not use checksums in network messages (Satoshi incorrectly assumed that the TCP checksum was sufficient). When Bitcoin was changed to start using its own checksums in network messages, version and verack messages could not be immediately updated to use checksums because old clients would be unable to understand checksum-protected messages from new clients and the network would split. Satoshi's solution was to keep using non-checksummed version and verack messages for two years and then have clients automatically start checksumming version/verack messages. At midnight UTC on February 20, this change will happen.

Versions of the official client later than 0.2.9 will apply the change automatically. Older versions will stop working. Existing connections will not be broken due to the change, so there should be very little disruption at the time of the change. It will probably only cause problems for alt clients and users with seriously-off clocks.