o01eg wrote: ↑Fri Jan 17, 2020 1:35 pm
Technically I suppose it possible to backport Python-only changes to release branch and make 0.4.9.1 release with python2->3 port. They will be network compatible, but default/ files from 0.4.9 won't be compatible with default/ files from 0.4.9.1.
In theory that is of course possible, but I don't think it's really feasible. On Windows and macOS we do not rely on a Python environment provided by the OS (as it's the case on Linux), but ship the Python framework with the installer. Also, the SDKs for Windows and macOS have the Python framework packaged.
That means, to do a 0.4.9.1 release with Python3 we need to switch SDKs on the release branch. This is something I definitely do not
want to do. Changes that are big enough to require a new SDK version go beyond the scope of bugfix releases and should require a new major release.
Aside from that, the switch to Python3 requires changes to practically all Python scripts (AI, universe generation and turn events). Separating these adjustments from all the other changes to the Python scripts that went into master (and those that most likely will go into master) after the 0.4.9 release branch had been created, to cherry pick them to the release branch sounds like a nightmare. One I do not want to deal with.
I have considered that option myself (backporting the Python3 migration to the 0.4.9 release branch), but for the reasons cited I discarded that idea.