[POLL] About backward compatibility

There were some “issues” and discussions about backward compatibility during PR review recently. Lets collect feedback from community about this questions.

  • Retain compatibility of mod format and save format for > 1 release cycle (f.e. support 0.99 games and mods in 1.0 and may be 1.1)
  • Retain compatibility of mod format for 1 and save format for > 1 release cycle (f.e. do not break 0.99 saves but break mods in 1.0)
  • Retain compatibility of mod format for > 1 and save format for 1 release cycle (f.e. do not break 0.99 mods but break saves in 1.0)
  • Retain compatibility of mod format and save format for 1 release cycle (f.e. break in 1.0 and after that in 1.1)

0 voters

I think I can manage to change all json files for existing mods to update them with new format.

It would be also nice to mention that compatibility(especially taking care to handle old mods configs) extends the working time of vcmi.

Everything has its price, it is obvious that maintain compatibility is harder that not doing that. I`m not asking how difficult is to to achieve each of cases but asking is it actually needed or not.

I just tell it if someone don’t know what is the price ;d.

Mods compability must be retained. Because it will be a awful lot of time to convert them to new format.
On the other hand, dont see any reason to bother saves compability. Play your savegames and then upgrade…

@Macron1 Same time as convert to new format is required for taking care of old code f.e checking to nothing ruin by mistake and when you broke something and nobody see it, it will pass to the main code so this will be like a bug that need repairs. At the end you will have 100 different possible configurations(oldest, old, current, new etc. all must be compatibility). Another thing is that with mods, persons that don’t know how to programming can help, there is lot of them, and on code only programmers can do something. Anyway, for me if someone want convert all mods, from our official wiki and delete old code, why don’t let him. Same thing applies to another side. If someone want provide backward compability, it’s fine, but don’t force people to do one behavior.
With saves it’s not a such big problem, in most cases you must only take care about serializer. The problem is, if we don’t keep compatibility then this will make f.e impossible to use saves from bugtracker.

It’s will be easier to keep mods compatible once I finally put them on GitHub.

With save games it’s nowhere as simple and far more important because we do need saves for bug reproduction and for easier development as well. Also as long as saves remain compatible we simply have more people around to test daily builds and find regressions.

So what now? Since I stay in one place waiting for result of this poll. I can broke compatibility in obstacle branch and update mods?

Poll closed.

  1. There are exactly 50/50 votes on mod backward compatibility.
  2. There are 6 or 10 votes on retaining save compatibility.
  3. Only one vote against any compatibility.

We will do retain backward compatibility for saves. We should not break mods too, but it`s OK to break mod API and at least help to convert existing mods.