]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
VERSIONS: list all past releases
authorDaniel Stenberg <daniel@haxx.se>
Tue, 1 Apr 2025 15:41:08 +0000 (17:41 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 3 Apr 2025 06:26:33 +0000 (08:26 +0200)
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

14 files changed:
docs/VERSIONS.md
docs/cmdline-opts/ftp-skip-pasv-ip.md
docs/cmdline-opts/proto-redir.md
docs/cmdline-opts/proto.md
docs/libcurl/curl_global_trace.md
docs/libcurl/curl_version_info.md
docs/libcurl/symbols-in-versions
docs/options-in-versions
tests/Makefile.am
tests/allversions.pm [new file with mode: 0644]
tests/data/test1488
tests/data/test971
tests/test1488.pl
tests/test971.pl

index 93a39a459af33715a507b6332a28e2454c4991ea..90a6f887d7e9e212208d5105e9644ef71e7b7514 100644 (file)
@@ -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
index dfa546d1d2743ba20e0e9fe74f35396dbb0d16e2..37905e63b110a430613ec2bd0c4340fde69d752b 100644 (file)
@@ -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:
index 9332f3f0d6be0d45fe06df18bc1af6c9f1824c92..337aa93cb682fd82a8e5779238b74546ff0c638e 100644 (file)
@@ -4,7 +4,7 @@ SPDX-License-Identifier: curl
 Long: proto-redir
 Arg: <protocols>
 Help: Enable/disable PROTOCOLS on redirect
-Added: 7.20.2
+Added: 7.21.0
 Category: connection curl
 Multi: single
 See-also:
index 704c6493cd5d424ac51daece3c5df9cc37bd4e41..cf288d456575e0e609d33f5d31146220dced1c62 100644 (file)
@@ -4,7 +4,7 @@ SPDX-License-Identifier: curl
 Long: proto
 Arg: <protocols>
 Help: Enable/disable PROTOCOLS
-Added: 7.20.2
+Added: 7.21.0
 Category: connection curl
 Multi: single
 See-also:
index a2db6005dba18d54870e70edcf97e8762c822aaf..4a21bdc45569b403c6b98cea588807cb2d6b808b 100644 (file)
@@ -9,7 +9,7 @@ See-also:
   - libcurl (3)
 Protocol:
   - All
-Added-in: 8.3
+Added-in: 8.3.0
 ---
 
 # NAME
index 4a0a85c09b852ff09933cb959519445ae6df9b58..c5a0bc417d514d9cf2da793ba18a1762152d6b08 100644 (file)
@@ -8,7 +8,7 @@ See-also:
   - curl_version (3)
 Protocol:
   - All
-Added-in: 7.10.0
+Added-in: 7.10
 ---
 
 # NAME
index 5e744f02d4166b67e3fef4d848cde67f3f0da80e..1fcacb984810f5247be04be57ed5536bfc4b7cb0 100644 (file)
@@ -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
index fceff631bfc6682072042a2a1e03cea5773fee9c..a4ce20093a96253e4667a7d82314f77763367c83 100644 (file)
@@ -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
 --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
index 33b41f4c3c98859b5508389b48984bf26c97603a..2bcd27d6cc6d7e1ec3822a699991812120b8f15e 100644 (file)
@@ -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 (file)
index 0000000..f386124
--- /dev/null
@@ -0,0 +1,48 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, 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(<A>) {
+        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;
index f987e151d398378d4e3011d8917feeab31ea64c7..f5f23bf8465bcf37ce13464be8af901be38c236f 100644 (file)
@@ -19,7 +19,7 @@ symbols-in-versions and manpages agree on added-in versions
 </name>
 
 <command type="perl">
-%SRCDIR/test1488.pl %SRCDIR/.. ../include/curl
+%SRCDIR/test1488.pl %SRCDIR/.. ../include/curl %SRCDIR/../docs/VERSIONS.md
 </command>
 </client>
 
index 6c6b950589ab8d75d749a85778cc28c7a9933d13..3f11bbc37b90a71a7d9796cddf8a8f83c97349b4 100644 (file)
@@ -18,7 +18,7 @@ Verify that options-in-versions and docs/cmdline-opts are in sync
 </name>
 
 <command type="perl">
-%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
 </command>
 </client>
 
index 43dd24d10dbefe72d93da40968a5bd69d97b15d0..4957d305c121619f3fa60381aef1452b634313ae 100755 (executable)
@@ -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;
index 1aeed9d484826a46ff998d33a8d76e1d9210f60c..d5c573ed94dbf7ce3c1354d864a54b148d7cedf1 100755 (executable)
 #   $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});
     }