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, Gurusamy Sarathy, Graham Barr.

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 (keeping the source afloat?) or the pumpkineer (pulling the strings?).

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-??
         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   1994-Mar-18
         5.003alpha7   1994-Mar-25
Andy     5.000alpha8   1994-Apr-04
Larry    5.000alpha9   1994-May-05     ext appears.
         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-Sep-??
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     Prototypes.

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
         5.004m5t1     1998-Mar-04     Maintenance Trials (for 5.004_05).
         5.004_04-m2   1997-May-01
         5.004_04-m3   1998-May-15
         5.004_04-m4   1998-May-19
         5.004_04-MT5  1998-Jul-21

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
         5.004_57      1998-Feb-03
         5.004_58      1998-Feb-06
         5.004_59      1998-Feb-13
         5.004_60      1998-Feb-20
         5.004_61      1998-Feb-27
         5.004_62      1998-Mar-06
         5.004_63      1998-Mar-17
         5.004_64      1998-Apr-03
         5.004_65      1998-May-15
         5.004_66      1998-May-29
Sarathy  5.004_67      1998-Jun-15
         5.004_68      1998-Jun-23
         5.004_69      1998-Jun-29
         5.004_70      1998-Jul-06
         5.004_71      1998-Jul-09
         5.004_72      1998-Jul-12
         5.004_73      1998-Jul-13
         5.004_74      1998-Jul-14     5.005 beta candidate.
         5.004_75      1998-Jul-15     5.005 beta1.
         5.004_76      1998-Jul-21     5.005 beta2.
         5.005         1998-Jul-22     Oneperl.

Sarathy  5.005_01      1998-Jul-27     The 5.005 maintenance track.
         5.005_02-T1   1998-Aug-02
         5.005_02-T2   1998-Aug-05
         5.005_02      1998-Aug-08
Graham   5.005_03      1998-           

Sarathy  5.005_50      1998-Jul-26     The 5.006 development track.

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.000alpha3     801  50    117  33      -   -    121  87    209   5
5.000alpha9    1022  56    149  43    116  29    125  90    217   6
5.000a12h       978  49    140  49    205  46    152  97    228   9
5.000b3h       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
5.004_59       1555  72   1317 142    448  74    424 171   1678  58
5.004_62       1602  77   1327 144    629  92    428 173   1674  58
5.004_65       1626  77   1358 146    615  92    446 179   1698  60
5.004_68       1856  74   1382 152    619  92    463 187   1784  60
5.004_70       1863  75   1456 154    675  92    494 194   1809  60
5.004_73       1874  76   1467 152    762 102    506 196   1883  61
5.004_75       1877  76   1467 152    770 103    508 196   1896  62
5.005          1896  76   1469 152    795 103    509 197   1945  63

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_62 5.004_65 5.004_68

beos         -  -     -  -    -  -     -  -     1   1    1   1
Configure  217  1   225  1  225  1   240  1   248   1  256   1
cygwin32     -  -    23  5   23  5    23  5    24   5   24   5
djgpp        -  -     -  -    -  -    14  5    14   5   14   5
eg          54 44    81 62   81 62    81 62    81  62   81  62
emacs      143  1   194  1  204  1   212  2   212   2  212   2
h2pl        12 12    12 12   12 12    12 12    12  12   12  12
hints       90 62   129 69  132 71   144 72   151  74  155  74
os2        117 42   121 42  127 42   127 44   129  44  129  44
plan9       79 15    82 15   82 15    82 15    82  15   82  15
Porting     51  1    94  2  109  4   203  6   234   8  241   9
qnx          -  -     1  2    1  2     1  2     1   2    1   2
utils       97  7   112  8  118  8   124  8   156   9  159   9
vms        505 27   518 34  524 34   538 34   569  34  569  34
win32        -  -   285 33  378 36   470 39   493  39  575  41
x2p        280 19   281 19  281 19   281 19   282  19  281  19

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

           5.004_70 5.004_73 5.004_75  5.005

beos         1   1    1   1    1   1    1   1
Configure  256   1  256   1  264   1  264   1
cygwin32    24   5   24   5   24   5   24   5
djgpp       14   5   14   5   14   5   14   5
eg          86  65   86  65   86  65   86  65
emacs      262   2  262   2  262   2  262   2
h2pl        12  12   12  12   12  12   12  12
hints      157  74  157  74  159  74  160  74
mpeix        -   -    -   -    5   3    5   3
os2        129  44  139  44  142  44  143  44
plan9       82  15   82  15   82  15   82  15
Porting    241   9  253   9  259  10  264  12
qnx          1   2    1   2    1   2    1   2
utils      160   9  160   9  160   9  160   9
vms        570  34  572  34  573  34  575  34
win32      577  41  585  41  585  41  587  41
x2p        281  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 of the 5.003_07 (or whatever was before the 5.003_08) 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 514:

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