Skip to content

Latest commit

 

History

History
1348 lines (757 loc) · 45.5 KB

CHANGELOG.md

File metadata and controls

1348 lines (757 loc) · 45.5 KB

11.0.3 (8-15-2023)

Bug Fixes

11.0.2 (8-3-2023)

Bug Fixes

11.0.1 (7-18-2023)

Bug Fixes

11.0.0 (7-11-2023)

Breaking Changes

Minor Changes

Bug Fixes

10.5.0 (3-11-2023)

Minor Changes

10.4.2 (11-21-2022)

Bug Fixes

10.4.1 (11-4-2022)

Bug Fixes

Documentation

10.4.0 (10-23-2022)

Minor Changes

Documentation

10.3.0 (8-21-2022)

Minor Changes

Bug Fixes

10.2.0 (8-19-2022)

Minor Changes

Bug Fixes

Documentation

10.1.2 (3-6-2022)

Bug Fixes

Documentation

10.1.1 (2-15-2022)

Patch release as a workaround for release process issues...

10.1.0 (2-15-2022)

Minor Changes

Bug Fixes

Documentation

10.0.0 (1-17-2022)

Breaking Changes

Minor Changes

Bug Fixes

9.1.0 (10-9-2021)

Minor Changes

9.0.2 (6-13-2021)

Bug Fixes

9.0.1 (3-29-2021)

Bug Fixes

9.0.0 (3-21-2021)

Breaking Changes

Bug Fixes

8.0.1 (2-28-2021)

Bug Fixes

8.0.0 (2-28-202)

Breaking Changes

Minor Changes

Documentation

7.1.2 (2-23-2021)

Patch release after migration to new github org with updated metadata in package.json

7.1.1 (2-5-2021)

Minor Changes

7.1.0 (1-2-2021)

Minor Changes

7.0.3 (10-30-2020)

Bug Fixes

7.0.2 (9-4-2020)

Bug Fixes

7.0.1 (4-22-2020)

Bug Fixes

7.0.0 (4-18-2020)

Breaking Changes

Minor Changes

Bug Fixes

Documentation

6.5.0 (9-20-2019)

6.4.0 (9-15-2019)

Minor Changes

Bug Fixes

6.3.1 (9-10-2019)

Bug Fixes

6.3.0 (9-8-2019)

Minor Changes

Documentation

Dev-Ops

6.2.0 (8-30-2019)

Minor Changes

Documentation

6.1.0 (8-25-2019)

Minor Changes

Performance

  • A resolved performance related bug and a couple of new micro optimizations have produced minor performance improvements in the JSON(5%) and CSS(15%) benchmarks.

Documentation

Dev-Ops

6.0.0 (8-20-2019)

Breaking Changes

Major Changes

  • Remove usage of Function.prototype.toString().

    • Means no more bundling/minification/transpiling issues! with WebPack/Babel/UglifyJS/other...
    • Provides a ~20% performance boost to most parsers initialization time.
    • These improved analysis capabilities will also enable multiple new features in future versions.
    • Thanks to @EqualMa for inspiration & proof of concept :thumbsup

Minor Changes

5.0.0 (8-1-2019)

Breaking Changes

Minor Changes

4.8.1 (6-21-2019)

Bug Fixes

4.8.0 (6-14-2019)

Minor Changes

4.7.0 (6-8-2019)

Minor Changes

4.6.0 (6-1-2019)

Minor Changes

4.5.0 (5-25-2019)

Minor Changes

4.4.0 (5-24-2019)

Minor Changes

4.3.3 (4-12-2019)

Bug Fixes

4.3.2 (4-2-2019)

Bug Fixes

4.3.1 (3-18-2019)

Bug Fixes

4.3.0 (3-16-2019)

Minor Changes

Bug Fixes

4.2.0 (1-26-2019)

Minor Changes

Bug Fixes

4.1.1 (12-14-2018)

Bug Fixes

4.1.0 (9-28-2018)

Minor Changes

4.0.0 (9-26-2018)

Breaking Changes

Major Changes

Minor Changes

Bug Fixes

3.7.4 (7-30-2018)

Bug Fixes

3.7.3 (7-21-2018)

Bug Fixes

3.7.2 (7-19-2018)

Bug Fixes

Examples

3.7.1 (7-12-2018)

Bug Fixes

3.7.0 (6-27-2018)

Minor Changes

Bug Fixes

3.6.1 (6-21-2018)

Bug Fixes

3.6.0 (6-21-2018)

Minor Changes

Bug Fixes

3.5.0 (6-10-2018)

Minor Changes

3.4.0 (6-6-2018)

Minor Changes

Bug Fixes

Examples

3.3.0 (5-20-2018)

Documentation

3.2.1 (5-9-2018)

Bug Fixes

3.2.0 (4-24-2018)

Minor Changes

Documentation

3.1.0 (4-13-2018)

Major Changes

3.0.1 (2-23-2018)

Bug Fixes

3.0.0 (2-23-2018)

Breaking Changes

Major Changes

Minor Changes

  • The CST creation no longer relies on "new Function()" calls and can thus be used in environments with Content Security Policy enabled.

2.0.2 (2-21-2018)

Bug Fixes

2.0.1 (2-11-2018)

Bug Fixes

  • Removed redundant dependency.

2.0.0 (2-11-2018)

Breaking Changes

Major Changes

  • Support custom user defined declarative APIs

Minor Changes

Bug Fixes

1.0.1 (12-27-2017)

Documentation

Bug Fixes

  • Parser exceptions will now reference the new docs page.

1.0.0 (12-8-2017)

Breaking Changes

Minor Changes

Bug Fixes

0.35.0 (11-15-2017)

Minor Changes

Examples

0.34.0 (10-15-2017)

Minor Changes

0.33.0 (10-2-2017)

Breaking Changes

  • Removed "extendToken" and "NEXT*TOKEN" deprecated APIs. Use createToken and LA(1) instead.

Minor Changes

  • Tiny performance improvements and optimizations.

0.32.1 (7-8-2017)

Bug Fixes

0.32.0 (7-6-2017)

Major Changes

Lexer Performance oriented release. 10%+ performance boost measured under V8.

0.31.0 (7-1-2017)

Breaking Changes

Major Changes

0.30.0 (6-23-2017)

Major Changes

Minor Changes

0.29.0 (6-13-2017)

Breaking Changes

  • Default maxLookahead changed to 4
    • Originally the default maxLookahead was 5, This could cause very slow parser initialization under certain edge case during ambiguity detection, however the vast majority of grammars do not require five tokens of lookahead. A smaller default avoids these potential slow downs while still allows overriding in unique cases which require a large lookahead.

Bug Fixes

0.28.3 (5-1-2017)

Bug Fixes

0.28.2 (4-28-2017)

Minor Changes

Documentation

0.28.1 (4-18-2017)

Minor Changes

0.28.0 (4-16-2017)

Major Changes

Documentation

Bug Fixes

0.27.3 (3-31-2017)

Minor Changes

0.27.2 (3-31-2017)

Minor Changes

0.27.1 (3-29-2017)

Minor Changes

Bug Fixes

0.27.0 (3-27-]62017)

Major Changes

0.26.0 (3-26-2017)

Breaking Changes

Major Changes

Minor Changes

0.25.1 (3-21-2017)

Bug Fixes

0.25.0 (3-19-2017)

Breaking Changes

Major Changes

Bug Fixes

0.24.0 (3-17-2017)

Breaking Changes

Major Changes

Minor Changes

Bug Fixes

0.23.0 (2-3-2017)

Major Changes

Documentation

0.22.0 (1-27-2017)

Minor Changes

0.21.1 (1-26-2017)

Bug Fixes

0.21.0 (12-24-2016)

Major Changes

0.20.0 (12-11-2016)

Breaking Changes

  • More Functional Parsing DSL API.
    • This change broke a couple of APIS:
      • "OPTION" now returns the value of the inner grammar implementation or undefined otherwise instead of a boolean.
      • The "*_SEP" methods now return an object made up of two arrays, separators and values instead of a single array of separators.

0.19.0 (12-3-2016)

Minor Changes

0.18.0 (10-27-2016)

Major Changes

0.17.1 (10-12-2016)

Bug Fixes

Minor Changes

0.17.0 (10-3-2016)

Major Changes

0.16.1 (9-28-2016)

Minor Changes

0.16.0 (9-24-2016)

Breaking Changes

The chevrotain TypeScript definitions file is now only compatible with TypeScript 2.0 and later versions. For older versions of TypeScript use Chevrotain versions <= 0.15.0.

Minor Changes

0.15.0 (9-23-2016)

Major Changes

This release is focused on performance improvements, with ~20% boost on V8 and potentially ~100% (double) performance on SpiderMonkey (FireFox 49).

To enjoy the maximum performance boost the new SimpleLazyTokens should be used.

Breaking Changes

Certain advanced uses cases of dynamically defined Tokens Will break if some of new lookahead optimizations are enabled.

To resolve this a new property dynamicTokensEnabled has been defined on the IParserConfig interface. This configuration property is disabled by default, but can be enabled to support the use case of dynamically defined tokens. See the dynamically defined Tokens example for details.

0.14.0 (9-3-2016)

Breaking Changes

Minor Changes

0.13.4 (9-1-2016)

Minor Changes

0.13.3 (8-28-2016)

Bug Fixes

0.13.2 (8-23-2016)

Bug Fixes

0.13.1 (8-15-2016)

Major Changes

This Release includes a new performance feature called "Lazy Tokens". These tokens contain less actual state and defer the calculation of their properties until needed. Considering most of the time this information is never needed (full position information) the overall speed boost can be as much as 10-25% (depending on the grammar used).

See "2. Use Lazy Tokens" for more details.

0.13.0 (8-6-2016)

Major Changes

This release includes major performance optimizations and guidelines. Anywhere from 20% to 100% was measured (on V8) depending on the grammar used. Please read the Performance FAQ section, as much of the performance gain is achieved by changing the way a Chevrotain parser is initialized which will require code changes (not mandatory) in user's code.

0.12.1 (8-3-2016)

Bug Fixes

Documentation

0.12.0 (7-21-2016)

Breaking Changes

Bug Fixes

Documentation

0.11.4 (7-16-2016)

  • Fixes issue with previous release automation.

0.11.3 (7-16-2016)

Bug Fixes

Quality

0.11.2 (7-5-2016)

Minor Changes

Documentation

0.11.1 (6-16-2016)

Minor Changes

0.11.0 (6-7-2016)

  • Minor version release as the previous version included a breaking change in a patch version.

Minor Changes

0.10.2 (6-6-2016)

Breaking Changes

Documentation

0.10.1 (5-30-2016)

  • Fixes issue with previous release automation.

0.10.0 (5-29-2016)

Major Changes

Breaking Changes

Documentation

0.9.0 (4-29-2016)

Major Changes

0.8.1 (4-11-2016)

Minor Changes

Bug Fixes

0.8.0 (4-8-2016)

Breaking Changes

Some breaking API changes in this version. Most have the changes have been to optional arguments, so not many changes will be needed (if at all) for most users.

  • Use a config object for RULE DSL method.

    The RULE method's optional third and fourth parameters have been been replaced with a single configuration object of the type IRuleConfig. Therefore any RULE invocation with more than two arguments must be refactored to the new form. For example:

        // old deprecated form
        this.RULE("createStmt", function(){ /* ... */}, function(){ return 666 })
    
        // new form
        this.RULE("createStmt", function(){ /* ... */}, {recoveryValueFunc: function(){ return 666 }})
  • Remove RULE_NO_RESYNC DSL method.

    The RULE_NO_RESYNC convenience method has been removed. All usages of it must be replaced with an equivalent RULE call using the IRuleConfig resyncEnabled property.

    For example:

    // old deprecated form
    this.RULE_NO_RESYNC("createStmt", function () {
      /* ... */
    });
    
    // new form
    this.RULE(
      "createStmt",
      function () {
        /* ... */
      },
      { resyncEnabled: false },
    );
  • Parser Configuration should be done using a "Config" Object instead of constructor parameters.

  • Error Recovery / Fault Tolerance abilities should be disabled by default.

    The Parser constructors's third (optional) parameter has been been replaced with a single configuration object of the type IParserConfig Therefore any Base Parser super invocation which uses the optional parameter must be updated. Additionally The Error recovery functionality is now disabled by default, it can be enabled via the parser's configuration. For example:

    // old deprecated form
    function JsonParser(input) {
      // The third argument was used to enable/disable error recovery
      // and was **true** by default.
      Parser.call(this, input, true);
    }
    
    // new form
    function JsonParser(input) {
      // invoke super constructor
      Parser.call(this, input, allTokens, {
        // by default the error recovery flag is **false**
        // use recoveryEnabled flag in the IParserConfig object to enable enable it.
        recoveryEnabled: true,
      });
    }

0.7.2 (4-7-2016)

Minor Changes

Documentation

0.7.1 (4-3-2016)

Minor Changes

0.7.0 (4-2-2016)

Major Changes

0.6.3 (3-28-2016)

Minor Changes

0.6.2 (3-25-2016)

Bug Fixes

0.6.1 (3-25-2016)

Bug Fixes

0.6.0 (3-20-2016)

Breaking Changes

  • Reorganized projected structure to be consistent and use "lib" folder Chevrotain's aggregated artifacts are now located under the lib folder instead of the bin folder in the npm package or the release folder in the bower pacakge.

    This means that references to "bower_components/chevrotain/release/..." or "node_modules/chevrotain/bin/..." Will have to be replaced with references to ".../lib/...".

    For example - modified diagrams.html

    Note that no changes are needed for standard consumption of chevrotain under node.js (require('chevrotain')).

Bug Fixes

0.5.23 (3-17-2016)

Bug Fixes

0.5.22 (3-15-2016)

Minor Changes

Bug Fixes

Older Releases changelog is available on Github Releases.