-
Added support for Python 3.15.
-
Fixed CI unit test jobs selecting a tox environment with no test commands. The matrix and fallback now select
py-unit, as diagnosed and proposed by glaziermag in issue #662; submitted by Neal Lin et AI. -
Refactored recursive implementations in pyparsing, for improved performance and reduced memory usage.
-
repetition using a large upper bound with multiplication or slicing notation has replaced a recursive
Optionalexpression with a modifiedZeroOrMoreexpression, using a newmaxargument. PR #652, submitted by sudo. -
nested_exprnow uses an internal class that maintains its own stack for managing nesting levels. -
infix_notationreplaced its recursive implementation with a shunting-yard algorithm.
These changes should not cause any regressions in existing code, and tests show significant performance improvements for some of the more complex examples. Railroad diagrams may render differently, since they now no longer rely on recursion using
Forwardexpressions. -