Change LogΒΆ
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 ath6
, noth7
. Oops!
1.6.4 (September 7, 2015)
Quoters can now take a variable number of arguments. A
sep
kwarg determins how multiple pieces are combined. Defaults to empty string, so rank concatenation. Full rationalization reJoiner
awaits 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
Quoter
creation 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.The
pair
keyword for compact setting of balanced quote prefix/suffix pairs is returned to service (in earlier incarndations, this was thechars
kwarg).Extended documentation. Added API Reference.
1.6.0 (September 7, 2015)
Major redesign of the named styles facility. Refactored style management out of
Quoter
and its subclasses and into separateStyleSet
class. Much cleaner and more reliable.The
style=
kwarg toQuoter
classes, however, goes away. It was “a bridge too far,” complicating everything and not adding real value. Its function is now found inStyleSet._define()
.While this is largely an “infrastructure” rather than functional release, there were some minor functional improvements: Markdown quoting extended with
hr
andh1
throughh7
header methods. XML quoting now hascdata
andpcdata
methods. 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 functionh
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 thequoter
use- 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
Quoter
subclasses, includingxml
andhtml
objects docs previously warned were non-functional. Refactors majority ofJoiner
functionality as a subclass ofQuoter
, with all the rights and privileges thereunto appertaining.Extends tests.
1.4.4 (August 20, 2015)
Added “naked” invocations of primary quoter front-ends, such ashtml("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)
Addedbut
synonym forclone
to have simpler, clearer invocations.
1.4.2 (August 20, 2015)
Docs were getting long. TruncatedREADME.rst
and converted majority to Sphinx docs to be hosted on readthedocs.
1.4.1 (August 20, 2015)
Documentation fix.
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
util.py
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 withsudo 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.join
,word_join
,and_join
,or_join
,joinlines
, anditems
are 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. Embeddednulltype
module withdrawn in favor of fullnulltype
imported byoptions
.
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 ofQuoter
instances (though not yetHTMLQuoter
orXMLQuoter
instances) 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.
Added
lambdaq
front-end parallel toquote
,html
, andxml
.
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.single
as a specialization ofquote
) has been instituted. This is mostly, but not perfectly, a superset of the previous use of aquote()
function.The naming infrastructure has been beefed up, with multiple names (aliases) possible for all named objects.
A new
XMLQuoter
is inserted as a superclass ofHTMLQuoter`. It has ``HTMLQuoter
‘s ability to parse CSS style id and class name definitions (e.g.'#first.big.special'
), as well as namespace support (newns
attribute).XML and HTML quoters for individual tags are automagically generated upon first use. E.g.
html.b('this')
creates anHTMLQuoter(tag='b', name='b')
quoter that is cached ashtml.b
for 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
verno
auto-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.