1.6.7 (February 20, 2017)
Updated testing matrix. Now certified under Python 3.6 and latest versions of PyPy and PyPy3.
1.6.6 (September 16, 2015)
Updated testing for Python 3.5.0 final and PyPy 2.6.1 (based on CPython 2.7.10).
1.6.5 (September 8, 2015)
Minor fix to Markdown module. Turns out HTML stops at
1.6.4 (September 7, 2015)
Quoters can now take a variable number of arguments. A
sepkwarg determins how multiple pieces are combined. Defaults to empty string, so rank concatenation. Full rationalization re
Joinerawaits another day.
Minor testing cleanups.
1.6.3 (September 7, 2015)
Handful of minor cleanups.
All previously skipped tests are now re-enabled and passing.
Argument handling of
Quotercreation is now hardened. If a prefix or suffix is explicitly set but not the other, the unset one defaults to an empty string, not to the other one that is set.
pairkeyword for compact setting of balanced quote prefix/suffix pairs is returned to service (in earlier incarndations, this was the
Extended documentation. Added API Reference.
1.6.0 (September 7, 2015)
Major redesign of the named styles facility. Refactored style management out of
Quoterand its subclasses and into separate
StyleSetclass. Much cleaner and more reliable.
Quoterclasses, however, goes away. It was “a bridge too far,” complicating everything and not adding real value. Its function is now found in
While this is largely an “infrastructure” rather than functional release, there were some minor functional improvements: Markdown quoting extended with
h7header methods. XML quoting now has
pcdatamethods. Both of these are part of an incremental march toward functional completeness in their respective quoting realms.
Withdrew branch coverage testing metric. While a good idea in theory, current tools do not provide sufficient actionable intelligence to directly identify source of branch misses.
1.5.6 (August 22, 2015)
Extended Markdown feature with header function
1.5.5 (August 24, 2015)
Start of a Markdown capability. It is at a experimental, proof of concept, or demonstration stage rather than production-use stage at present–much as HTML and XML quoting functions were a few releases back. The initial goal is to stretch the
quoteruse- case and prove/harden its extension mechanisms. Even at its inaugural stage, it is doing just that.
1.5.3 (August 23, 2015)
Reorg of XML and HTML code into own module. Parallel reorg of tests. All tests passing.
1.5.2 (August 23, 2015)
Starts automatic collection of test branch coverage. Begins with 99% coverage.
1.5.0 (August 20, 2015)
Enables cloning and specialization of all
htmlobjects docs previously warned were non-functional. Refactors majority of
Joinerfunctionality as a subclass of
Quoter, with all the rights and privileges thereunto appertaining.
1.4.4 (August 20, 2015)
Added “naked” invocations of primary quoter front-ends, such as
html("joe", "b.one"). This allows quoters to take on primary information (such as the tag name) during each call. This was long planned for the API, but had been sidelined due to now- quashed complexity.
1.4.3 (August 20, 2015)
cloneto have simpler, clearer invocations.
1.4.2 (August 20, 2015)
Docs were getting long. Truncated
README.rstand converted majority to Sphinx docs to be hosted on readthedocs.
1.4.1 (August 20, 2015)
1.4.0 (August 20, 2015)
Major rewrite of complex argument handling for XMLQuoter (and HTMLQuoter subclass). Should be much more robust and extensible. Refactored some functions into
Adds direct attribute setting
[key=value]to the CSS selector specification language.
Improved testing. Added new tests of sub-cases of parsing the arguments. Updated strategy to have quicker basic tests with
sudo tox, but easy full coverage analysis with
sudo tox -c toxcov.ini. Advances test line coverage to 100%.
1.3.6 (August 17, 2015)
Updated testing strategy with integrated multi-version coverage testing. Achieved 98%.
1.3.5 (August 14, 2015)
Fixed RST problem in docs
1.3.4 (August 14, 2015)
Added Travis CI badge and note about 2.6 release to docs
1.3.3 (August 11, 2015)
Some code reorganization and updating of common string routines.
1.3.2 (August 11, 2015)
Initiated external CI with Travis. Dropped Python 2.6 from official support given issues getting it running on Travis (though it actually does work).
1.3.0 (August 11, 2015)
First release of integrated sequence joining.
itemsare functional and tested, but still less mature than the rest of the codebase.
1.2.0 (August 11, 2015)
Institutes full named styles within each quoting class. Tests and docs tweaked. Embedded
nulltypemodule withdrawn in favor of full
1.1.4 (August 3, 2015)
Experimental switch to YAML format for change log. Some setup, testing, and config updates.
1.1.3 (August 3, 2015)
Cloning and changing of
Quoterinstances (though not yet
XMLQuoterinstances) is now operational.
1.1.0 (August 3, 2015)
Cleans up HTML quoting, esp. re void / self-closing elements. Adds new double-backtick functions. Changed to Apache License 2.0. Updates docs and testing matrix.
1.0.3 (November 1, 2013)
HTML, XML, and lambda quoters now use class-relative styles dictionaries, as opposed to piggybacking the standard Quoter styles dictionary.
Improved docs and tests.
lambdaqfront-end parallel to
1.0.2 (October 31, 2013)
Some internal cleanups to improve code reuse among classes. Bumped from Alpha to Beta status.
1.0.1 (October 31, 2013)
A new alternate API consisting of attribute names off of a default quoting object (e.g.
quote.singleas a specialization of
quote) has been instituted. This is mostly, but not perfectly, a superset of the previous use of a
The naming infrastructure has been beefed up, with multiple names (aliases) possible for all named objects.
XMLQuoteris inserted as a superclass of
HTMLQuoter`. It has ``HTMLQuoter‘s ability to parse CSS style id and class name definitions (e.g.
'#first.big.special'), as well as namespace support (new
XML and HTML quoters for individual tags are automagically generated upon first use. E.g.
HTMLQuoter(tag='b', name='b')quoter that is cached as
html.bfor subsequent uses.
Updated versioning strategy to comply with PEP 386
Various other structural and packaging cleanups. E.g. moved into proper Python package; given introspectable version number; removed old
vernoauto-update of version number; this proper change long instituted; etc.
0.308 (October 30, 2012)
Last version before PEP 386 versioning switch. Upgrade away from these old versions if for no other reason than improving the auto- install logic.