I've merged all the changes that affect C++ code from trunk to branch: 447994-492620,492636,492641,493126-493151,494540,494553,494587,495629,495661,496317,496665,496678,497341,497439,498591,499049,499374,499803,499845,499847,499864,506406,506967,506972,507455,507457-507458,507472,507582,507729,509208,509737,510159,513371
So at this point the 0-9 branch has all the goods. Anything that needs to be in M2 should go on trunk AND be merged to the branch, everything else on the branch.
The only change not merged is 514903 which relates to the addition of recover-ok to the spec. I'm not clear yet what's the right course of action there as adding this is not interoperable.
