Releases: lark-parser/lark
1.2.2 - Bugfix for 1.2.1 (Earley issues with ambiguity)
What's Changed
Full Changelog: 1.2.1...1.2.2
1.2.1 - Now only Python 3.8+; several bugfixes in Earley
Main Changes
- Dropped support for Python versions lower than 3.8
- Several bugfixes in the Earley algorithm, related to suppressed ambiguities
- Improved performance in
InteractiveParser.accepts()
What's Changed
- Give "Shaping the tree" clear sub-headings by @nchammas in #1381
- Fix for when providing a transformer with a Token by @erezsh in #1395
- Pin types-regex to a working version by @erezsh in #1409
- Add Outlines to list of projects using Lark by @rlouf in #1408
- Code coverage: Update Python version by @erezsh in #1420
- Attempt to solve performance problems in accepts() by @erezsh in #1419
- Docs: Added Indenter by @erezsh in #1423
- Clean up test_parser.py, use xFail instead of skip where appropriate by @MegaIng in #1428
- Update config and drop python < 3.8 by @MegaIng in #1430
- BUGFIX Earley: Now yielding a previously repressed ambiguity by @erezsh in #1427
- Fix SymbolNode.end for completed tokens by @chanicpanic in #1432
- Disable ForestToParseTree cache when ambiguity='resolve' by @chanicpanic in #1433
- Bugfix for issue #1434 by @erezsh in #1435
New Contributors
Full Changelog: 1.1.9...1.2.1
1.1.9 - Patch for a breaking change in 3.11.7 re module
What's Changed
- Use MAXWIDTH instead of MAXREPEAT when available by @MegaIng in #1377
- Fix nested list markdown syntax in how_to_use.md by @ei-grad in #1357
- Run tests against Python 3.12 by @michael-k in #1365
New Contributors
Full Changelog: 1.1.8...1.1.9
1.1.8 - Output-stable Earley; Interactive standalone; various improvements
What's Changed
- Populate the
Token.end_*
fields for ignored tokens by @jtbraun in #1309 - Include .lark files in package data by @ptrcnull in #1308
- Add an error message when using Lark.save() when parser!='lalr' by @erezsh in #1328
- Add and improve docstrings by @erezsh in #1326
- Small update to PR #1338 by @erezsh in #1339
- Fix 1345 attempt two by @MegaIng in #1347
- Earley now uses OrderedSet for better output stability by @erezsh in #1327
- ContextualLexer now uses self.basic_lexer for easy extensibility (iss… by @erezsh in #1342
- Improved typing around LALR and ParserState by @erezsh in #1343
- Typing fixes. Mypy now produces 0 type errors by @erezsh in #1354
- Standalone: Added support for interactive parser. by @erezsh in #1356
New Contributors
Full Changelog: 1.1.7...1.1.8
1.1.7 - Bugfix for release 1.1.6 in propagate_positions
Bugfix in propagate_positions (issue #1304)
1.1.6 - Strict mode, Python-style comments, Bugfixes
What's Changed - main points
- Added strict-mode, enabled by
strict=True
, implemented using interegular by @MegaIng - Cache: Replace md5 hashing with sha256. by @wilrodriguez in #1251
- Support for Python-style comments in Lark grammar by @vincent-hugot in #1230
- Updates to python.lark
- Bugfixes and cleanup
What's Changed - PRs
- Improve logic and performance by @jmishra01 in #1228
- Updated Python grammar list literal to support
[*x]
by @evtn in #1232 - Fix typos by @kianmeng in #1242
- Examples: Update version for PyQt5 by @erezsh in #1243
- Support for Python-style comments in Lark grammar by @vincent-hugot in #1230
- [M:grammar.md] doc: added Python-style comments. by @vincent-hugot in #1245
- Fix 1154 by @MegaIng in #1252
- Rephrased docs for interegular PR (#1258) by @erezsh in #1260
- Added interegular support by @MegaIng in #1258
- Freeze interegular version to 0.2.4 (until fixed) by @erezsh in #1262
- Codecov github action fixed by @erezsh in #1263
- Added strict-mode, enabled using the strict=True flag by @erezsh in #1261
- Unfreeze interegular by @MegaIng in #1264
- Replace md5 hashing with sha256. by @wilrodriguez in #1251
- Bump pre-commit hooks and add
codespell
hook by @kianmeng in #1244 - Docs: Added section about strict-mode to how-to-use by @erezsh in #1265
- Limit amount of time/effort interegular will use when creating an example by @MegaIng in #1266
- Added progress bar recipe by @MegaIng in #1267
- Add exclude in coverage for
if TYPE_CHECKING:
branches by @MegaIng in #1278 - Cleanup may2023 by @erezsh in #1276
- Update lexer_state to lexer_thread to avoid deprecation warnings by @geographika in #1285
- Moved the metadata into
PEP 621
-compliantpyproject.toml
. by @KOLANICH in #1157 - propagate_positions: Bugfix + Better documentation by @erezsh in #1294
New Contributors
- @kianmeng made their first contribution in #1242
- @vincent-hugot made their first contribution in #1230
- @wilrodriguez made their first contribution in #1251
- @geographika made their first contribution in #1285
- @KOLANICH made their first contribution in #1157
Full Changelog: 1.1.5...1.1.6
1.1.5 - Fix AmbiguousExpander; Fix line information in InteractiveParser
What's Changed
- setup.cfg: Replace deprecated license_file with license_files by @mgorny in #1209
- Fix Github shenanigans by @erezsh in #1220
- Fix AmbiguousExpander (Issue #1214) by @chanicpanic in #1216
- Fix EOF line information in InteractiveParser.resume_parse() by @erezsh in #1224
- Use generator instead of list expand or add method by @jmishra01 in #1225
New Contributors
- @mgorny made their first contribution in #1209
- @jmishra01 made their first contribution in #1225
Full Changelog: 1.1.4...1.1.5
1.1.4 - Added support for using Token in match statements, and other small fixes
What's Changed
- ci: Python 3.11 final by @henryiii in #1204
- Add
__all__
to__init__
by @aspizu in #1200 - PropagatePositions: Allow any object to carry the metadata, by returning it in
__lark_meta__()
by @erezsh in #1203 - fix: Token now pattern matches correctly by @marcinplatek in #1181
- Updates to merge PR #1151 by @erezsh in #1205
- style: pre-commit basic config by @henryiii in #1151
- PR for v1.1.4 by @erezsh in #1208
New Contributors
- @aspizu made their first contribution in #1200
- @marcinplatek made their first contribution in #1181
Full Changelog: 1.1.3...1.1.4
1.1.3 - Various fixes and refactors
What's Changed
-
Add user to cache filename; better handle cache load/save failures by @klauer in #1179
-
refactor: add 'usedforsecurity=False' arg to hashlib.md5 usage by @cquick01 in #1190
-
Create lark/grammars/init.py by @chanicpanic in #1171
-
Adjust imports for Python 3.11 by @The-Compiler in #1140
-
Add match stmt support to python.lark by @joseph-e-k in #1123
-
Added match stmt support to python.lark by @MegaIng in #1016
-
Simplify lexer: Use Match.lastgroup instead of lastindex by @erezsh in #1129
-
Fix confusing import in examples by @JonasLoos in #1138
-
Move iter_subtrees_topdown into standalone by @camgunz in #1137
-
Fix 1146: use the class's get instead of the instance's get by @MegaIng in #1147
-
fix: remove Python 2 legacy packaging code by @henryiii in #1148
-
Old link for sppf is no longer valid. Point to web archive instead. by @patrickhuber in #1159
-
Fix ForestToPyDotVisitor by @chanicpanic in #1167
-
Close file-like objects to address ResourceWarning. by @shawnbrown in #1183
New Contributors
- @joseph-e-k made their first contribution in #1123
- @Erotemic made their first contribution in #1128
- @JonasLoos made their first contribution in #1138
- @camgunz made their first contribution in #1137
- @The-Compiler made their first contribution in #1140
- @henryiii made their first contribution in #1148
- @patrickhuber made their first contribution in #1159
- @shawnbrown made their first contribution in #1183
- @klauer made their first contribution in #1179
- @cquick01 made their first contribution in #1190
- @bcr made their first contribution in #1196
Full Changelog: 1.1.2...1.1.3
1.1.2 - Small fixes; Support for printing trees with "rich"
Highlights
Tree
instances now have a pretty print with the "rich" library, when doingrich.print(tree)
- Bugfix for recursive regexes (with the "regex" library)
- Refactors, cleanups, and better mypy support
What's Changed
- Clean up tree templates implementation to reduce mypy errors by @plannigan in #1091
- Remove redefinitions related to standalone parser by @plannigan in #1115
- Added Tree.rich() method to make Tree a Rich renderable by @erezsh in #1117
- Rename lexer_state->lexer_thread, and make a few adjustments for the benefit of Lark-Cython by @erezsh in #1118
- Use isinstance() checks in expcetions match_examples() by @plannigan in #1065
- change MAXREPEAT to int by @gruebel in #1120
- Tests: Small fixes by @erezsh in #1122
New Contributors
Full Changelog: 1.1.1...1.1.2