For a long time, we ended up with protracted discussions on the mailing list about what versions of software we should support. Oftentimes, we broke long-obsolete operating system versions by using something shipped slightly more recently. Fortunately, we now have a platform support policy to guide us in our approach to dependencies, so we can make updates without worrying about breaking systems that have not received security support in several years. This series updates our requirements for libcurl to 7.61.0 (the version in RHEL 8) and for Perl to 5.26.0 (the version in 15.6). I considered the mainstream LTS versions of RHEL, Debian, Ubuntu, and SLES, but omitted consideration of paid support extended LTS, since we cannot expect Git developers to have to pay a large corporation lots of money just to test functionality. This is in conformance with our policy, which states that versions must be "in line with the version used by other long-term-support distributions", which does not include extended LTS distributions. The libcurl dependency changes come in incremental patches so that if we have people on unsupported systems, they can simply revert the patches that they'd like to omit. It also makes the changes easier to review than one giant commit. The Perl changes are a huge upgrade. 5.8.1, our former supported version, was from 2003. 5.26 has substantially improved Unicode support (including Unicode strings), s///r (to allow returning a modified value instead of modifying it in place), postderef syntax (which also provides better interpolation for complex expressions), and subroutine signatures (although these are experimental until 5.36). These allow us much more readable, modern Perl. The final commit introduces a small but useful change that we can now take advantage of with our newly updated Perl dependency as an example of why this is a generally beneficial change. It can be omitted without problem if it is judged to be too noisy. brian m. carlson (13): git-curl-compat: remove check for curl 7.21.5 git-curl-compat: remove check for curl 7.25.0 git-curl-compat: remove check for curl 7.34.0 git-curl-compat: remove check for curl 7.39.0 git-curl-compat: remove check for curl 7.43.0 git-curl-compat: remove check for curl 7.44.0 git-curl-compat: remove check for curl 7.52.0 git-curl-compat: remove check for curl 7.53.0 git-curl-compat: remove check for curl 7.56.0 INSTALL: document requirement for libcurl 7.61.0 Require Perl 5.26.0 INSTALL: require Perl 5.26.0 gitweb: make use of s///r INSTALL | 13 +--- contrib/diff-highlight/DiffHighlight.pm | 2 +- contrib/mw-to-git/Git/Mediawiki.pm | 2 +- git-archimport.perl | 2 +- git-curl-compat.h | 98 ------------------------- git-cvsexportcommit.perl | 2 +- git-cvsimport.perl | 2 +- git-cvsserver.perl | 2 +- git-send-email.perl | 2 +- git-svn.perl | 2 +- gitweb/gitweb.perl | 6 +- http.c | 58 --------------- imap-send.c | 4 - perl/Git.pm | 2 +- perl/Git/I18N.pm | 2 +- perl/Git/LoadCPAN.pm | 2 +- perl/Git/Packet.pm | 2 +- t/t0202/test.pl | 2 +- t/t5562/invoke-with-content-length.pl | 2 +- t/t9700/test.pl | 2 +- t/test-terminal.perl | 2 +- 21 files changed, 23 insertions(+), 188 deletions(-)