Hello Kudu Developers, As we approach the 1.12.0 release I think now is a good opportunity to evaluate the platform versions we support. Doing so before the 1.12.0 release is useful because it will allow us to mark any OS we intend to drop as deprecated. This is similar to how we have handled Java version support in the past.
The primary goal of dropping older OS versions is to remove OS versions that are nearing EOL and to bump the minimum required gcc version allowing the use of C++ 14 features. However, some additional benefits include: - Updating the list of OS versions we test and support (including newer OS versions) - Aligning more closely with Impala given they are the main consumer of the C++ client (thread <https://lists.apache.org/thread.html/r19b95826b59486d61c1f8f5c1edd93adb8ec9925f66ff42c0c103d66%40%3Cdev.impala.apache.org%3E> ) - Allow the use of Abseil <https://abseil.io/> which various Kudu contributors have suggested bringing into Kudu - A first step towards supporting C++17 With that said I propose we mark the following OS versions as deprecated in the 1.12.0 release and consider dropping them in the next minor release: - CentOS/RHEL 6 - EOL November 30, 2020 <https://wiki.centos.org/FAQ/General#What_is_the_support_.27.27end_of_life.27.27_for_each_CentOS_release.3F> - Debian 8 - EOL June 30, 2020 <https://wiki.debian.org/LTS> - Ubuntu 14 - EOL April 30, 2020 <https://wiki.ubuntu.com/Releases> This means that our minimum gcc version could be 5.3+ and the list of supported OS versions would be: - CentOS 6 (deprecated) - CentOS 7 (with devtoolset gcc) - CentOS 8 - RHEL 6 (deprecated) - RHEL 7 (with devtoolset gcc) - RHEL 8 - Ubuntu 14.04 (deprecated) - Ubuntu 16.04 - Ubuntu 18.04 - Debian 8 (deprecated) - Debian 9 - SLES 12 (with toolchain gcc) Please provide your feedback, suggestions, or agreement on this proposal. Thank you, Grant