NAME

perlhist - the Perl history records

DESCRIPTION

This document aims to record the Perl source code releases.

INTRODUCTION

Perl history in brief, by Larry Wall:

    Perl 0 introduced Perl to my officemates.
    Perl 1 introduced Perl to the world, and changed /\(...\|...\)/ to
	/(...|...)/.  \(Dan Faigin still hasn't forgiven me. :-\)
    Perl 2 introduced Henry Spencer's regular expression package.
    Perl 3 introduced the ability to handle binary data (embedded nulls).
    Perl 4 introduced the first Camel book.  Really.  We mostly just
	switched version numbers so the book could refer to 4.000.
    Perl 5 introduced everything else, including the ability to
	introduce everything else.

THE KEEPERS OF THE PUMPKIN

Larry Wall, Andy Dougherty, Tom Christiansen, Charles Bailey, Nick Ing-Simmons, Chip Salzenberg, Tim Bunce, Malcolm Beattie.

PUMPKIN?

[from Porting/pumpkin.pod in the Perl source code distribution]

Chip Salzenberg gets credit for that, with a nod to his cow orker, David Croy. We had passed around various names (baton, token, hot potato) but none caught on. Then, Chip asked:

[begin quote]

Who has the patch pumpkin?

To explain: David Croy once told me once that at a previous job, there was one tape drive and multiple systems that used it for backups. But instead of some high-tech exclusion software, they used a low-tech method to prevent multiple simultaneous backups: a stuffed pumpkin. No one was allowed to make backups unless they had the "backup pumpkin".

[end quote]

The name has stuck. The holder of the pumpkin is sometimes called the pumpking or the pumpkineer.

THE RECORDS

 Pump-  Release         Date            Notes
 king                                   (by no means
                                         comprehensive,
                                         see Changes*
                                         for details)
 ===========================================================================

 Larry   0              Classified.	Don't ask.

 Larry   1.000          1987-Dec-18
				   
          1.001..10     1988-Jan-30
          1.011..14     1988-Feb-02
				   
 Larry   2.000          1988-Jun-05
				   
          2.001         1988-Jun-28
				   
 Larry   3.000          1989-Oct-18
				   
          3.001         1989-Oct-26
          3.002..4      1989-Nov-11
          3.005         1989-Nov-18
          3.006..8      1989-Dec-22
          3.009..13     1990-Mar-02
          3.014         1990-Mar-13
          3.015         1990-Mar-14
          3.016..18     1990-Mar-28
          3.019..27     1990-Aug-10	User subs.
          3.028         1990-Aug-14
          3.029..36     1990-Oct-17
          3.037         1990-Oct-20
          3.040         1990-Nov-10
          3.041         1990-Nov-13
          3.042..43     1990-Jan-91
          3.044         1991-Jan-12
				   
 Larry   4.000          1991-Mar-21
				   
          4.001..3      1991-Apr-12
          4.004..9      1991-Jun-07
          4.010         1991-Jun-10
          4.011..18     1991-Nov-05
          4.019         1991-Nov-11	Stable.
          4.020..33     1992-Jun-08
          4.034         1992-Jun-11
          4.035         1992-Jun-23
 Larry    4.036         1993-Feb-05	Very stable.
				   
          5.000alpha1   1993-Jul-31
          5.000alpha2   1993-Aug-16
          5.000alpha3   1993-Oct-10
          5.000alpha4   1993-???-??
          5.000alpha5   1993-???-??
          5.000alpha6   1993-Mar-18
          5.003alpha7   1994-Mar-25
 Andy     5.000alpha8   1994-Apr-04
 Larry    5.000alpha9   1994-May-05
          5.000alpha10  1994-???-??
          5.000alpha11  1994-???-??
 Andy     5.000a11a     1994-Jul-07	To fit 14.
          5.000a11b     1994-Jul-14
          5.000a11c     1994-Jul-19
          5.000a11d     1994-Jul-22
 Larry    5.000alpha12  1994-???-??
 Andy     5.000a12a     1994-Aug-08
          5.000a12b     1994-Aug-15
          5.000a12c     1994-Aug-22
          5.000a12d     1994-Aug-22
          5.000a12e     1994-Aug-22
          5.000a12f     1994-Aug-24
          5.000a12g     1994-Aug-24
          5.000a12h     1994-Aug-24
 Larry    5.000beta1    1994-???-??
 Andy     5.000b1a      1994-???-??
 Larry    5.000beta2    1994-Sep-14	Core slushified.
 Andy     5.000b2a      1994-Sep-14
          5.000b2b      1994-Sep-17
          5.000b2c      1994-Sep-17
 Larry    5.000beta3    1994-???-??
 Andy     5.000b3a      1994-Sep-18
          5.000b3b      1994-Sep-22
          5.000b3c      1994-Sep-23
          5.000b3d      1994-Sep-27
          5.000b3e      1994-Sep-28
          5.000b3f      1994-Sep-30
          5.000b3g      1994-Oct-04
 Andy     5.000b3h      1994-Oct-07
				   
 Larry   5.000          1994-Oct-18
				   
 Andy     5.000a        1994-Dec-19
          5.000b        1995-Jan-18
          5.000c        1995-Jan-18
          5.000d        1995-Jan-18
          5.000e        1995-Jan-18
          5.000f        1995-Jan-18
          5.000g        1995-Jan-18
          5.000h        1995-Jan-18
          5.000i        1995-Jan-26
          5.000j        1995-Feb-07
          5.000k        1995-Feb-11
          5.000l        1995-Feb-21
          5.000m        1995-???-??
          5.000n        1995-Mar-07
				   
 Larry   5.001          1995-Mar-13
				   
 Andy     5.001a        1995-Mar-15
          5.001b        1995-Mar-31
          5.001c        1995-Apr-07
          5.001d        1995-Apr-14
          5.001e        1995-Apr-18	Stable.
          5.001f        1995-May-31
          5.001g        1995-May-25
          5.001h        1995-May-25
          5.001i        1995-May-30
          5.001j        1995-Jun-05
          5.001k        1995-Jun-06
          5.001l        1995-Jun-06	Stable.
          5.001m        1995-Jul-02	Very stable.
          5.001n        1995-Oct-31	Very unstable.
          5.002beta1    1995-Nov-21
          5.002b1a      1995-Nov-??
          5.002b1b      1995-Dec-04
          5.002b1c      1995-Dec-04
          5.002b1d      1995-Dec-04
          5.002b1e      1995-Dec-08
          5.002b1f      1995-Dec-08
 Tom      5.002b1g      1995-Dec-21	Doc release.
 Andy     5.002b1h      1996-Jan-05
	  5.002b2	1996-Jan-14
 Larry	  5.002b3	1996-Feb-02
 Andy     5.002gamma    1996-Feb-11
 Larry    5.002delta    1996-Feb-27
				   
 Larry   5.002          1996-Feb-29
				   
 Charles  5.002_01      1996-Mar-25
				   
         5.003          1996-Jun-25	Security release.
				   
          5.003_01      1996-Jul-31
 Nick     5.003_02      1996-Aug-10
 Andy     5.003_03      1996-Aug-28
          5.003_04      1996-Sep-02
          5.003_05      1996-Sep-12
          5.003_06      1996-Oct-07
          5.003_07      1996-Oct-10
 Chip     5.003_08      1996-Nov-19
          5.003_09      1996-Nov-26
          5.003_10      1996-Nov-29
          5.003_11      1996-Dec-06
          5.003_12      1996-Dec-19
          5.003_13      1996-Dec-20
          5.003_14      1996-Dec-23
          5.003_15      1996-Dec-23
          5.003_16      1996-Dec-24
          5.003_17      1996-Dec-27
          5.003_18      1996-Dec-31
          5.003_19      1997-Jan-04
          5.003_20      1997-Jan-07
          5.003_21      1997-Jan-15
          5.003_22      1997-Jan-16
          5.003_23      1997-Jan-25
          5.003_24      1997-Jan-29
          5.003_25      1997-Feb-04
          5.003_26      1997-Feb-10
          5.003_27      1997-Feb-18
          5.003_28      1997-Feb-21
          5.003_90      1997-Feb-25	Ramping up to the 5.004 release.
          5.003_91      1997-Mar-01
          5.003_92      1997-Mar-06
          5.003_93      1997-Mar-10
          5.003_94      1997-Mar-22
          5.003_95      1997-Mar-25
          5.003_96      1997-Apr-01
          5.003_97      1997-Apr-03	Fairly widely used.
          5.003_97a     1997-Apr-05
          5.003_97b     1997-Apr-08
          5.003_97c     1997-Apr-10
          5.003_97d     1997-Apr-13
          5.003_97e     1997-Apr-15
          5.003_97f     1997-Apr-17
          5.003_97g     1997-Apr-18
          5.003_97h     1997-Apr-24
          5.003_97i     1997-Apr-25
          5.003_97j     1997-Apr-28
          5.003_98      1997-Apr-30
          5.003_99      1997-May-01
          5.003_99a     1997-May-09
          p54rc1        1997-May-12	Release Candidates.
          p54rc2        1997-May-14	
				   
 Chip    5.004          1997-May-15	A major maintenance release.
				   
 Tim      5.004_01      1997-Jun-13	The 5.004 maintenance track.
          5.004_02      1997-Aug-07
          5.004_03      1997-Sep-05
          5.004_04      1997-Oct-15
				   
 Malcolm  5.004_50      1997-Sep-09	The 5.005 development track.
          5.004_51      1997-Oct-02
          5.004_52      1997-Oct-15
          5.004_53      1997-Oct-16
          5.004_54      1997-Nov-14
          5.004_55      1997-Nov-25
          5.004_56      1997-Dec-18

SELECTED RELEASE SIZES

For example the notation "core: 212 29" in the release 1.000 means that it had in the core 212 kilobytes, in 29 files. The "core".."doc" are explained below.

release	core	   lib	       ext        t         doc
======================================================================

1.000		 212  29      -   -      -   -     38  51     62   3
1.014		 219  29      -   -      -   -     39  52     68   4
2.000		 309  31      2   3      -   -     55  57     92   4
2.001		 312  31      2   3      -   -     55  57     94   4
3.000		 508  36     24  11      -   -     79  73    156   5
3.044		 645  37     61  20      -   -     90  74    190   6
4.000		 635  37     59  20      -   -     91  75    198   4
4.019		 680  37     85  29      -   -     98  76    199   4
4.036		 709  37     89  30      -   -     98  76    208   5
5.000alpha2	 785  50    114  32      -   -    112  86    209   5
5.000a3    	 801  50    117  33      -   -    121  87    209   5
5.000a9    	1022  56    149  43    116  29    125  90    217   6
5.000a12h       978  49    140  49    205  46    152  97    228   9
5.000beta3h    1035  53    232  70    216  38    162  94    218  21
5.000		1038  53    250  76    216  38    154  92    536  62
5.001m		1071  54    388  82    240  38    159  95    544  29
5.002		1121  54    661 101    287  43    155  94    847  35
5.003		1129  54    680 102    291  43    166 100    853  35
5.003_07	1231  60    748 106    396  53    213 137    976  39
5.004		1351  60   1230 136    408  51    355 161   1587  55
5.004_01	1356  60   1258 138    410  51    358 161   1587  55 
5.004_04	1375  60   1294 139    413  51    394 162   1629  55
5.004_51	1401  61   1260 140    413  53    358 162   1594  56
5.004_53	1422  62   1295 141    438  70    394 162   1637  56
5.004_56	1501  66   1301 140    447  74    408 165   1648  57

The "core"..."doc" mean the following files from the Perl source code distribution. The glob notation ** means recursively, (.) means regular files.

core	*.[hcy]
lib	lib/**/*.p[ml]
ext	ext/**/*.{[hcyt],xs,pm}
t	t/**/*(.)
doc	{README*,INSTALL,*[_.]man{,.?},pod/**/*.pod}

Here are some statistics for the other subdirectories and one file in the Perl source distribution for somewhat more selected releases.

 ======================================================================
   Legend:  kB   #

	    1.014   2.001   3.044   4.000   4.019   4.036   
	    			                              
 atarist      -  -    -  -    -  -    -  -    -  -  113 31  
 Configure   31  1   37  1   62  1   73  1   83  1   86  1  
 eg           -  -   34 28   47 39   47 39   47 39   47 39  
 emacs        -  -    -  -    -  -   67  4   67  4   67  4  
 h2pl         -  -    -  -   12 12   12 12   12 12   12 12  
 hints        -  -    -  -    -  -    -  -    5 42   11 56  
 msdos        -  -    -  -   41 13   57 15   58 15   60 15  
 os2          -  -    -  -   63 22   81 29   81 29  113 31  
 usub         -  -    -  -   21 16   25  7   43  8   43  8  
 x2p        103 17  104 17  137 17  147 18  152 19  154 19  

 ======================================================================

	    5.000a2 5.000a12h 5.000b3h 5.000  5.001m  5.002   5.003   
	                                                              
 atarist    113 31  113 31    -  -      -  -    -  -    -  -    -  -
 bench        -  -    0  1    -  -      -  -    -  -    -  -    -  -
 Bugs         2  5   26  1    -  -      -  -    -  -    -  -    -  -
 dlperl      40  5    -  -    -  -      -  -    -  -    -  -    -  -
 do         127 71    -  -    -  -      -  -    -  -    -  -    -  -
 Configure    -  -  153  1  159  1    160  1  180  1  201  1  201  1  
 Doc          -  -   26  1   75  7     11  1   11  1    -  -    -  -  
 eg          79 58   53 44   51 43     54 44   54 44   54 44   54 44  
 emacs       67  4  104  6  104  6    104  1  104  6  108  1  108  1  
 h2pl        12 12   12 12   12 12     12 12   12 12   12 12   12 12  
 hints       11 56   12 46   18 48     18 48   44 56   73 59   77 60  
 msdos       60 15   60 15    -  -      -  -    -  -    -  -    -  -  
 os2        113 31  113 31    -  -      -  -    -  -   84 17   56 10  
 U            -  -   62  8  112 42      -  -    -  -    -  -    -  -  
 usub        43  8    -  -    -  -      -  -    -  -    -  -    -  -
 utils        -  -    -  -    -  -      -  -    -  -   87  7   88  7  
 vms          -  -   80  7  123  9    184 15  304 20  500 24  475 26  
 x2p        171 22  171 21  162 20    162 20  279 20  280 20  280 20  

 ======================================================================

	    5.003_07 5.004   5.004_04 5.004_56
	    	                              
 Configure  217  1   225  1  225  1   232  1  
 cygwin32     -  -    23  5   23  5    23  5  
 djgpp        -  -     -  -    -  -    15  5
 eg          54 44    81 62   81 62    81 62
 emacs      143  1   194  1  204  1   212  2
 h2pl        12 12    12 12   12 12    12 12
 hints       90 62   129 69  132 71   138 72
 os2        117 42   121 42  127 42   134 44
 plan9       79 15    82 15   82 15    82 15
 Porting     51  1    94  2  109  4   109  4
 qnx          -  -     1  2    1  2     1  2
 utils       97  7   112  8  118  8   118  8
 vms        505 27   518 34  524 34   538 34
 win32        -  -   285 33  378 36   449 38
 x2p        280 19   281 19  281 19   281 19

SELECTED PATCH SIZES

The "diff lines kb" means that for example the patch 5.003_08, to be applied on top 5.003_07 (or whatever was before it) added lines for 110 kilobytes, it removed lines for 19 kilobytes, and changed lines for 424 kilobytes. Just the lines themselves are counted, not their context. The "+ - !" become from the diff(1)s context diff output format.

Pump-  Release         Date           diff lines kB
king                                     +   -   !
===========================================================================

Chip     5.003_08      1996-Nov-19     110  19 424
         5.003_09      1996-Nov-26      38   9 248
         5.003_10      1996-Nov-29      29   2  27
         5.003_11      1996-Dec-06      73  12 165
         5.003_12      1996-Dec-19     275   6 436
         5.003_13      1996-Dec-20      95   1  56
         5.003_14      1996-Dec-23      23   7 333
         5.003_15      1996-Dec-23       0   0   1
         5.003_16      1996-Dec-24      12   3  50
         5.003_17      1996-Dec-27      19   1  14
         5.003_18      1996-Dec-31      21   1  32
         5.003_19      1997-Jan-04      80   3  85
         5.003_20      1997-Jan-07      18   1 146
         5.003_21      1997-Jan-15      38  10 221
         5.003_22      1997-Jan-16       4   0  18
         5.003_23      1997-Jan-25      71  15 119
         5.003_24      1997-Jan-29     426   1  20
         5.003_25      1997-Feb-04      21   8 169
         5.003_26      1997-Feb-10      16   1  15
         5.003_27      1997-Feb-18      32  10  38
         5.003_28      1997-Feb-21      58   4  66
         5.003_90      1997-Feb-25      22   2  34
         5.003_91      1997-Mar-01      37   1  39
         5.003_92      1997-Mar-06      16   3  69
         5.003_93      1997-Mar-10      12   3  15
         5.003_94      1997-Mar-22     407   7 200
         5.003_95      1997-Mar-25      41   1  37
         5.003_96      1997-Apr-01     283   5 261
         5.003_97      1997-Apr-03      13   2  34
         5.003_97a     1997-Apr-05      57   1  27
         5.003_97b     1997-Apr-08      14   1  20
         5.003_97c     1997-Apr-10      20   1  16
         5.003_97d     1997-Apr-13       8   0  16
         5.003_97e     1997-Apr-15      15   4  46
         5.003_97f     1997-Apr-17       7   1  33
         5.003_97g     1997-Apr-18       6   1  42
         5.003_97h     1997-Apr-24      23   3  68
         5.003_97i     1997-Apr-25      23   1  31
         5.003_97j     1997-Apr-28      36   1  49
         5.003_98      1997-Apr-30     171  12 539
         5.003_99      1997-May-01       6   0   7
         5.003_99a     1997-May-09      36   2  61
         p54rc1        1997-May-12       8   1  11
         p54rc2        1997-May-14       6   0  40

       5.004           1997-May-15       4   0   4

Tim      5.004_01      1997-Jun-13     222  14  57
         5.004_02      1997-Aug-07     112  16 119
         5.004_03      1997-Sep-05     109   0  17
         5.004_04      1997-Oct-15      66   8 173

THE KEEPERS OF THE RECORDS

Jarkko Hietaniemi <jhi@iki.fi>.

Thanks to the collective memory of the Perlfolk. In addition to the Keepers of the Pumpkin also Alan Champion, Andreas König, John Macdonald, Matthias Neeracher, Michael Peppler, Randal Schwartz, and Paul D. Smith sent corrections and additions.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 447:

Non-ASCII character seen before =encoding in 'König,'. Assuming CP1252