Matt pointed out some time ago that there existed a minor DOS attack where a node in its initial block download could be wedged by an overwrite attack in a fork created between checkpoints before a time where BIP30 was enforced. Now that the BIP30 timestamp is irreversibly past the check can be more aggressive and apply to all blocks except the two historic violations.
We're in a wholly different world now, C++-compiler-wise. Current std::stringstream implementations don't have the stated problem anymore, and are just as fast as CDataStream. The #ifdef'd block does not even compile anymore; CDataStream constructor changed, and missing some std::. Also timing in whole seconds is also way too granular to say anything sensible in such microbenchmarks. Just remove it, it can always be found again in git history.
… from Transifex Bugfix: Correct doubled-up &amp; in translations Bugfix: Remove extra spaces after ampersand in translations (this fixes hotkeys) Restore copyright translations, now split up Restore old translations lost due to changes to English structure Skipped: ca_ES et eu_ES fr_CA (under 10% coverage)
- add version information to bitcoin-qt.rc, which is displayed on Windows, when looking in the executable properties and selecting "Details" - introduce a new clientversion.h (used in bitcoin-qt.rc to generate version information), which takes only the version defines from version.h and is included in it (to allow usage with the windres rc-file compiler) - move #define STRINGIFY(s) #s into clientversion.h as that is used in bitcoin-qt.rc and rename to DO_STRINGIZE(X) - add #define STRINGIZE(X) DO_STRINGIZE(X), which is needed to convert the version defines into a version string in the rc-file - this ensures we only need to update 1 file and have bitcoin-qt.exe version information - for RC-file documentation see: http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx