Skip to content

Releases: trag1c/crossandra

Crossandra 2.2.1

29 May 13:54
779a2c5
Compare
Choose a tag to compare

Fixed

  • Fixed mypyc wheels failing to generate a tree for a non-empty enum (#36)

Crossandra 2.2.0

29 May 12:06
a2642be
Compare
Choose a tag to compare

Added

  • RuleGroup.apply
  • common.ANY_INT
  • common.ANY_FLOAT
  • common.ANY_NUMBER

Crossandra 2.1.0

01 May 17:26
811478d
Compare
Choose a tag to compare

This release should also include mypyc wheels for Python 3.12 on PyPI.

Added

  • Rule objects now accept re.Pattern for pattern
  • Improved typing for Rule.__eq__, Rule.__or__, and RuleGroup.__or__
  • Rule objects can now be unioned with RuleGroups

Fixed

  • The common.NUMBER and common.SIGNED_NUMBER rule groups now correctly prioritize floats over integers

Crossandra 2.0.0

29 Apr 17:51
78bfe1f
Compare
Choose a tag to compare

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 and CrossandraValueError are now raised instead of CrossandraError (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

07 Mar 19:49
ae069d7
Compare
Choose a tag to compare

Added

  • py.typed
  • more very explicit typehints

Crossandra 1.2.4

10 Dec 05:23
Compare
Choose a tag to compare

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

22 Nov 02:04
Compare
Choose a tag to compare

Fixed

  • Crossandra now builds correctly for Python 3.10+ (big thanks to @Lunarmagpie for fixing that)

Crossandra 1.2.2

18 Nov 04:28
Compare
Choose a tag to compare

Fixed

  • Fixed Ignored objects being included in the output

Crossandra 1.2.1

18 Nov 02:49
ea23334
Compare
Choose a tag to compare

Fixed

  • Made Rule a regular class to comply with mypyc

Crossandra 1.2.0

18 Nov 02:38
Compare
Choose a tag to compare

Added

  • Building with mypyc

Changed

  • Rule.converter is now of type Callable | bool and defaults to True

Fixed

  • Rule converters can now return None