Exclude 'Version' from createTranslation(): Causes inconsistencies in Versioned->augmentWrite() because it doesn't write a SiteTree_versions record, since the Version is already set on the record. In fact, its just copied from the original record, so there's no SiteTree_versions row correlating to this new record yet.
Doesn't respect custom business logic such as validate() methods denying page creation to certain users, or page creation on the root level. The test doesn't add a whole lot of value, since the baseline translation creation doesn't really differ between page types.
Currently returning null in some situations.
CMSEditLink() was changed to always add a locale, but the link creation for "Existing Translations" in Translatable#updateCMSFields assumed there was no query string on the end of CMSEditLink()s return value Note that youll still end up with duplicate locale parameters after this patch, but it will work as PHP always takes the last parameter for preference. A seperate patch for Controller::join_links will fix the duplicate parameters