[GNC-dev] Release Schedule
jralls at ceridwen.us
Thu May 23 15:11:45 EDT 2019
Back in the run-up to releasing GnuCash 3.0 when we adopted the two-digit release numbering we also said that we wanted to accelerate the major release tempo to 2-3 years instead of the 4 years that had gone between the previous several major releases.
Well, it's two years later. We've added almost 1500 commits, but they've all been to the maint branch. There are a few low-effort changes on the table that would fit better into a new stable series, including more report system updates from Chris Lam and the report menu rearrangement Geert surfaced last week.
The first alternative is to finish those up, merge them onto master, and release 4.0 in December as we optimistically planned 2 years ago. Along with that change we'd bump the C++ standard requirement to 14 so that we can use initializer lists correctly. That will require GCC 5.0 or Clang 3.4, which would raise the baseline distros to Ubuntu 16.04, Debian 9, Mint 18, and Fedora 25. RHEL/Centos users would need to install devtoolset-7 or devtoolset-8. OpenSuSE users would need to install one of the GCC upgrade packages. MacOS minimum would bump to 10.10 (Yosemite). MSYS2's toolchain is consistently bleeding-edge so Windows builds wouldn't be affected.
The second alternative is to revert to the 4-year major release tempo, continuing the current 3.x stable series until the end of 2021 and hoping that we've made sufficient progress on the major goals by then.
The third alternative is to not have a fixed major release schedule at all and instead to wait until the goals set out in https://wiki.gnucash.org/wiki/Release_Schedule#Goals_for_4.0 are completed.
Geert and I, having discussed this on IRC, are inclined toward the first alternative because it allows us to update the minimum versions of several dependencies.
More information about the gnucash-devel