Skip to content

Commit

Permalink
Updates to CHANGES and CONTRIBUTING.md resulting from PR #379
Browse files Browse the repository at this point in the history
  • Loading branch information
ptmcg committed Mar 29, 2022
1 parent 3c03942 commit 6afabf9
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
22 changes: 13 additions & 9 deletions CHANGES
Expand Up @@ -7,7 +7,7 @@ Version 3.0.8 - (under development)
- API CHANGE: modified pyproject.toml to require Python version
3.6.8 or later for pyparsing 3.x. Earlier minor versions of 3.6
fail in evaluating the `version_info` class (implemented using
typing.NamedTuple). If you are using an earlier version of Python
`typing.NamedTuple`). If you are using an earlier version of Python
3.6, you will need to use pyparsing 2.4.7.

- Improved pyparsing import time by deferring regex pattern compiles.
Expand All @@ -17,39 +17,43 @@ Version 3.0.8 - (under development)
doc and removed old Windows build scripts - nice cleanup work!

- More type-hinting added for all arithmetic and logical operator
methods in ParserElement. PR from Kazantcev Andrey, thank you.
methods in `ParserElement`. PR from Kazantcev Andrey, thank you.

- Fixed `infix_notation`'s definitions of `lpar` and `rpar`, to accept
parse expressions such that they do not get suppressed in the parsed
results. PR submitted by Philippe Prados, nice work.

- Fixed bug in railroad diagramming with expressions containing Combine
- Fixed bug in railroad diagramming with expressions containing `Combine`
elements. Reported by Jeremy White, thanks!

- Added `unicode_denormalizer.py` to the examples as a demonstration
of how Python's interpreter will accept Unicode characters in
identifiers, but normalizes them back to ASCII so that identifiers
`print` and `𝕡𝓻ᵢ𝓃𝘁` and `𝖕𝒓𝗂𝑛ᵗ` are all equivalent.

- Removed imports of deprecated `sre_constants` module for catching
exceptions when compiling regular expressions. PR submitted by
Serhiy Storchaka, thank you.


Version 3.0.7 -
---------------
- Fixed bug #345, in which delimitedList changed expressions in place
using expr.streamline(). Reported by Kim Gräsman, thanks!
using `expr.streamline()`. Reported by Kim Gräsman, thanks!

- Fixed bug #346, when a string of word characters was passed to WordStart
or WordEnd instead of just taking the default value. Originally posted
or `WordEnd` instead of just taking the default value. Originally posted
as a question by Parag on StackOverflow, good catch!

- Fixed bug #350, in which White expressions could fail to match due to
- Fixed bug #350, in which `White` expressions could fail to match due to
unintended whitespace-skipping. Reported by Fu Hanxi, thank you!

- Fixed bug #355, when a QuotedString is defined with characters in its
- Fixed bug #355, when a `QuotedString` is defined with characters in its
quoteChar string containing regex-significant characters such as ., *,
?, [, ], etc.

- Fixed bug in ParserElement.run_tests where comments would be displayed
using with_line_numbers.
- Fixed bug in `ParserElement.run_tests` where comments would be displayed
using `with_line_numbers`.

- Added optional "min" and "max" arguments to `delimited_list`. PR
submitted by Marius, thanks!
Expand Down
8 changes: 7 additions & 1 deletion CONTRIBUTING.md
Expand Up @@ -44,6 +44,9 @@ Development_](https://github.com/pyparsing/pyparsing/wiki/Zen)
article on the pyparsing wiki, to get a general feel for the historical and future approaches to pyparsing's
design, and intended developer experience as an embedded DSL.

If you are using new Python features or changing usage of the Python stdlib, please check that they work as
intended on prior versions of Python (currently back to Python 3.6.8).

## Some design points

- Minimize additions to the module namespace. Over time, pyparsing's namespace has acquired a *lot* of names.
Expand Down Expand Up @@ -98,7 +101,7 @@ These coding styles are encouraged whether submitting code for core pyparsing or
ppc = pp.pyparsing_common
ppu = pp.pyparsing_unicode

Submitted examples *must* be Python 3 compatible.
Submitted examples *must* be Python 3.6.8 or later compatible.

- Where possible use operators to create composite parse expressions:

Expand All @@ -119,3 +122,6 @@ These coding styles are encouraged whether submitting code for core pyparsing or
how to avoid them when developing new examples.

- New features should be accompanied by updates to unitTests.py and a bullet in the CHANGES file.

- Do not modify pyparsing_archive.py. This file is kept as a reference artifact from when pyparsing was distributed
as a single source file.

0 comments on commit 6afabf9

Please sign in to comment.