Releases: trag1c/crossandra
Releases · trag1c/crossandra
Crossandra 2.2.1
Crossandra 2.2.0
Added
RuleGroup.apply
common.ANY_INT
common.ANY_FLOAT
common.ANY_NUMBER
Crossandra 2.1.0
This release should also include mypyc wheels for Python 3.12 on PyPI.
Added
Rule
objects now acceptre.Pattern
forpattern
- Improved typing for
Rule.__eq__
,Rule.__or__
, andRuleGroup.__or__
Rule
objects can now be unioned withRuleGroups
Fixed
- The
common.NUMBER
andcommon.SIGNED_NUMBER
rule groups now correctly prioritize floats over integers
Crossandra 2.0.0
Added
- Aliases for enums
- API tests
- Common pattern tests (big thanks to @qexat)
- Docstrings
- Python 3.8 support
- Typehints and docstrings are now supported when using mypyc wheels (big thanks to @Lunarmagpie)
Changed
- Allowed underscores in numeric literal patterns
CrossandraTokenizationError
andCrossandraValueError
are now raised instead ofCrossandraError
(it can be used to catch both exceptions)- Improved documentation
Rule
objects are now comparable, hashable and immutable- Slightly improved performance when tokenizing with empty enums (up to 10% faster)
- The
IGNORED
/NOT_APPLIED
constants (and their types) can now be imported directly - The pre-tokenization CRLF to LF conversion can now be disabled through the
Crossandra(convert_crlf=...)
parameter - Updated
Rule
signature:Rule(converter=True)
->Rule(converter=None)
Rule(converter=False)
->Rule(ignore=True)
flags
is now a keyword-only argument
Fixed
- Fixed bad traversal bug (big thanks to @circuitsacul)
- Fixed common patterns:
CHAR
DECIMAL
FLOAT
(and its derivatives)
Crossandra 1.3.0
Added
py.typed
- more very explicit typehints
Crossandra 1.2.4
Changed
- Speed improvements (up to 5x faster for pure Python wheels & up to 30% faster for mypyc-compiled wheels)
Big thanks to @circuitsacul for implementing the faster algorithm! ❤️
Crossandra 1.2.3
Fixed
- Crossandra now builds correctly for Python 3.10+ (big thanks to @Lunarmagpie for fixing that)
Crossandra 1.2.2
Fixed
- Fixed
Ignored
objects being included in the output
Crossandra 1.2.1
Fixed
- Made
Rule
a regular class to comply with mypyc
Crossandra 1.2.0
Added
- Building with
mypyc
Changed
Rule.converter
is now of typeCallable | bool
and defaults toTrue
Fixed
- Rule converters can now return
None