- Semicolon not detected at the end of a
definition
statement.
- Now compiling to
linux-aarch64
aka ARM on Linux
- Minimum supported Python version is now
3.9
- Support parsing of
hook
,use
,using
,import
statements. - Python module API has been simplified.
- Support
persistent ghost
.
- CVL2 syntax is now enforced. Parsing of code which is not compliant with CVL2 has been removed.
- Some issues with
Invariant
parsing have been fixed.
- Fix issue that could cause infinite recursion on certain input
- Upgrade dependencies
- Merged Python wrapper and core changelogs to a single file
- Use span-based capturing for
Definition
- Release Candidate for first public version
- Correctly report span for raw code of starred documentation blocks
- Incorrect detection of code blocks
- Handle variable-length characters
- Python wrapper: Comptability with parse API change
- Parsing engine re-written
- Data structure of AST changed, first class member is now
CvlElement
- Can now handle elements without documentation
- Python wrapper: Breaking changes to data structure API
- Fix detection of invariants and other elements
- Improve parser recovery and robustness
serde
support removed for now
- Python wrapper: Expose wrapper classes to Python, so their types can be named
- Handle lines of the form /*****/ (for any amount of *)
- Ignore /*****/ (for any amount of *) when it is a separator between elements
- Fixed element span to contain both the documentation block and the associated element
- Fix issue with recognition of
rule
blocks.
- No longer ignore line terminator kind, so CRLF is now parsed correctly.
- Changed all references from "NatSpec" to the new name, "CVLDoc"
- Internal restructure of documentation struct to refacator redundant fields
raw
field is now captured, containing the entire text from beginning of capture
- Python wrapper: Changed all references from "NatSpec" to the new name, "CVLDoc"
- Python wrapper:
range
is no longer printed inrepr
of classes that have them, to reduce noise
- Python wrapper: Now using
abi3
bindings, to (hopefully!) support all Python versions with a single build - Python wrapper: Renamed crate (exported python module's name did not change)
- Updated dependencies
- Multi-line freeform comments with
////
are now supported. They concatenate into a single comment.
- Rules without parameters were not detected
- Merge
SingleLineFreeForm
andMultiLineFreeForm
into a single enum. - No longer distinguish between the header and the body of a freeform comment. Now just grab everything into a single String.
- Don't special-case
#
in the grammar. - Don't trim
#
from headers. - Stopped removing lines that are just whitespace.
- Wrapper: Definition of
FreeForm
was simplified to match the definition innatspec_parser
: Replacedheader
andblock
withtext
.
- More informative message for documentation block with no associated element
- Don't require whitespace after keyword
methods
in amethods
block declaration - Allow any type in a
GhostMapping
, not justmapping
types - Do not attempt to parse NatSpecs on lines that begin with just
//