1.7.2 (May 30, 2017)
Update compatibility strategy to make Python 3 centric. Python 2 is now the outlier. More future-proof.
1.7.1 (January 30, 2017)
Returned test coverage to 100% of lines (introducing attrs() took it briefly down to 99% testing).
1.7.0 (January 30, 2017)
Added attrs() function for parsing dict instances out of text.
1.6.2 (January 23, 2017)
Updates testing. Newly qualified under 2.7.13 and 3.6, as well as most recent builds of pypy and pypy3.
1.6.1 (September 15, 2015)
Added Python 3.5.0 final and PyPy 2.6.1 to the testing matrix.
1.6.0 (September 1, 2015)
textlines) as a quick “grab a single very long line” function. It actually allows multiple paragraphs to be grabbed, each as a single long line, separated by double-newlines (i.e. Markdown style).
1.5.0 (September 1, 2015)
text()as preferred synonym for
textlines(), as that is more consistent with the rest of the naming scheme. Deprecated
1.4.3 (August 26, 2015)
Reorganizes documentation using Sphinx.
1.4.2 (August 17, 2015)
Achieves 100% test coverage. Updated testing scheme to automatically evaluate and report combined coverage across multiple Python versions.
Allows all routines to accept a list of text lines, in addition to text as a single string.
Adds a paragraph constructor,
Adds comment stripping. Packaging and testing also tweaked.
Switches from BSD to Apache License 2.0 and integrates
Misc. changes from 1.0 or prior:
Common line prefix is now computed without considering blank lines, so blank lines need not have any indentation on them just to “make things work.”
The tricky case where all lines have a common prefix, but it’s not entirely composed of whitespace, now properly handled. This is useful for lines that are already “quoted” such as with leading
">"symbols (common in Markdown and old-school email usage styles).
textlines()is now somewhat superfluous, now that
joinkwarg. But you may prefer it for the implicit indication that it’s turning lines into text.