diff --git a/CHANGELOG b/CHANGELOG index e5967cf..52d2bf2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,58 @@ +0.7.0 (2012-04-18) +------------------ + +Big Changes: + +* Added ability to pass options to |PEG.buildParser|. +* Implemented the |trackLineAndColumn| option for |PEG.buildParser| (together + with the "--track-line-and-column" command-line option). It makes the + generated parser track line and column during parsing. These are made + available inside actions and predicates as |line| and |column| variables. +* Implemented the |cache| option for |PEG.buildParser| (together with the + "--cache" command-line option). This option enables/disables the results cache + in generated parsers, resulting in dramatic speedup when the cache is disabled + (the default now). The cost is breaking the linear parsing time guarantee. +* The current parse position is visible inside actions and predicates as the + |offset| variable. +* Exceptions thrown by the parser have |offset|, |expected| and |found| + properties containing machine-readable information about the parse failure + (based on a patch by Marcin Stefaniuk). +* Semantic predicates have access to preceding labels. [GH-69] +* Implemented case-insensitive literal and class matching. [GH-34] +* Rewrote the code generator -- split some computations into separate passes and + based it on a proper templating system (Codie). +* Rewrote variable handling in generated parsers in a stack-like fashion, + simplifying the code and making the parsers smaller and faster. +* Adapted to Node.js 0.6.6+ (no longer supported in older versions). +* Dropped support for IE < 8. +* As a result of several optimizations, parsers generated by 0.7.0 are ~6.4 + times faster and ~19% smaller than those generated by 0.6.2 (as reported by + /tools/impact). + +Small Changes: + +* Fixed reported error position when part of the input is not consumed. [GH-48] +* Fixed incorrect disjunction operator in |computeErrorPosition| (original patch + by Wolfgang Kluge). +* Fixed regexp for detecting command-line options in /bin/pegjs. [GH-51] +* Generate more efficient code for empty literals (original patch by Wolfgang + Kluge). +* Fixed comment typos (patches by Wolfgang Kluge and Jason Davies). [GH-59] +* Fixed a typo in JavaScript example grammar. [GH-62] +* Made copy & paste inclusion of the PEG.js library into another code easier by + changing how the library is exported. +* Improved the copyright comment and the "Generated by..." header. +* Replaced Jakefile with Makefile. +* Added "make hint" task that checks all JavaScript files using JSHint and + resolved all issues it reported. All JavaScript files and also generated + parsers are JSHint-clean now. +* Fixed output printed during test failures (expected value was being printed + instead of the actual one). Original patch by Wolfgang Kluge. +* Added a /tools/impact script to measure speed and size impact of commits. +* Various generated code improvements and fixes. +* Various internal code improvements and fixes. +* Improved README.md. + 0.6.2 (2011-08-20) ------------------