Why do I need the newest version to play in online multiplayer?

We are continuously improving SparkChess in all its areas: the AI chess engine, the multiplayer service, the user interface, the additional tools and so on.

The multiplayer service is particularly sensitive because of the complex interactions and also because a small number of players will always try to cheat their way into the leaderboards.

Whenever we update the multiplayer functionality, we need to consider how two players with different versions will interact. To give you a very simple example, if one player has Chat capability but the other doesn’t, what do we do? Do we let the chat-enabled player send messages to the other one, even though those messages will never be received?

Most cases are more difficult, for example when a move needs to be resent due to a client disconnect.  Even more complicated, when we discover a way to stop cheaters, we may need to effectively ban all old versions.

We try to keep these breaking changes to a minimum and even then we give a few months of transition period, but we can’t support old versions indefinitely.