4.12.0:
 - All: Added the surrender tutorial.  See the blog for full details.
 - All: Your boot percentage now measures your last 100 games instead of all games.
 - All: If your boot rate is over 5%, the open games page will now show how many games you're missing out on due to your boot rate.
 - All: Chat raffles are now sometimes a super raffle, awarding many more coins.
 - All: Fixed CannotAssignSlotsWithoutCustomScenario error caused by changing the map of a template that had a custom scenario defined.  Thanks to TBest for reporting this.
 - All: Fixed CannotMixTeamsAndNonTeams error caused by templates that got saved with bad team data.    Thanks to Braveheart for reporting this.
 - All: Fixed a bug that sometimes made chat room messages appear out of order.
 - All: Fixed a bug that sometimes made chat room messages get missed, particularly if they were sent very close together such as when rafflebot responded to a player.
 - UJS: Alerts now use the UJS alert system instead of the browser's.
 - Android: Fixed a bug that made closing the software keyboard with the back button wipe out the partially-entered text.

4.12.0.1:
 - UJS: Fixed "terr.Root.MapData is null" error.
 - All: Fixed "OrdersCouldBeSame" error when switching perspective in a commerce game.  Thanks to Syphen for reporting this.
 - Website: Fixed Unity WebGL.
 
4.12.0.2:
 - Unity: Fixed stretched chat button in lobby.  Thanks to krunx for reporting this.
 - UJS: Fixed a bug with mods that tried to set a label's color.  Thanks to dabo for reporting this.