unstale

pypi / pyparsing

pyparsing

What changed in pyparsing 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-25.

2 breaking1 deprecations5 new APIs and options3 performance1 tooling1 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.6 on npm

pyparsing 313 changes

Breaking changes 2

  • Diagrams may render differently because they no longer rely on recursion using Forward expressions.

    3.3.3release notes

  • Added to pyparsing.common as a generalized parse action that supports expressions extracting date/time fields into results names and validates that the fields represent a valid date and time.

    3.3.2release notes

Deprecations 1

  • Warning for using deprecated features; it inherits from PyparsingWarning and DeprecationWarning.

    3.3.2release notes

New APIs and options 5

  • A new max argument supports repetition with a large upper bound using multiplication or slicing notation.

    3.3.3release notes

  • Added to pyparsing.common; the expression returns a Python datetime.datetime.

    3.3.2release notes

  • Added to pyparsing.common; the expression returns a Python datetime.datetime.

    3.3.2release notes

  • Warning raised when pyparsing diagnostics are enabled and a diagnostic feature is used.

    3.3.2release notes

  • Base warning for pyparsing-specific warnings, allowing them to be selectively enabled or disabled without affecting warnings from other libraries.

    3.3.2release notes

Performance 3

  • Its recursive implementation was replaced with a shunting-yard algorithm; the release reports significant performance improvements for some complex examples.

    3.3.3release notes

  • Its implementation now manages nesting levels with its own stack, as part of changes intended to improve performance and reduce memory usage.

    3.3.3release notes

  • Performance improvements in ParseResults and core functions yield 10–20% overall performance improvement.

    3.3.2release notes

Tooling 1

  • License information is now included in package metadata, following PEP 639.

    3.3.1release notes

Fixes and other changes 1