[GNC-dev] GnuCash 4 Minimum Versions (was: Building on Windows)
jralls at ceridwen.us
Tue Aug 27 17:02:38 EDT 2019
For what value of "reasonable"? Someone who's still running Mac OS X 10.5 thinks it unconscionable that the latest GnuCash doesn't run on it. A user posted on the user list last week that he's upgrading to a "new" Mac running 10.11 from one running 10.10. On the one hand Apple pushes really hard to keep users on the latest MacOS version but on the other every release comes with a list of Macs that won't run it.
Picking how old an OS to support is in part a balance between what we think most users will be using during the support lifetime of a stable series, what features (both language and libraries) we want to use and what OS versions we're willing to test on. Linux and BSD impose the greatest restrictions because of dependencies, so we pick an "oldest" Linux to set up in Travis CI and make sure that we can always build against it. On MacOS it's driven by what will compile the C++ standard I want to use (C++14 for GnuCash 4 -> 10.10 or newer) and what's required to build the current Gtk stack (also C++14 thanks to a recent change in Harfbuzz; Gtk requires CUPS >= 1.7 as of about 2 months ago, that's 10.9 or newer). I keep a collection of VMs with old versions of MacOS for this purpose.
Windows is a different story: AFAIK MinGW-w64 still works on XP so GnuCash probably runs on XP. But to make sure of that we'd have to have a Windows XP instance running and exposed to the internet. That's a security risk for the whole LAN that it's running on. In a couple of months Win7 will be in the same bucket and I don't think Geert should be exposed to that risk for the minimal benefit of ensuring that GnuCash builds on a 10 year old operating system, nor should any of us have to track down a Win8.1 installer since it's already 6 years old and Win10 is older than the oldest Linux we're going to test on for the GnuCash 4 series.
Microsoft says that they support Win10 builds for 18 months but they also make sure that either you have the latest Win10 or you're not connected to the internet. There are probably users out there with 3-year-old Win10 builds but I don't know how to determine whether or not GnuCash will work on their system and if I did how to tell them in a way that a normal user would understand.
> On Aug 27, 2019, at 11:17 AM, Adrien Monteleone <adrien.monteleone at lusfiber.net> wrote:
> Is the goal to support what you reasonably can, or to limit support to the OS vendor’s lifecycle?
> If the latter, El Capitan is already n-3 and out of support. This fall, Catalina will be released and leave High Sierra (10.13) as the oldest Apple supported release.
> MS has 6-month builds (in March & September) that they support for 18 months. (September builds for 30 months for Enterprise & Education —unlikely GnuCash use cases) While GnuCash may continue to run on older builds and the end user manage to forgo upgrading Win10, more than likely Windows devs working on GnuCash would be using a currently supported release unless there was a conscious decision to hold back.
>> On Aug 27, 2019 w35d239, at 12:39 PM, John Ralls <jralls at ceridwen.us> wrote:
>> I think we should set GnuCash 4's minimum support at least at Win8.1, which EOLs 1 October 2023. Win8 EOLed 2 years after 8.1's general release in 2013 . But we might consider skipping that and making it Win10 because even 8.1 is getting security updates only since last year. Win10 was released 29 July 2015 so that would be consistent with the Ubuntu 16.04 minimum on Linux. FWIW to be consistent we'd set MacOS at 10.11 El Capitan.
>> With Win10 MS has moved to a sort of continuous integration model where it's essentially impossible to be connected to the net and be more than a few weeks out of date. I'm not sure whether "minimum supported version" is meaningful in that environment.
>> John Ralls
>>  https://support.microsoft.com/en-us/help/15347/announcing-windows-8-1-support-lifecycle-policy
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
More information about the gnucash-devel