1Revision history for Parse-RecDescent
2
31.00  Mon Aug 11 13:17:13 1997
4
5    - original version
6
7
81.01  Mon Sep  8 18:04:14 EST 1997
9
10    - changed "quotemeta" to "quotemeta $_" in Text::Balanced
11      to workaround bug in Perl 5.002 and 5.003
12
13
141.10  Tue Sep 30 14:51:49 EST 1997
15
16    - fixed fatal bug in tracing code
17
18    - added m<delim>...<delim> format for regex tokens
19
20    - added support for trailing modifiers (/.../gimsox) in regex tokens
21
22    - added $thisline variable
23
24
251.20  Thu Oct  2 11:46:57 EST 1997
26
27    - fixed handling of trailing regex modifiers (now no whitespace allowed
28      before between last delimiter and first modifier)
29
30    - added trace diagnostic for failure/success of actions
31      (demystifies failures caused by an action returning undef)
32
33    - added context for "Matched rule..." trace
34
35        - added a test so that an integer value (N>1) in the
36          $::RD_TRACE variable now truncates (to N characters) all
37          contexts reported in any trace
38
39    - added "start-up" actions: actions appearing before the first rule
40          were previously an error. They are now executed (once) at
41          the start of the parser's namespace.
42
43
441.21  Sat Oct  4 17:12:23 EST 1997
45
46    - modified truncation of context in trace diagnostics (successful
47      matches now report first N/2 and last N/2 chars, instead of first N)
48
49    - fixed incorrect version number in Balanced.pm
50
51
521.22  Tue Oct  7 11:53:27 EST 1997
53
54    - fixed lurking trace problem with certain pathological regexes
55
56    - fixed bug in generation of special namespaces (this was serious
57      as it prevented the use of more than one alternation in a parser,
58      as well as preventing the use of more than one parser in a script!
59
60
611.23  Fri Oct 17 10:15:22 EST 1997
62
63    - fixed error message generation for <error?:msg> directives
64
65    - fixed error message handling of empty productions
66
67    - fixed handling of multi-line start-up actions
68
69    - removed spurious debugging message for implicit subrule generation
70
71    - changed naming scheme for alternations (pseudo-rule's name now
72      describes location of alternation exactly)
73
74    - added support for repetition specifiers on alternations.
75
76    - Text::Balanced::extract_.... altered to honour the context in
77      which they are called (see Balanced.pod for details).
78
79
801.24
81    - fixed minor problem in tracing code (context string now correctly
82      reported for actions)
83
84    - added explicit namespace declaration at beginning of generated
85      code, to ensure that any "start code" is declared in the
86      appropriate namespace.
87
88    - fixed left recursion check on empty productions
89
90    - added $::RD_AUTOSTUB flag and associated autostubbing behaviour
91      (see new section - "Autostubbing" - in RecDescent.pod)
92
93    - eliminated hierarchical precedence between $::RD_HINT and
94          $::RD_TRACE. Enabling tracing now does _not_ automatically
95          turn on hinting (although error and warning messages are
96          still automatically enabled).
97
98    - fixed bug in Text::Balanced. Division now correctly handled
99      in code blocks.
100
101
1021.25  Mon Feb 09 12:19:14 EST 1998
103
104    - Resynchronized numbering schemes for RecDescent and Balanced.
105
106
1071.26 Wed Feb 25 13:52:15 EST 1998
108
109    - Fixed bug (and inefficiency) in <resync:pattern> directive.
110
111    - Improved checking of regexes within grammars
112
113    - Added subrule arguments (major change to internal grammar parser)
114
115    - Added <matchrule:...> directive
116
117    - started work on Compile() option (not complete yet - do not use!)
118
119    - Made generated code "use strict"
120
121    - Fixed bug which incorrectly warned against items
122      following a <error?> directive.
123
124    - Improved $thisline (added assignment and resync)
125
126    - Fixed expectation messages for subrules
127
128    - Rearranged tar file to co-operate with CPAN.pm
129
130
1311.30    Fri May 22 05:52:06 1998
132
133    - Added <rulevar> directive
134
135    - Added culling of productions starting with <reject> or <rulevar>
136
137    - Cleaned up and improved format (and speed) of tracing code
138
139    - Added warning levels
140
141    - Optimized generation of token separator checking code.
142
143    - Fixed bug encountered when parsing a literal string
144
145    - Added $::RD_AUTOACTION to simplify standard actions at the
146      end of each production
147
148
1491.31    Fri May 22 06:11:26 1998
150
151    - Fixed bug in naming archive file
152
153
1541.33    Fri May 22 06:15:26 1998
155
156
1571.35    Wed Jun 24 09:57:02 1998
158
159    - Removed "foreach my $var ( @list )" constructs,
160      which were biting users with perl 5.003 and earlier.
161
162    - Fixed bug calling &Parse::RecDescent::toksepcode
163      instead of &Parse::RecDescent::Rule::toksepcode
164
165    - Changed grammar so that colons in rule definitions
166      must appear on the same line as the rule name
167      (as documented). Added an explicit error message
168      when this is not the case.
169
170    - Added $thiscolumn, which indicates the current
171      column at any point in the parse.
172
173    - Added $thisoffset, which indicates the absolute
174      position in the original text string at any
175      point in the parse.
176
177    - Added $prevline and $prevcolumn, which indicate
178      line and column of the last char of the last
179      successfully matched item.
180
181    - Added @itempos which provides:
182
183        $itempos[$n]{offset}{from}
184        $itempos[$n]{offset}{to}
185        $itempos[$n]{line}{from}
186        $itempos[$n]{line}{to}
187        $itempos[$n]{column}{from}
188        $itempos[$n]{column}{to}
189
190      corresponding to each $item[$n].
191      See new documentation.
192
193    - Several trivial lexical changes to make xemacs happy
194
195
1961.41    Mon Aug 10 14:52:53 1998
197
198    - Enhanced POD in response to user feedback
199
200    - Fixed subtle bug in Text::Balanced::extract_codeblock.
201      It only bit when '(?)' appeared in implicit subrules
202
203    - Added ability to pass args to the start-rule.
204
205
2061.42    ????
207
208    - Added a test.pl
209
210    - Modified behaviour of repetitions, so that the results
211          of repeated subrules which succeed but don't consume are
212          preserved (at least up to the minimal number of repetitions)
213
214    - Fixed bug: @itempos now not incorrectly reset if grammar
215             contained alternations
216
217    - Fixed bug: Embedded unmatched '}' in regex tokens now works
218             correctly
219
220    - Miscellaneous tweaks to RecDescent.pod (e.g. updated meta-grammar)
221
222
2231.43    Sat Aug 15 06:43:46 1998
224
225    - Resychronized Balanced.pm versions
226
227
2281.50    Thu Aug 27 09:29:31 1998
229
230    - Changed <rulevar:...> parser to use extract_codeblock, so as to
231      handle embedded '>' chars (e.g. <rulevar: $tmp = $self->{tmp}> )
232
233    - Added <defer:...> to allow deferred actions which are
234      only executed if they are part of a rule that eventually succeeds.
235      (see the new section under "Directives" in RecDescent.pod)
236
237    - Fixed matching interpolated literals (was broken when literal
238      contained pattern metacharacters)
239
240
2411.51    Thu Aug 27 16:25:08 1998
242
243    - Maintenance release, rectifying bad soft links in the 1.50
244      distributions
245
246
2471.60    Wed Oct 21 09:44:15 1998
248
249    [Never released]
250
2511.61    Wed Oct 21 11:06:19 1998
252
253    - Added <token:...> directive for supporting (future) token-stream
254      parsing (see pod)
255
256    - Added feature that data is consumed if passed as a reference
257      (see pod)
258
259    - Fixed bug in autogenerated errors: now ignores directives
260
261    - Modified behaviour of <defer> directive so that deferred
262      actions only executed if total parse succeeds (i.e. returns
263      a defined value)
264
265    - Made error messages "anti-deferred". That is, only those
266      errors invoked in paths that eventually caused a parse
267      to fail are printed - see documentation.
268
269    - Miscellaneous fixes for Text::Balanced subroutines
270
271    - Made private namespaces inherit Parse::RecDescent namespace
272      (leads to more intuitive behaviour when calling methods
273       of $thisparser)
274
275    - *** NON-BACKWARDS COMPATIBLE CHANGE! ***
276      Changed the behaviour of token separator specification.
277      Now uses <skip:...> directive. See pod for new details.
278
279
2801.62    Wed Dec  9 11:26:29 1998
281
282    - Reinstated missing $prevoffset variable
283
284    - Corrected a possible bug with autoactions (thanks Mitchell)
285
286    - *** IMPORTANT CHANGE ***
287          $::RD_WARN now initialized 3 by default. Serious but
288          non-fatal errors are automatically reported, unless you
289          explicitly undefine $::RD_WARN.
290
291    - Fixed bug in AUTOLOADing non-method subs defined in
292      package Parse::RecDescent (thanks Mario)
293
294
2951.63    Thu Mar 25 09:13:21 1999
296
297    - Rewrote documentation to replace the concept of a
298      token separator with that of a token prefix.
299
300    - Fixed obscure bug in replacement of rules containing
301      implicit subrules (alternations). Thanks Craig.
302
303
3041.64    Sun Mar 28 05:44:14 1999
305
306    - Synchronized with Text::Balanced version
307
308    - Fixed obscure bug in the treatment of escaped backslashes
309      in literal tokens. Thanks Matthew.
310
311
312
3131.65    Wed May 19 12:35:05 1999
314
315    - Added <leftop:...> and <rightop:...> directives
316
317    - Added level 2 warning and autoreject for lone <error?>
318      directive in a production.
319
320
3211.66    Fri Jul  2 13:35:06 1999
322
323    - Improved error message when an action fails to parse
324      (Thanks Tuomas).
325
326    - Allowed predefined subroutines in package Parse::RecDescent
327      to be used as rules in grammars
328
329    - Changed error report on bad regexes to level 3 warning, since
330      compile-time interpolation failure may falsely invalidate
331      regexes that would work at run-time.
332
333
3341.70    Fri Oct  8 14:15:36 1999
335
336    - Clarified use of "eofile" idiom in POD file
337      Clarified meaning of "free-form" in description of grammars
338      Fixed <resync> examples, which were invalidated by
339      earlier change in semantics of <error>. (Thanks Knut).
340
341    - Added grammar precompiler (see documentation)
342
343    - Tweaked message for <reject> optimization.
344
345    - Fixed bug when using '@' as a terminal (thanks Abigail)
346
347    - Fixed nasty bug when $return set to zero
348
349    - Added <score> and <autoscore> directives (see documentation)
350
351
352
3531.77    Mon Nov 22 06:11:32 1999
354
355    - IMPORTANT: Now requires 5.005 or better.
356
357    - Added <perl_quotelike>, <perl_codeblock>, and <perl_variable>
358      directives (see documentation)
359
360    - Added <autotree> directive (see documentation)
361
362    - Added %item hash (see documentation - thanks Stef!)
363
364    - Tweaked internal parser in line with changes to Text::Balanced
365
366    - Added <nocheck> directive to switch off recursion checking and
367      other checks in stable grammars (see documentation).
368
369    - Refined code generation WRT positional variables ($thisoffset, etc)
370
371    - Added positional entries for %item (see documentation)
372
373    - Fixed bug with (missing) start actions under precompiler (thanks Theo)
374
375
3761.78    Mon Mar 20 12:03:17 2000
377
378        - Fixed error messages and documentation for
379          Parse::RecDescent::Precompile (thanks Jim)
380
381        - Moved demos to /demo subdirectory
382
383        - Added tutorial in /tutorial subdirectory
384
385        - Added <autotree> directive
386
387    - Added (s /sep/) notation (thanks Greg)
388
389    - Circumvented \G and /gc calamities
390
391        - Added more comprehensible error message when parser invoked
392          through non-existent startrule (thanks Jeff)
393
394    - Fixed serious bug with creating new parsers after existing
395      ones had failed. (Thanks Paul)
396
397    - Fixed problem with nested implicit subrules (thanks Marc).
398
399
4001.79    Mon Aug 21 11:27:39 2000
401
402    - Pod tweak (thanks Abigail)
403
404    - Documented need to use do{..} within some <reject:...>
405      directives (thanks Paul)
406
407    - Added Save method
408
409    - Fixed bug that was preventing precompiled parsers being
410      subsequently extended (thanks Jeff).
411
412    - Changed keys used by %item. Now uses "named positionals"
413      rather that simple positionals for non-subrule items
414      (see documentation)
415
416    - Added trimmer for surrounding whitespace in matchrules.
417
418    - Squelched bug in (not) handling invalid directives (thanks John)
419
420
4211.80    Sat Jan 20 05:02:35 2001
422
423    - Fixed Save so that saved parsers can still be used after saving
424      (thanks Supun)
425
426    - Fixed bug in line number tracking (thanks Theo)
427
428    - Fixed bug in (s /pat/) shorthand (thanks Julien)
429
430    - Improved docs on <rulevar> (thanks Steve)
431
432
4331.90    Tue Mar 25 01:17:38 2003
434
435
436    - BACKWARDS INCOMPATIBLE CHANGE: The key of an %item entry for
437      a repeated subrule now includes the repetition specifier.
438      For example, in:
439
440        sentence: subject verb word(s)
441
442      the various matched items will be stored in $item{'subject'},
443      $item{'verb'}, and $item{'word(s)'} (i.e. *not* in $item{'word'},
444      as it would have been in previous versions of the module).
445      (thanks Anthony)
446
447    - Changed argument passing behaviour. If no arguments specified
448      for subrule, it is now passed current rule's @arg instead. To
449      get old (no arguments) behaviour use: subrule[]
450
451    - Fixed bug in <reject> handling: failed to reject if $return
452      had been set. (thanks Nick)
453
454    - Added two useful demos of restructuring nested data (thanks Marc)
455
456    - Fixed doc bug re use of // (thanks Randal)
457
458    - Localized filehandles, like a good citizen should
459
460    - Misc doc bug fixes (thanks all)
461
462    - Fixed Text::Balance dependency in Makefile.PL (thanks Dominique)
463
464    - Fixed bug that @itempos wasn't set up if referred to only in
465      an autoaction. (thanks Eric)
466
467    - Fixed truncation bug in tracing contexts
468
469    - Dramatically improved speed of line counting (thanks John)
470
471    - Made item(s) and item(s /,/) behave consistently wrt %item
472      (thanks Marcel)
473
474    - Added prototype <autorule:...> handling
475
476    - Added outer block markers for <perl_codeblock>
477
478    - Fixed multi-grammar precompilation (thanks Dominique)
479
480    - Fixed numerous snafus in tutorial.html (thanks Ralph)
481
482    - Added nesting level information to traces
483
484    - Fixed resetting of $text after an <uncommit> rule.
485
486
487
4881.91    Fri Mar 28 23:20:28 2003
489
490    - Updated Text::Balanced to fix various bugs
491
492
4931.92    Wed Apr  2 04:45:37 2003
494
495    - Removed Text::Balanced from distribution (now a prereq only)
496
497
4981.93    Wed Apr  2 22:25:14 2003
499
500    - Fixed fatal error with $tracelevel (thanks everyone)
501
502
5031.94    Wed Apr  9 08:29:33 2003
504
505    - Replaced 'our' with 'use vars' to reinstate 5.005 compatibility.
506
507
5081.95.1  Sun Sep 30 05:06:56 2007
509
510
511    - Updated README to reflect new status of Text::Balanced
512      (i.e. required but not included in the distribution)
513
514    - Fixed demo_logic (Thanks, Steve)
515
516    - Fixed autopropagation of arguments into repetitions (Thanks, Luke)
517
518    - Limited context info to 500 chars in traces (Thanks, Stephen)
519
520    - Added option to select base namespace for autotreeing (thanks Gaal)
521
522    - Improved formatting compatibility with 5.9.0 (thanks, David)
523
524    - Added support for $::RD_HINT = 0 to turn off hinting entirely
525
526    - Fixed bug in line handling
527
528    - Returned $return variable to documented behaviour
529      (i.e. setting return doesn't guarantee the match, only what is
530            returned if the match succeeds)
531
532    - Fixed nit in debugging of conditional regexes (thanks, Brian)
533
534    - Moved expectation creation to compile-time (thanks Fran�ois)
535
536    - Removed redundant inheritances (i.e. @ISA elements)
537      in internal namespace (thanks Hugo)
538
539    - Added warning against C<return> in actions to "GOTCHAS" documentation
540
541    - Added demo_another_Cgrammar.pl (thanks Hendrik)
542
543    - Documented parens (thanks Robin)
544
545    - Removed incorrect meta-grammar from docs
546
547
548
5491.96.0  Fri Oct  3 06:08:24 2008
550
551    - Propagated correct Changes file (thanks Matthew!)
552
553    - Added: <warn> <hint> <trace_build> <trace_parse> <nocheck>
554
555    -
556
557
5581.962.0  Tue Aug 25 19:45:15 2009
559
560    - Doc bug fix (thanks Christophe)
561
562    - Fixed assymmetrical push/pop on @lines tracker (thanks Peter!)
563
564    - Bumped sub-version number hugely to fix CPAN indexing (thanks Jerome)
565
566    - Remove all occurrences of $& so we don't affect other regular expressions.
567
568    - Perl 5.6.0 required for use of $+[0] and $-[0] for replacement of $&.
569
570
5711.962.1  Thu Aug 27 21:39:30 2009
572
573    - Fixed subtle bug in leftop and rightop caused by removal of $&
574
575
5761.963  Thu Jan 21 09:13:19 2010
577
578    - Fixed even subtler bug in leftop and rightop caused by removal of $&
579      (Thanks Francesco)
580
581
5821.964  Wed Feb 17 09:33:39 2010
583
584    - Fixed bug with undefined $1 when parsing literals (thanks Dan!)
585
586    - Fixed premature namespace destruction bug with compiled grammars
587
588
5891.964001  Tue Feb 23 15:15:18 2010
590
591    - Updated version number because versioning is a neverending
592      nightmare in Perl 5 (thanks Matt)
593
594
595
5961.965001  Sun Apr  4 15:00:10 2010
597
598    - Removed all references to /opts version of perl interpreter
599
600    - Added Parse::RecDescent::redirect_reporting_to()
601      to enable ERROR, TRACE, and TRACECONTEXT filehandles to be
602      easily redirected.
603
604
6051.966_000  Mon Jun 27 08:32:50 2011
606
607    - Patched unnamed subrules, so that they actual fail when
608      not correctly specified (thanks Evgeniy!)
609
610    - Added skip tests (thanks Flavio)
611
612    - Added doc patch to make $skip semantics clearer (thanks Flavio!)
613
614    - Fixed POD description of <rightop:...> semantics (thanks Dirk!)
615
616
6171.966_001  Mon Nov 14 10:34:52 2011
618
619    - Applied fix to restore skipped prefixes on match failure
620      (thanks Jeremy!)
621
622    - *** NON-BACKWARDS COMPATIBLE CHANGE! *** Removed formats to
623      eliminate problems with filehandle duplication in forked
624      environments.  Removed redirect_reporting_to() in favor of using
625      STDERR for all error/trace output.
626
6271.966_002  Sun Jan 22 19:08:37 2012
628
629    - *** NON-BACKWARDS COMPATIBLE CHANGE! *** Change the caches for
630      $prevline and $thisline to be local to the parser, rather than
631      lexical vars in Parse::RecDescent.  This prevents previously
632      generated parsers from interfering with the line counts of
633      later parsers.
634
635    - removed trailing whitespace from all member files (cosmetic)
636
637    - new tests, updated MANIFEST
638
639    - Added Jeremy Braun as an author and current maintainer
640
641    - update file permissions
642
643    - fixed a few broken links in the pod
644
6451.967001  Sat Jan 28 20:54:48 2012
646
647    - Addressed RT.cpan.org #28314: regex modifiers for tokens not
648      honored during regex syntax check. (Thanks SADAHIRO!)
649
650    - Fixed some POD typos
651
652    - Added message on how to turn off "default" hint value in the
653      default hint value ($::RD_HINT = 0). RT.cpan.org # #4898.
654
655    - Modified _write_ERROR to call formline twice to avoid repeated
656      $errorprefix.
657
658    - Collected match tracing messages into a common function which
659      takes into account positive/negative lookahead.
660
661    - Addressed RT.cpan.org #74258: RD_AUTOSTUB does not work with
662      precompiled parsers.  (Thanks Yuri!)
663
664      - Special-case $::RD_AUTOSTUB eq 1.  $::RD_AUTOSTUB's value is
665        ignored, and the unknown subrule 'rule' has a production
666        "rule: 'rule'", rather than "rule: '1'".
667
668      - Change Parse::RecDescent::new to call $self->Replace with only
669        the grammar as an argument.  That prevents the $compiling
670        argument to new() from being incorrectly interpreted as
671        $isimplicit.
672
6731.967002  Sun Jan 29 19:13:04 2012
674
675    - Addressed RT.cpan.org #29966: regex with single backslash not
676      recognized.  Changed the definition of $TOKEN to handle
677      backslashes inside of regex patterns.
678
679    - Skip tests in t/reentry.t if Test::Warn isn't available.
680
6811.967003  Mon Jan 30 07:24:53 2012
682
683    - Remove the 'use 5.10' from t/skip_dynamic.t, it runs fine
684      against Perl 5.8.9. (Thanks Slaven!)
685
6861.967_004  Tue Feb  7 22:11:11 2012
687
688    - Localize the OUT filehandle during Precompile.
689
690    - Document the <autotree:Base::Class> form of the <autotree>
691      directive.
692
693    - Provide a simple test for the <autotree> directive,
694      t/autotree.t.  Renamed basics.t to ensure it runs before
695      autotree.t.
696
697    - Allow a global <skip:> directive that functions the same as
698      modifying $Parse::RecDescent::skip prior to compiling a
699      grammar. (Thanks Flavio!)
700
701    - Require that the $file returned by caller() be eq '-', rather than merely
702      starting with '-'.  This allows execution of the following.  (Thanks Christopher)
703        perl -MParse::RecDescent -e 'print "$Parse::RecDescent::VERSION\n";'
704
705    - Warn on empty productions followed by other productions.  The
706      empty production always matches, so following productions will
707      never be reached.
708
709    - *** NON-BACKWARDS COMPATIBLE CHANGE! *** A repetition directive
710      such as 'id(s /,/)' correctly creates a temporary @item variable
711      to hold the 'id's that are matched.  That @item variable is them
712      used to set the real $item[] entry for that repetition.  The
713      same treatment is now given to %item.  Formerly, in a production like:
714
715          id ',' id(s /,/)
716
717      matched against:
718
719          xxx, yyy, zzz
720
721      The $item{id} entry which should be 'xxx' is overwritten by
722      'yyy' and then 'zzz' prior to the action being executed.  Now
723      'yyy' and 'zzz' set $item{id}, but in the private %item, which
724      goes out of scope once the repetition match completes.
725
726    - ** EXPERIMENTAL ** When precompiling, optionally create a
727      standalone parser by including most of the contents of
728      Parse::RecDescent in the resulting Precompiled output.
729
730      - Accept an optional $options hashref to Precompile, which can
731        be used to specify $options->{-standalone}, which currently
732        defaults to false.
733
734      - The subroutines import, Precompile and Save are not included
735        in the Precompile'd parser.
736
737      - The included Parse::RecDescent module is renamed to
738        Parse::RecDescent::_Runtime to avoid namespace conflicts with
739        an installed and use'd Parse::RecDescent.
740
741      - Add a new t/precompile.t to test precompilation.
742
743      - Add a new $_FILENAME global to Parse::RecDescent to make it
744        easy for the Precompile method to find the module.
745
746      - Remove the prototype from _generate.  It is not required, and
747        it caused t/precompile.t (which ends up re-definiing a lot of
748        Parse::RecDescent subroutines) to fail needlessly, as the
749        calls to _generate in Replace and Extend normally do not see
750        the prototype, but do when re-defined.
751
752      - POD documentation for standalone parsers added.
753
7541.967_005   Wed Feb  8 18:46:35 2012
755
756    - Added JTBRAUN@CPAN.org as author in Build.PL.
757
758    - Added ExtUtils::MakeMaker build/configure version
759      requirements. (RT.cpan.org #74787, Thanks POPEL!)
760
7611.967006   Fri Feb 10 20:48:48 2012
762
763    - Bumped version to 1.967006 for non-development release.
764
7651.967_007      Thu Feb 23 07:26:03 2012
766
767    - Revised ExtUtils::MakeMaker build/configure version
768      requirements. (RT.cpan.org #74787, Thanks Paul!)
769
770    - Revised Text::Balanced prereq to require version 1.95, necessary
771      for t/skip.t to pass.  (RT.cpan.org #74787, Thanks Paul!)
772
773    - Removed unused version.pm prereq.
774
775    - Fix a circular reference memory leak caused by the use of
776      $AUTOLOAD in sub AUTOLOAD{} in the generated parser's namespace.
777      Workaround documented in perl5 RT #110248.  Workaround a
778      circular reference memory leak in ISA documented by perl5 RT
779      #92708.  A parser's DESTROY() method redefines all subs before
780      deleting the stash, to avoid circular references between
781      subrules. (RT #53710, thanks Andreas!)
782
783    - Parse::RecDescent::AUTOLOAD did not correctly handle
784      initializing the line counting mechanism when a reference to a
785      scalar was passed to the parser. (RT.cpan.org #27705, thanks
786      Justin!)
787
7881.967_008      Tue Mar 13 22:28:00 2012
789
790    - Restore old _parserepeat calling convention.  Change a parser's
791      DESTROY method to check for $self->{_not_precompiled} instead of
792      $self->{_precompiled}. (Fix for RT #74593).
793
7941.967009      Fri Mar 16 07:25:09 2012
795
796    - Bumped version to 1.967009 for non-development release.
797
7981.967_010     Sun Jul  7 11:23:53 2013
799
800    - Base the standalone precompiled parser's runtime name on the
801      parser's class, rather than use the fixed
802      "Parse::RecDescent::_Runtime".  This prevents "already defined"
803      warnings when two standalone precompiled parsers are used.
804
805    - Add support for allowing precompiled parsers to share a common
806      runtime via the Precompile({-runtime_class}) option and the
807      PrecompiledRuntime() function.
808
809    - Warn on creation of Precompiled parsers that depend on
810      Parse::RecDescent.
811
812    - *** NON-BACKWARDS COMPATIBLE CHANGE! *** Change global the
813      <skip:> directive to eval similar to other <skip:> directives,
814      rather than being single-quoted in the resulting parser.
815
8161.967011      Sat Sep 12 16:42:01 2015
817
818    - Correct some typos in the documentation. (RT.cpan.org #87185,
819      thanks dsteinbrunner!)
820
821    - Sort hash keys and rulenames when generating code. This keeps
822      the output text for a given input text the same, reducing
823      differences in automated builds. (RT.cpan.org #102160, thanks
824      Reiner!)
825
826    - Precompiled parsers now document which
827      $Parse::RecDescent::VERSION was used to generate
828      them. (RT.cpan.org #77001)
829
8301.967012      Sun Sep 13 07:59:00 2015
831
832    - Reference Data::Dumper::Sortkeys, not SortKeys. Actually
833      produces reproducible precompiled parsers now. (RT.cpan.org
834      #107061, thanks Slaven!)
835
8361.967013      Sun Sep 27 10:00:36 2015
837
838    - Wrap Data::Dumper->Dump() to localize some $Data::Dumper::VARS
839      to control the dumped output. In particular,
840      Data::Dumper::Terse=1 was reported to break parser
841      generation. (RT.cpan.org #107355, thanks Sherrard!)
842
8431.967014      Sat Apr  1 10:33:29 2017
844
845    - Add a newline to package declaration lines in precompiled
846      parsers, to keep CPAN from indexing them. (RT.cpan.org #110404,
847      thanks Martin!)
848
849    - Provide repository and bugtracker entries in
850      MYMETA.*. (RT.cpan.org #110403, thanks Martin!)
851
852    - Update tests to handle '.' no longer being part of @INC in
853      perl-5.26.0. (RT.cpan.org #120415, thanks Jim!)
854
8551.967015      Tue Apr  4 07:38:07 2017
856
857    - Fix misuse of require to include MYMETA.pl, data is just
858      included in both Makefile.PL and Build.PL nowB. (RT.cpan.org
859      #120922, thanks Kent!)
860