All Versions
Latest Version
Avg Release Cycle
25 days
Latest Release
806 days ago

Changelog History
Page 1

  • v0.11.1

    November 16, 2020
  • v0.11.0 Changes

    November 16, 2020

    ๐Ÿ“œ LALR parser

    ๐Ÿ“œ The LALR parser now supports priority in rules, as a way to resolve collision errors

    ๐Ÿ‘Œ Improvements to the standalone tool, including more command-line options, like optional compression for the json data.

    ๐Ÿ‘Œ Improvements to the puppet error handling interface

    ๐Ÿ‘ Better error reporting on LALR collisions

    ๐Ÿ›  Bugfixes in Earley


    โž• Added support for syntax highlighting in Atom

    ๐Ÿ›  Fixes and improvements for the cache option. cache=True now uses a temporary directory instead of working directory.

    ๐Ÿ‘€ Lark can now be imported directly from a zip (See: ed5c8ec)

    โž• Added more terminals to the grammar library (available for %import).

    ๐Ÿ‘ Nearley tools now supports case insensitive strings

    ๐Ÿ—„ Deprecated some interfaces

    ๐Ÿ‘Œ Improvements to docs, stubs, and various bugfixes

    ๐Ÿšง Thanks to @MegaIng for helping with Lark's maintenance, and to @ldbo, @chanicpanic, @michael-k, @ThatXliner and everyone else for their help and contributions.

  • v0.10.0 Changes

    September 21, 2020

    ๐Ÿ“š Complete overhaul of documentation. Now using sphinx to generate API docs from docstrings. (commit 0664cbd. Thank you @chsasank !)

    - Many improvements and additions to documentation

    ๐Ÿ†• New and friendlier Earley SPPF interface! (commit 555b268. Thank you @chanicpanic !)

    โž• Added the ambiguity='forest' option. Added ForestTransformer and TreeForestTranformer.

    ๐Ÿ›  Various Bugfixes to improve the handling of ambiguous results.

    โœ… Read the docs here:

    ๐Ÿ†• New Vim syntax highlighting for Lark ( Thank you @omega16 !)

    ๐Ÿ“œ Lark now loads faster from cache (commit 7dc0017)

    ๐Ÿ“œ Terminals can now be composed of regexps and strings with different flags, if using Python 3.6+ (commit e6fc3c9)

    โž• Added support for parsing byte-strings, with the use_bytes flag (commit 9ee8428).

    ๐Ÿ“œ UnexpectedToken exception now has the accepts attribute, which contains a list of terminals that would be accepted by the parser instead (in addition to the expects attribute, which is guided by the lexer and may include terminals that won't be accepted by the parser) (commit a7bcd0b)

    ๐Ÿ‘ Allow multiline regexes with the x flag (commit 9923987)

    0๏ธโƒฃ Lark no longer uses the default logger. Instead uses lark.LOGGER. (commit 7010f96)

    ๐ŸŒฒ Lark now notifies on unused terminals/rules through logging.debug.

    ๐Ÿ“œ Standalone generator now creates smaller files (without comments and docstrings). Also undergone various fixes. (commit bf2d9bf)

    Wheel distribution due to (somewhat) popular demand.

    ๐Ÿ›  Lots of small bugfixes and improvements!

    ๐Ÿ›  Many thanks to @MegaIng for his continued work on many of these new features and fixes, and to everyone else who contributed to Lark and helped make it even better.

  • v0.9.0 Changes

    July 01, 2020

    โž• Added error handling to LALR!

    ๐Ÿ‘Œ Support for better regexps with the regex module, when using Lark(..., regex=True)
    โœ… Read here:

  • v0.8.9 Changes

    June 16, 2020

    ๐Ÿš€ The last two releases were wrong. I apologize.

    ๐Ÿš€ Hopefully that's the last of it, and we'll be back on track with periodic and accurate releases.

  • v0.8.8

    June 13, 2020
  • v0.8.7

    June 13, 2020
  • v0.8.6 Changes

    June 10, 2020

    ๐Ÿš€ The main features for this release:

    Grammar caching : It's now possible to cache the results of the LALR grammar analysis, for x2 to x3 faster loading. Use Lark(..., cache=True) or specify a file name. See here:

    Grammar templates : Added support for grammar "functions" that expand in preprocessing. No docs yet, but see here for examples:

    Lark online IDE : Technically not a feature, but it's possible to run Lark in the browser. Now we also have a simple IDE on github pages:

    Other changes:

    ๐Ÿ‘Œ Improved performance for large grammars

    ๐Ÿ–จ More debug prints when in debug mode

    ๐Ÿ‘ Better support for PyInstaller

    ๐Ÿ›  Lots of bugfixes: mypy stubs, v_args, docs, and more.

  • v0.8.5

    March 29, 2020
  • v0.8.3 Changes

    March 28, 2020
    • Added the g_regex_flags option, to allow applying flags to all terminals.
    • Fixed end_pos for Earley, when using propagate_positions
    • ๐Ÿ›  Fixes for mypy
    • ๐Ÿ‘ Better docs