From: Daniel Stenberg Date: Tue, 1 Apr 2025 15:41:08 +0000 (+0200) Subject: VERSIONS: list all past releases X-Git-Tag: curl-8_14_0~394 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=daa86936190af30ed58932ddd24db97f708337a9;p=thirdparty%2Fcurl.git VERSIONS: list all past releases This document now lists all previous releases. This allows us to verify that documentation refers to actual release versions. Test 971 now verifies options-in-versions and all command line options documentation individually. Fixed a few discrepancies. Test 1488 verifies libcurl options "Added-in" to exist. Fixed a few discrepancies there as well. Closes #16907 --- diff --git a/docs/VERSIONS.md b/docs/VERSIONS.md index 93a39a459a..90a6f887d7 100644 --- a/docs/VERSIONS.md +++ b/docs/VERSIONS.md @@ -61,3 +61,277 @@ Version Numbers and Releases This number is also available as three separate defines: `LIBCURL_VERSION_MAJOR`, `LIBCURL_VERSION_MINOR` and `LIBCURL_VERSION_PATCH`. + +## Past releases + +This is a list of all public releases with their version numbers and release +dates. The tool was called `httpget` before 2.0, `urlget` before 4.0 then +`curl` since 4.0. `libcurl` and `curl` are always released in sync, using the +same version numbers. + +- 8.13.0: April 2 2025 +- 8.12.1: February 13 2025 +- 8.12.0: February 5 2025 +- 8.11.1: December 11 2024 +- 8.11.0: November 6 2024 +- 8.10.1: September 18 2024 +- 8.10.0: September 11 2024 +- 8.9.1: July 31 2024 +- 8.9.0: July 24 2024 +- 8.8.0: May 22 2024 +- 8.7.1: March 27 2024 +- 8.7.0: March 27 2024 +- 8.6.0: January 31 2024 +- 8.5.0: December 6 2023 +- 8.4.0: October 11 2023 +- 8.3.0: September 13 2023 +- 8.2.1: July 26 2023 +- 8.2.0: July 19 2023 +- 8.1.2: May 30 2023 +- 8.1.1: May 23 2023 +- 8.1.0: May 17 2023 +- 8.0.1: March 20 2023 +- 8.0.0: March 20 2023 +- 7.88.1: February 20 2023 +- 7.88.0: February 15 2023 +- 7.87.0: December 21 2022 +- 7.86.0: October 26 2022 +- 7.85.0: August 31 2022 +- 7.84.0: June 27 2022 +- 7.83.1: May 11 2022 +- 7.83.0: April 27 2022 +- 7.82.0: March 5 2022 +- 7.81.0: January 5 2022 +- 7.80.0: November 10 2021 +- 7.79.1: September 22 2021 +- 7.79.0: September 15 2021 +- 7.78.0: July 21 2021 +- 7.77.0: May 26 2021 +- 7.76.1: April 14 2021 +- 7.76.0: March 31 2021 +- 7.75.0: February 3 2021 +- 7.74.0: December 9 2020 +- 7.73.0: October 14 2020 +- 7.72.0: August 19 2020 +- 7.71.1: July 1 2020 +- 7.71.0: June 24 2020 +- 7.70.0: April 29 2020 +- 7.69.1: March 11 2020 +- 7.69.0: March 4 2020 +- 7.68.0: January 8 2020 +- 7.67.0: November 6 2019 +- 7.66.0: September 11 2019 +- 7.65.3: July 19 2019 +- 7.65.2: July 17 2019 +- 7.65.1: June 5 2019 +- 7.65.0: May 22 2019 +- 7.64.1: March 27 2019 +- 7.64.0: February 6 2019 +- 7.63.0: December 12 2018 +- 7.62.0: October 31 2018 +- 7.61.1: September 5 2018 +- 7.61.0: July 11 2018 +- 7.60.0: May 16 2018 +- 7.59.0: March 14 2018 +- 7.58.0: January 24 2018 +- 7.57.0: November 29 2017 +- 7.56.1: October 23 2017 +- 7.56.0: October 4 2017 +- 7.55.1: August 14 2017 +- 7.55.0: August 9 2017 +- 7.54.1: June 14 2017 +- 7.54.0: April 19 2017 +- 7.53.1: February 24 2017 +- 7.53.0: February 22 2017 +- 7.52.1: December 23 2016 +- 7.52.0: December 21 2016 +- 7.51.0: November 2 2016 +- 7.50.3: September 14 2016 +- 7.50.2: September 7 2016 +- 7.50.1: August 3 2016 +- 7.50.0: July 21 2016 +- 7.49.1: May 30 2016 +- 7.49.0: May 18 2016 +- 7.48.0: March 23 2016 +- 7.47.1: February 8 2016 +- 7.47.0: January 27 2016 +- 7.46.0: December 2 2015 +- 7.45.0: October 7 2015 +- 7.44.0: August 12 2015 +- 7.43.0: June 17 2015 +- 7.42.1: April 29 2015 +- 7.42.0: April 22 2015 +- 7.41.0: February 25 2015 +- 7.40.0: January 8 2015 +- 7.39.0: November 5 2014 +- 7.38.0: September 10 2014 +- 7.37.1: July 16 2014 +- 7.37.0: May 21 2014 +- 7.36.0: March 26 2014 +- 7.35.0: January 29 2014 +- 7.34.0: December 17 2013 +- 7.33.0: October 14 2013 +- 7.32.0: August 12 2013 +- 7.31.0: June 22 2013 +- 7.30.0: April 12 2013 +- 7.29.0: February 6 2013 +- 7.28.1: November 20 2012 +- 7.28.0: October 10 2012 +- 7.27.0: July 27 2012 +- 7.26.0: May 24 2012 +- 7.25.0: March 22 2012 +- 7.24.0: January 24 2012 +- 7.23.1: November 17 2011 +- 7.23.0: November 15 2011 +- 7.22.0: September 13 2011 +- 7.21.7: June 23 2011 +- 7.21.6: April 22 2011 +- 7.21.5: April 17 2011 +- 7.21.4: February 17 2011 +- 7.21.3: December 15 2010 +- 7.21.2: October 13 2010 +- 7.21.1: August 11 2010 +- 7.21.0: June 16 2010 +- 7.20.1: April 14 2010 +- 7.20.0: February 9 2010 +- 7.19.7: November 4 2009 +- 7.19.6: August 12 2009 +- 7.19.5: May 18 2009 +- 7.19.4: March 3 2009 +- 7.19.3: January 19 2009 +- 7.19.2: November 13 2008 +- 7.19.1: November 5 2008 +- 7.19.0: September 1 2008 +- 7.18.2: June 4 2008 +- 7.18.1: March 30 2008 +- 7.18.0: January 28 2008 +- 7.17.1: October 29 2007 +- 7.17.0: September 13 2007 +- 7.16.4: July 10 2007 +- 7.16.3: June 25 2007 +- 7.16.2: April 11 2007 +- 7.16.1: January 29 2007 +- 7.16.0: October 30 2006 +- 7.15.5: August 7 2006 +- 7.15.4: June 12 2006 +- 7.15.3: March 20 2006 +- 7.15.2: February 27 2006 +- 7.15.1: December 7 2005 +- 7.15.0: October 13 2005 +- 7.14.1: September 1 2005 +- 7.14.0: May 16 2005 +- 7.13.2: April 4 2005 +- 7.13.1: March 4 2005 +- 7.13.0: February 1 2005 +- 7.12.3: December 20 2004 +- 7.12.2: October 18 2004 +- 7.12.1: August 10 2004 +- 7.12.0: June 2 2004 +- 7.11.2: April 26 2004 +- 7.11.1: March 19 2004 +- 7.11.0: January 22 2004 +- 7.10.8: November 1 2003 +- 7.10.7: August 15 2003 +- 7.10.6: July 28 2003 +- 7.10.5: May 19 2003 +- 7.10.4: April 2 2003 +- 7.10.3: January 14 2003 +- 7.10.2: November 18 2002 +- 7.10.1: October 11 2002 +- 7.10: October 1 2002 +- 7.9.8: June 13 2002 +- 7.9.7: May 10 2002 +- 7.9.6: April 14 2002 +- 7.9.5: March 7 2002 +- 7.9.4: March 4 2002 +- 7.9.3: January 23 2002 +- 7.9.2: December 5 2001 +- 7.9.1: November 4 2001 +- 7.9: September 23 2001 +- 7.8.1: August 20 2001 +- 7.8: June 7 2001 +- 7.7.3: May 4 2001 +- 7.7.2: April 22 2001 +- 7.7.1: April 3 2001 +- 7.7: March 22 2001 +- 7.6.1: February 9 2001 +- 7.6: January 26 2001 +- 7.5.2: January 4 2001 +- 7.5.1: December 11 2000 +- 7.5: December 1 2000 +- 7.4.2: November 15 2000 +- 7.4.1: October 16 2000 +- 7.4: October 16 2000 +- 7.3: September 28 2000 +- 7.2.1: August 31 2000 +- 7.2: August 30 2000 +- 7.1.1: August 21 2000 +- 7.1: August 7 2000 +- 6.5.2: March 21 2000 +- 6.5.1: March 20 2000 +- 6.5: March 13 2000 +- 6.4: January 17 2000 +- 6.3.1: November 23 1999 +- 6.3: November 10 1999 +- 6.2: October 21 1999 +- 6.1: October 17 1999 +- 6.0: September 13 1999 +- 5.11: August 25 1999 +- 5.10: August 13 1999 +- 5.9.1: July 30 1999 +- 5.9: May 22 1999 +- 5.8: May 5 1999 +- 5.7.1: April 23 1999 +- 5.7: April 20 1999 +- 5.5.1: January 27 1999 +- 5.5: January 15 1999 +- 5.4: January 7 1999 +- 5.3: December 21 1998 +- 5.2.1: December 14 1998 +- 5.2: December 14 1998 +- 5.0: December 1 1998 +- 4.10: October 26 1998 +- 4.9: October 7 1998 +- 4.8.4: September 20 1998 +- 4.8.3: September 7 1998 +- 4.8.2: August 14 1998 +- 4.8.1: August 7 1998 +- 4.8: July 30 1998 +- 4.7: July 20 1998 +- 4.6: July 3 1998 +- 4.5.1: June 12 1998 +- 4.5: May 30 1998 +- 4.4: May 13 1998 +- 4.3: April 30 1998 +- 4.2: April 15 1998 +- 4.1: April 3 1998 +- 4.0: March 20 1998 +- 3.12: March 14 1998 +- 3.11: February 9 1998 +- 3.10: February 4 1998 +- 3.9: February 4 1998 +- 3.7: January 15 1998 +- 3.6: January 1 1998 +- 3.5: December 15 1997 +- 3.2: December 1 1997 +- 3.1: November 24 1997 +- 3.0: November 1 1997 +- 2.9: October 15 1997 +- 2.8: October 1 1997 +- 2.7: September 20 1997 +- 2.6: September 10 1997 +- 2.5: September 1 1997 +- 2.4: August 27 1997 +- 2.3: August 21 1997 +- 2.2: August 14 1997 +- 2.1: August 10 1997 +- 2.0: August 1 1997 +- 1.5: July 21 1997 +- 1.4: July 15 1997 +- 1.3: June 1 1997 +- 1.2: May 1 1997 +- 1.1: April 20 1997 +- 1.0: April 8 1997 +- 0.3: February 1 1997 +- 0.2: December 17 1996 +- 0.1: November 11 1996 diff --git a/docs/cmdline-opts/ftp-skip-pasv-ip.md b/docs/cmdline-opts/ftp-skip-pasv-ip.md index dfa546d1d2..37905e63b1 100644 --- a/docs/cmdline-opts/ftp-skip-pasv-ip.md +++ b/docs/cmdline-opts/ftp-skip-pasv-ip.md @@ -4,7 +4,7 @@ SPDX-License-Identifier: curl Long: ftp-skip-pasv-ip Help: Skip the IP address for PASV Protocols: FTP -Added: 7.14.2 +Added: 7.15.0 Category: ftp Multi: boolean See-also: diff --git a/docs/cmdline-opts/proto-redir.md b/docs/cmdline-opts/proto-redir.md index 9332f3f0d6..337aa93cb6 100644 --- a/docs/cmdline-opts/proto-redir.md +++ b/docs/cmdline-opts/proto-redir.md @@ -4,7 +4,7 @@ SPDX-License-Identifier: curl Long: proto-redir Arg: Help: Enable/disable PROTOCOLS on redirect -Added: 7.20.2 +Added: 7.21.0 Category: connection curl Multi: single See-also: diff --git a/docs/cmdline-opts/proto.md b/docs/cmdline-opts/proto.md index 704c6493cd..cf288d4565 100644 --- a/docs/cmdline-opts/proto.md +++ b/docs/cmdline-opts/proto.md @@ -4,7 +4,7 @@ SPDX-License-Identifier: curl Long: proto Arg: Help: Enable/disable PROTOCOLS -Added: 7.20.2 +Added: 7.21.0 Category: connection curl Multi: single See-also: diff --git a/docs/libcurl/curl_global_trace.md b/docs/libcurl/curl_global_trace.md index a2db6005db..4a21bdc455 100644 --- a/docs/libcurl/curl_global_trace.md +++ b/docs/libcurl/curl_global_trace.md @@ -9,7 +9,7 @@ See-also: - libcurl (3) Protocol: - All -Added-in: 8.3 +Added-in: 8.3.0 --- # NAME diff --git a/docs/libcurl/curl_version_info.md b/docs/libcurl/curl_version_info.md index 4a0a85c09b..c5a0bc417d 100644 --- a/docs/libcurl/curl_version_info.md +++ b/docs/libcurl/curl_version_info.md @@ -8,7 +8,7 @@ See-also: - curl_version (3) Protocol: - All -Added-in: 7.10.0 +Added-in: 7.10 --- # NAME diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions index 5e744f02d4..1fcacb9848 100644 --- a/docs/libcurl/symbols-in-versions +++ b/docs/libcurl/symbols-in-versions @@ -110,7 +110,7 @@ CURL_READFUNC_PAUSE 7.18.0 CURL_REDIR_GET_ALL 7.19.1 CURL_REDIR_POST_301 7.19.1 CURL_REDIR_POST_302 7.19.1 -CURL_REDIR_POST_303 7.25.1 +CURL_REDIR_POST_303 7.26.0 CURL_REDIR_POST_ALL 7.19.1 CURL_RTSPREQ_ANNOUNCE 7.20.0 CURL_RTSPREQ_DESCRIBE 7.20.0 @@ -537,7 +537,7 @@ CURLKHTYPE_RSA 7.19.6 CURLKHTYPE_RSA1 7.19.6 CURLKHTYPE_UNKNOWN 7.19.6 CURLM_ABORTED_BY_CALLBACK 7.81.0 -CURLM_ADDED_ALREADY 7.32.1 +CURLM_ADDED_ALREADY 7.33.0 CURLM_BAD_EASY_HANDLE 7.9.6 CURLM_BAD_FUNCTION_ARGUMENT 7.69.0 CURLM_BAD_HANDLE 7.9.6 diff --git a/docs/options-in-versions b/docs/options-in-versions index fceff631bf..a4ce20093a 100644 --- a/docs/options-in-versions +++ b/docs/options-in-versions @@ -76,7 +76,7 @@ --ftp-pasv 7.11.0 --ftp-port (-P) 4.0 --ftp-pret 7.20.0 ---ftp-skip-pasv-ip 7.14.2 +--ftp-skip-pasv-ip 7.15.0 --ftp-ssl-ccc 7.16.1 --ftp-ssl-ccc-mode 7.16.2 --ftp-ssl-control 7.16.0 @@ -158,9 +158,9 @@ --post303 7.26.0 --preproxy 7.52.0 --progress-bar (-#) 5.10 ---proto 7.20.2 +--proto 7.21.0 --proto-default 7.45.0 ---proto-redir 7.20.2 +--proto-redir 7.21.0 --proxy (-x) 4.0 --proxy-anyauth 7.13.2 --proxy-basic 7.12.0 diff --git a/tests/Makefile.am b/tests/Makefile.am index 33b41f4c3c..2bcd27d6cc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -57,6 +57,7 @@ EXTRA_DIST = \ CMakeLists.txt \ FILEFORMAT.md \ README.md \ + allversions.pm \ appveyor.pm \ azure.pm \ devtest.pl \ diff --git a/tests/allversions.pm b/tests/allversions.pm new file mode 100644 index 0000000000..f38612403c --- /dev/null +++ b/tests/allversions.pm @@ -0,0 +1,48 @@ +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) Daniel Stenberg, , et al. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at https://curl.se/docs/copyright.html. +# +# You may opt to use, copy, modify, merge, publish, distribute and/or sell +# copies of the Software, and permit persons to whom the Software is +# furnished to do so, under the terms of the COPYING file. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +# SPDX-License-Identifier: curl +# +########################################################################### + +# populate the has %pastversion hash table with the version number as key and +# release date as value + +sub allversions { + my ($file) = @_; + open(A, "<$file") || + die "can't open the versions file $file\n"; + my $before = 1; + my $relcount; + while() { + if(/^## Past releases/) { + $before = 0; + } + elsif(!$before && + /^- ([0-9.]+): (.*)/) { + $pastversion{$1}=$2; + $relcount++; + } + } + close(A); + die "too few releases ($relcount) found in $file" if($relcount < 100); +} + +1; diff --git a/tests/data/test1488 b/tests/data/test1488 index f987e151d3..f5f23bf846 100644 --- a/tests/data/test1488 +++ b/tests/data/test1488 @@ -19,7 +19,7 @@ symbols-in-versions and manpages agree on added-in versions -%SRCDIR/test1488.pl %SRCDIR/.. ../include/curl +%SRCDIR/test1488.pl %SRCDIR/.. ../include/curl %SRCDIR/../docs/VERSIONS.md diff --git a/tests/data/test971 b/tests/data/test971 index 6c6b950589..3f11bbc37b 100644 --- a/tests/data/test971 +++ b/tests/data/test971 @@ -18,7 +18,7 @@ Verify that options-in-versions and docs/cmdline-opts are in sync -%SRCDIR/test971.pl %SRCDIR/../docs/options-in-versions %SRCDIR/../docs/cmdline-opts +%SRCDIR/test971.pl %SRCDIR/../docs/options-in-versions %SRCDIR/../docs/cmdline-opts %SRCDIR/../docs/VERSIONS.md diff --git a/tests/test1488.pl b/tests/test1488.pl index 43dd24d10d..4957d305c1 100755 --- a/tests/test1488.pl +++ b/tests/test1488.pl @@ -27,9 +27,9 @@ # a late evening in the #curl IRC channel. # -use strict; use warnings; use vars qw($Cpreprocessor); +use allversions; # # configurehelp perl module is generated by configure script @@ -54,6 +54,7 @@ my $root=$ARGV[0] || "."; my $i = ($ARGV[1]) ? "-I$ARGV[1] " : ''; my $error; +my $versions = $ARGV[2]; my @syms; my %manpage; @@ -70,8 +71,13 @@ sub checkmanpage { if(/^Title: (.*)/i) { $title = $1; } - elsif(/^Added-in: (.*)/i) { + elsif(/^Added-in: ([an0-9.\/]*)/i) { $addedin = $1; + + if(($addedin ne "n/a") && !$pastversion{$addedin}) { + print "$m: was added in a never released version: $addedin\n"; + $error++; + } } if($addedin && $title) { if($manpage{$title}) { @@ -97,17 +103,24 @@ sub scanman_md_dir { } } +# get all the past versions +allversions($versions); + scanman_md_dir("$root/docs/libcurl"); scanman_md_dir("$root/docs/libcurl/opts"); open my $s, "<", "$root/docs/libcurl/symbols-in-versions"; while(<$s>) { - if(/(^[^ \n]+) +(.*)/) { - my ($sym, $rest)=($1, $2); - my @a=split(/ +/, $rest); + chomp; + if(/^(\S+) +([0-9.]*)/) { + my ($sym, $ver)=($1, $2); push @syms, $sym; - $symadded{$sym}=$a[0]; + $symadded{$sym}=$ver; + if(!$pastversion{$ver}) { + printf "SIV: says $sym was added in non-existing %s\n", $ver; + $error++; + } } } close $s; diff --git a/tests/test971.pl b/tests/test971.pl index 1aeed9d484..d5c573ed94 100755 --- a/tests/test971.pl +++ b/tests/test971.pl @@ -30,8 +30,11 @@ # $cmddir # +use allversions; + my $opts = $ARGV[0]; my $cmddir = $ARGV[1]; +my $versions = $ARGV[2]; sub cmdfiles { my ($dir)=@_; @@ -91,6 +94,9 @@ sub versioncheck { close($fh); } +# get all the past versions +allversions($versions); + # get all the files my @cmdopts = cmdfiles($cmddir); @@ -100,6 +106,12 @@ my @veropts = mentions($opts); # check if all files are in the doc for my $c (sort @cmdopts) { if($oiv{$c}) { + if(!$pastversion{$oiv{$c}}) { + printf STDERR "$c: %s is not a proper release\n", + $oiv{$c}; + $error++; + } + # present, but at same version? versioncheck($c, $oiv{$c}); }