3 perlhist - the Perl history records
7 This document aims to record the Perl source code releases.
11 Perl history in brief, by Larry Wall:
13 Perl 0 introduced Perl to my officemates.
14 Perl 1 introduced Perl to the world, and changed /\(...\|...\)/ to
15 /(...|...)/. \(Dan Faigin still hasn't forgiven me. :-\)
16 Perl 2 introduced Henry Spencer's regular expression package.
17 Perl 3 introduced the ability to handle binary data (embedded nulls).
18 Perl 4 introduced the first Camel book. Really. We mostly just
19 switched version numbers so the book could refer to 4.000.
20 Perl 5 introduced everything else, including the ability to
21 introduce everything else.
23 =head1 THE KEEPERS OF THE PUMPKIN
25 Larry Wall, Andy Dougherty, Tom Christiansen, Charles Bailey, Nick
26 Ing-Simmons, Chip Salzenberg, Tim Bunce, Malcolm Beattie, Gurusamy
27 Sarathy, Graham Barr, Jarkko Hietaniemi, Hugo van der Sanden,
28 Michael Schwern, Rafael Garcia-Suarez, Nicholas Clark, Richard Clamp,
33 [from Porting/pumpkin.pod in the Perl source code distribution]
35 Chip Salzenberg gets credit for that, with a nod to his cow orker,
36 David Croy. We had passed around various names (baton, token, hot
37 potato) but none caught on. Then, Chip asked:
41 Who has the patch pumpkin?
43 To explain: David Croy once told me once that at a previous job,
44 there was one tape drive and multiple systems that used it for backups.
45 But instead of some high-tech exclusion software, they used a low-tech
46 method to prevent multiple simultaneous backups: a stuffed pumpkin.
47 No one was allowed to make backups unless they had the "backup pumpkin".
51 The name has stuck. The holder of the pumpkin is sometimes called
52 the pumpking (keeping the source afloat?) or the pumpkineer (pulling
57 Pump- Release Date Notes
62 ===========================================================================
64 Larry 0 Classified. Don't ask.
66 Larry 1.000 1987-Dec-18
70 Schwern 1.0.15 2002-Dec-18 Modernization
71 Richard 1.0.16 2003-Dec-18
73 Larry 2.000 1988-Jun-05
77 Larry 3.000 1989-Oct-18
87 3.019..27 1990-Aug-10 User subs.
96 Larry 4.000 1991-Mar-21
101 4.011..18 1991-Nov-05
102 4.019 1991-Nov-11 Stable.
103 4.020..33 1992-Jun-08
106 Larry 4.036 1993-Feb-05 Very stable.
108 5.000alpha1 1993-Jul-31
109 5.000alpha2 1993-Aug-16
110 5.000alpha3 1993-Oct-10
111 5.000alpha4 1993-???-??
112 5.000alpha5 1993-???-??
113 5.000alpha6 1994-Mar-18
114 5.000alpha7 1994-Mar-25
115 Andy 5.000alpha8 1994-Apr-04
116 Larry 5.000alpha9 1994-May-05 ext appears.
117 5.000alpha10 1994-Jun-11
118 5.000alpha11 1994-Jul-01
119 Andy 5.000a11a 1994-Jul-07 To fit 14.
120 5.000a11b 1994-Jul-14
121 5.000a11c 1994-Jul-19
122 5.000a11d 1994-Jul-22
123 Larry 5.000alpha12 1994-Aug-04
124 Andy 5.000a12a 1994-Aug-08
125 5.000a12b 1994-Aug-15
126 5.000a12c 1994-Aug-22
127 5.000a12d 1994-Aug-22
128 5.000a12e 1994-Aug-22
129 5.000a12f 1994-Aug-24
130 5.000a12g 1994-Aug-24
131 5.000a12h 1994-Aug-24
132 Larry 5.000beta1 1994-Aug-30
133 Andy 5.000b1a 1994-Sep-06
134 Larry 5.000beta2 1994-Sep-14 Core slushified.
135 Andy 5.000b2a 1994-Sep-14
138 Larry 5.000beta3 1994-Sep-??
139 Andy 5.000b3a 1994-Sep-18
146 Andy 5.000b3h 1994-Oct-07
147 Larry? 5.000gamma 1994-Oct-13?
149 Larry 5.000 1994-Oct-17
151 Andy 5.000a 1994-Dec-19
167 Larry 5.001 1995-Mar-13
169 Andy 5.001a 1995-Mar-15
173 5.001e 1995-Apr-18 Stable.
180 5.001l 1995-Jun-06 Stable.
181 5.001m 1995-Jul-02 Very stable.
182 5.001n 1995-Oct-31 Very unstable.
183 5.002beta1 1995-Nov-21
190 Tom 5.002b1g 1995-Dec-21 Doc release.
191 Andy 5.002b1h 1996-Jan-05
193 Larry 5.002b3 1996-Feb-02
194 Andy 5.002gamma 1996-Feb-11
195 Larry 5.002delta 1996-Feb-27
197 Larry 5.002 1996-Feb-29 Prototypes.
199 Charles 5.002_01 1996-Mar-25
201 5.003 1996-Jun-25 Security release.
204 Nick 5.003_02 1996-Aug-10
205 Andy 5.003_03 1996-Aug-28
210 Chip 5.003_08 1996-Nov-19
231 5.003_90 1997-Feb-25 Ramping up to the 5.004 release.
238 5.003_97 1997-Apr-03 Fairly widely used.
239 5.003_97a 1997-Apr-05
240 5.003_97b 1997-Apr-08
241 5.003_97c 1997-Apr-10
242 5.003_97d 1997-Apr-13
243 5.003_97e 1997-Apr-15
244 5.003_97f 1997-Apr-17
245 5.003_97g 1997-Apr-18
246 5.003_97h 1997-Apr-24
247 5.003_97i 1997-Apr-25
248 5.003_97j 1997-Apr-28
251 5.003_99a 1997-May-09
252 p54rc1 1997-May-12 Release Candidates.
255 Chip 5.004 1997-May-15 A major maintenance release.
257 Tim 5.004_01-t1 1997-???-?? The 5.004 maintenance track.
258 5.004_01-t2 1997-Jun-11 aka perl5.004m1t2
260 5.004_01_01 1997-Jul-29 aka perl5.004m2t1
261 5.004_01_02 1997-Aug-01 aka perl5.004m2t2
262 5.004_01_03 1997-Aug-05 aka perl5.004m2t3
264 5.004_02_01 1997-Aug-12 aka perl5.004m3t1
265 5.004_03-t2 1997-Aug-13 aka perl5.004m3t2
267 5.004_04-t1 1997-Sep-19 aka perl5.004m4t1
268 5.004_04-t2 1997-Sep-23 aka perl5.004m4t2
269 5.004_04-t3 1997-Oct-10 aka perl5.004m4t3
270 5.004_04-t4 1997-Oct-14 aka perl5.004m4t4
272 5.004_04-m1 1998-Mar-04 (5.004m5t1) Maint. trials for 5.004_05.
273 5.004_04-m2 1998-May-01
274 5.004_04-m3 1998-May-15
275 5.004_04-m4 1998-May-19
276 5.004_05-MT5 1998-Jul-21
277 5.004_05-MT6 1998-Oct-09
278 5.004_05-MT7 1998-Nov-22
279 5.004_05-MT8 1998-Dec-03
280 Chip 5.004_05-MT9 1999-Apr-26
283 Malcolm 5.004_50 1997-Sep-09 The 5.005 development track.
300 Sarathy 5.004_67 1998-Jun-15
307 5.004_74 1998-Jul-14 5.005 beta candidate.
308 5.004_75 1998-Jul-15 5.005 beta1.
309 5.004_76 1998-Jul-21 5.005 beta2.
310 5.005 1998-Jul-22 Oneperl.
312 Sarathy 5.005_01 1998-Jul-27 The 5.005 maintenance track.
313 5.005_02-T1 1998-Aug-02
314 5.005_02-T2 1998-Aug-05
316 Graham 5.005_03-MT1 1998-Nov-30
317 5.005_03-MT2 1999-Jan-04
318 5.005_03-MT3 1999-Jan-17
319 5.005_03-MT4 1999-Jan-26
320 5.005_03-MT5 1999-Jan-28
321 5.005_03-MT6 1999-Mar-05
323 Leon 5.005_04-RC1 2004-Feb-05
324 5.005_04-RC2 2004-Feb-18
327 Sarathy 5.005_50 1998-Jul-26 The 5.6 development track.
342 5.5.650 2000-Feb-08 beta1
343 5.5.660 2000-Feb-22 beta2
344 5.5.670 2000-Feb-29 beta3
345 5.6.0-RC1 2000-Mar-09 Release candidate 1.
346 5.6.0-RC2 2000-Mar-14 Release candidate 2.
347 5.6.0-RC3 2000-Mar-21 Release candidate 3.
350 Sarathy 5.6.1-TRIAL1 2000-Dec-18 The 5.6 maintenance track.
351 5.6.1-TRIAL2 2001-Jan-31
352 5.6.1-TRIAL3 2001-Mar-19
353 5.6.1-foolish 2001-Apr-01 The "fools-gold" release.
355 Rafael 5.6.2-RC1 2003-Nov-08
356 5.6.2 2003-Nov-15 Fix new build issues
358 Jarkko 5.7.0 2000-Sep-02 The 5.7 track: Development.
360 5.7.2 2001-Jul-13 Virtual release candidate 0.
362 5.8.0-RC1 2002-Jun-01
363 5.8.0-RC2 2002-Jun-21
364 5.8.0-RC3 2002-Jul-13
366 5.8.1-RC1 2003-Jul-10
367 5.8.1-RC2 2003-Jul-11
368 5.8.1-RC3 2003-Jul-30
369 5.8.1-RC4 2003-Aug-01
370 5.8.1-RC5 2003-Sep-22
372 Nicholas 5.8.2-RC1 2003-Oct-27
373 5.8.2-RC2 2003-Nov-03
375 5.8.3-RC1 2004-Jan-07
377 5.8.4-RC1 2004-Apr-05
378 5.8.4-RC2 2004-Apr-15
380 5.8.5-RC1 2004-Jul-06
381 5.8.5-RC2 2004-Jul-08
383 5.8.6-RC1 2004-Nov-11
385 5.8.7-RC1 2005-May-18
387 5.8.8-RC1 2006-Jan-20
389 5.8.9-RC1 2008-Nov-10
391 Hugo 5.9.0 2003-Oct-27
392 Rafael 5.9.1 2004-Mar-16
397 5.10.0-RC1 2007-Nov-17
398 5.10.0-RC2 2007-Nov-25
401 =head2 SELECTED RELEASE SIZES
403 For example the notation "core: 212 29" in the release 1.000 means that
404 it had in the core 212 kilobytes, in 29 files. The "core".."doc" are
407 release core lib ext t doc
408 ======================================================================
410 1.000 212 29 - - - - 38 51 62 3
411 1.014 219 29 - - - - 39 52 68 4
412 2.000 309 31 2 3 - - 55 57 92 4
413 2.001 312 31 2 3 - - 55 57 94 4
414 3.000 508 36 24 11 - - 79 73 156 5
415 3.044 645 37 61 20 - - 90 74 190 6
416 4.000 635 37 59 20 - - 91 75 198 4
417 4.019 680 37 85 29 - - 98 76 199 4
418 4.036 709 37 89 30 - - 98 76 208 5
419 5.000alpha2 785 50 114 32 - - 112 86 209 5
420 5.000alpha3 801 50 117 33 - - 121 87 209 5
421 5.000alpha9 1022 56 149 43 116 29 125 90 217 6
422 5.000a12h 978 49 140 49 205 46 152 97 228 9
423 5.000b3h 1035 53 232 70 216 38 162 94 218 21
424 5.000 1038 53 250 76 216 38 154 92 536 62
425 5.001m 1071 54 388 82 240 38 159 95 544 29
426 5.002 1121 54 661 101 287 43 155 94 847 35
427 5.003 1129 54 680 102 291 43 166 100 853 35
428 5.003_07 1231 60 748 106 396 53 213 137 976 39
429 5.004 1351 60 1230 136 408 51 355 161 1587 55
430 5.004_01 1356 60 1258 138 410 51 358 161 1587 55
431 5.004_04 1375 60 1294 139 413 51 394 162 1629 55
432 5.004_05 1463 60 1435 150 394 50 445 175 1855 59
433 5.004_51 1401 61 1260 140 413 53 358 162 1594 56
434 5.004_53 1422 62 1295 141 438 70 394 162 1637 56
435 5.004_56 1501 66 1301 140 447 74 408 165 1648 57
436 5.004_59 1555 72 1317 142 448 74 424 171 1678 58
437 5.004_62 1602 77 1327 144 629 92 428 173 1674 58
438 5.004_65 1626 77 1358 146 615 92 446 179 1698 60
439 5.004_68 1856 74 1382 152 619 92 463 187 1784 60
440 5.004_70 1863 75 1456 154 675 92 494 194 1809 60
441 5.004_73 1874 76 1467 152 762 102 506 196 1883 61
442 5.004_75 1877 76 1467 152 770 103 508 196 1896 62
443 5.005 1896 76 1469 152 795 103 509 197 1945 63
444 5.005_03 1936 77 1541 153 813 104 551 201 2176 72
445 5.005_50 1969 78 1842 301 795 103 514 198 1948 63
446 5.005_53 1999 79 1885 303 806 104 602 224 2002 67
447 5.005_56 2086 79 1970 307 866 113 672 238 2221 75
448 5.6.0 2930 80 2626 364 1096 129 868 281 2841 93
449 5.7.0 2977 80 2801 425 1250 132 975 307 3206 100
450 5.6.1 3049 80 3764 484 1924 159 1025 304 3593 119
451 5.7.1 3351 84 3442 455 1944 167 1334 357 3698 124
452 5.7.2 3491 87 4858 618 3290 298 1598 449 3910 139
453 5.7.3 3415 87 5367 630 14448 410 2205 640 4491 148
455 The "core"..."doc" mean the following files from the Perl source code
456 distribution. The glob notation ** means recursively, (.) means
461 ext ext/**/*.{[hcyt],xs,pm}
462 t t/**/*(.) (for 1-5.005_56) or **/*.t (for 5.6.0-5.7.3)
463 doc {README*,INSTALL,*[_.]man{,.?},pod/**/*.pod}
465 Here are some statistics for the other subdirectories and one file in
466 the Perl source distribution for somewhat more selected releases.
468 ======================================================================
471 1.014 2.001 3.044 4.000 4.019 4.036
473 atarist - - - - - - - - - - 113 31
474 Configure 31 1 37 1 62 1 73 1 83 1 86 1
475 eg - - 34 28 47 39 47 39 47 39 47 39
476 emacs - - - - - - 67 4 67 4 67 4
477 h2pl - - - - 12 12 12 12 12 12 12 12
478 hints - - - - - - - - 5 42 11 56
479 msdos - - - - 41 13 57 15 58 15 60 15
480 os2 - - - - 63 22 81 29 81 29 113 31
481 usub - - - - 21 16 25 7 43 8 43 8
482 x2p 103 17 104 17 137 17 147 18 152 19 154 19
484 ======================================================================
486 5.000a2 5.000a12h 5.000b3h 5.000 5.001m 5.002 5.003
488 atarist 113 31 113 31 - - - - - - - - - -
489 bench - - 0 1 - - - - - - - - - -
490 Bugs 2 5 26 1 - - - - - - - - - -
491 dlperl 40 5 - - - - - - - - - - - -
492 do 127 71 - - - - - - - - - - - -
493 Configure - - 153 1 159 1 160 1 180 1 201 1 201 1
494 Doc - - 26 1 75 7 11 1 11 1 - - - -
495 eg 79 58 53 44 51 43 54 44 54 44 54 44 54 44
496 emacs 67 4 104 6 104 6 104 1 104 6 108 1 108 1
497 h2pl 12 12 12 12 12 12 12 12 12 12 12 12 12 12
498 hints 11 56 12 46 18 48 18 48 44 56 73 59 77 60
499 msdos 60 15 60 15 - - - - - - - - - -
500 os2 113 31 113 31 - - - - - - 84 17 56 10
501 U - - 62 8 112 42 - - - - - - - -
502 usub 43 8 - - - - - - - - - - - -
503 utils - - - - - - - - - - 87 7 88 7
504 vms - - 80 7 123 9 184 15 304 20 500 24 475 26
505 x2p 171 22 171 21 162 20 162 20 279 20 280 20 280 20
507 ======================================================================
509 5.003_07 5.004 5.004_04 5.004_62 5.004_65 5.004_68
511 beos - - - - - - - - 1 1 1 1
512 Configure 217 1 225 1 225 1 240 1 248 1 256 1
513 cygwin32 - - 23 5 23 5 23 5 24 5 24 5
514 djgpp - - - - - - 14 5 14 5 14 5
515 eg 54 44 81 62 81 62 81 62 81 62 81 62
516 emacs 143 1 194 1 204 1 212 2 212 2 212 2
517 h2pl 12 12 12 12 12 12 12 12 12 12 12 12
518 hints 90 62 129 69 132 71 144 72 151 74 155 74
519 os2 117 42 121 42 127 42 127 44 129 44 129 44
520 plan9 79 15 82 15 82 15 82 15 82 15 82 15
521 Porting 51 1 94 2 109 4 203 6 234 8 241 9
522 qnx - - 1 2 1 2 1 2 1 2 1 2
523 utils 97 7 112 8 118 8 124 8 156 9 159 9
524 vms 505 27 518 34 524 34 538 34 569 34 569 34
525 win32 - - 285 33 378 36 470 39 493 39 575 41
526 x2p 280 19 281 19 281 19 281 19 282 19 281 19
528 ======================================================================
530 5.004_70 5.004_73 5.004_75 5.005 5.005_03
532 apollo - - - - - - - - 0 1
533 beos 1 1 1 1 1 1 1 1 1 1
534 Configure 256 1 256 1 264 1 264 1 270 1
535 cygwin32 24 5 24 5 24 5 24 5 24 5
536 djgpp 14 5 14 5 14 5 14 5 15 5
537 eg 86 65 86 65 86 65 86 65 86 65
538 emacs 262 2 262 2 262 2 262 2 274 2
539 h2pl 12 12 12 12 12 12 12 12 12 12
540 hints 157 74 157 74 159 74 160 74 179 77
541 mint - - - - - - - - 4 7
542 mpeix - - - - 5 3 5 3 5 3
543 os2 129 44 139 44 142 44 143 44 148 44
544 plan9 82 15 82 15 82 15 82 15 82 15
545 Porting 241 9 253 9 259 10 264 12 272 13
546 qnx 1 2 1 2 1 2 1 2 1 2
547 utils 160 9 160 9 160 9 160 9 164 9
548 vms 570 34 572 34 573 34 575 34 583 34
549 vos - - - - - - - - 156 10
550 win32 577 41 585 41 585 41 587 41 600 42
551 x2p 281 19 281 19 281 19 281 19 281 19
553 =head2 SELECTED PATCH SIZES
555 The "diff lines kb" means that for example the patch 5.003_08, to be
556 applied on top of the 5.003_07 (or whatever was before the 5.003_08)
557 added lines for 110 kilobytes, it removed lines for 19 kilobytes, and
558 changed lines for 424 kilobytes. Just the lines themselves are
559 counted, not their context. The "+ - !" become from the diff(1)
560 context diff output format.
562 Pump- Release Date diff lines kB
565 ===========================================================================
567 Chip 5.003_08 1996-Nov-19 110 19 424
568 5.003_09 1996-Nov-26 38 9 248
569 5.003_10 1996-Nov-29 29 2 27
570 5.003_11 1996-Dec-06 73 12 165
571 5.003_12 1996-Dec-19 275 6 436
572 5.003_13 1996-Dec-20 95 1 56
573 5.003_14 1996-Dec-23 23 7 333
574 5.003_15 1996-Dec-23 0 0 1
575 5.003_16 1996-Dec-24 12 3 50
576 5.003_17 1996-Dec-27 19 1 14
577 5.003_18 1996-Dec-31 21 1 32
578 5.003_19 1997-Jan-04 80 3 85
579 5.003_20 1997-Jan-07 18 1 146
580 5.003_21 1997-Jan-15 38 10 221
581 5.003_22 1997-Jan-16 4 0 18
582 5.003_23 1997-Jan-25 71 15 119
583 5.003_24 1997-Jan-29 426 1 20
584 5.003_25 1997-Feb-04 21 8 169
585 5.003_26 1997-Feb-10 16 1 15
586 5.003_27 1997-Feb-18 32 10 38
587 5.003_28 1997-Feb-21 58 4 66
588 5.003_90 1997-Feb-25 22 2 34
589 5.003_91 1997-Mar-01 37 1 39
590 5.003_92 1997-Mar-06 16 3 69
591 5.003_93 1997-Mar-10 12 3 15
592 5.003_94 1997-Mar-22 407 7 200
593 5.003_95 1997-Mar-25 41 1 37
594 5.003_96 1997-Apr-01 283 5 261
595 5.003_97 1997-Apr-03 13 2 34
596 5.003_97a 1997-Apr-05 57 1 27
597 5.003_97b 1997-Apr-08 14 1 20
598 5.003_97c 1997-Apr-10 20 1 16
599 5.003_97d 1997-Apr-13 8 0 16
600 5.003_97e 1997-Apr-15 15 4 46
601 5.003_97f 1997-Apr-17 7 1 33
602 5.003_97g 1997-Apr-18 6 1 42
603 5.003_97h 1997-Apr-24 23 3 68
604 5.003_97i 1997-Apr-25 23 1 31
605 5.003_97j 1997-Apr-28 36 1 49
606 5.003_98 1997-Apr-30 171 12 539
607 5.003_99 1997-May-01 6 0 7
608 5.003_99a 1997-May-09 36 2 61
609 p54rc1 1997-May-12 8 1 11
610 p54rc2 1997-May-14 6 0 40
612 5.004 1997-May-15 4 0 4
614 Tim 5.004_01 1997-Jun-13 222 14 57
615 5.004_02 1997-Aug-07 112 16 119
616 5.004_03 1997-Sep-05 109 0 17
617 5.004_04 1997-Oct-15 66 8 173
619 =head1 THE KEEPERS OF THE RECORDS
621 Jarkko Hietaniemi <F<jhi@iki.fi>>.
623 Thanks to the collective memory of the Perlfolk. In addition to the
624 Keepers of the Pumpkin also Alan Champion, Mark Dominus,
625 Andreas König, John Macdonald, Matthias Neeracher, Jeff Okamoto,
626 Michael Peppler, Randal Schwartz, and Paul D. Smith sent corrections