- Pass open file objects to lxml instead of filenames. Apparently lxml can segfault in some circumstances if you pass a filename for it to open multiple times. (kiorky)
- Reorganized pyref documentation into a single document for easier reference.
- Added a document on configuring Deliverance with Paste Deploy.
- Characters <, >, and & are no longer escaped when they appear within a CDATA section in XHTML output mode.
- The theme’s doctype is now given priority over the content doctype, to give users more control over the output format.
The paste.deploy configuration and middleware factory now accept a theme_uri parameter.
If used, this will be the global default theme uri. It will be used if no theme is defined within the ruleset.
Internal subrequests that return non-200 response codes are now retried as external HTTP requests. (#16)
Request/response matching in <rule> elements now work. (#6)
<meta http-equiv=”Content-Type”> tags are no longer stripped from documents. Instead, they are always included in the output of Deliverance, with a default charset of ASCII. (#34)
CDATA sections in XHTML documents are left as-is instead of being incorrectly escaped. (#36)
Before applying the rules, Deliverance now moves the <meta> tag with a charset declaration to be the first child of the <head> element, if both are present. This ensures that non-ASCII characters in the <head> are converted to the correct HTML sequences. (#12)
There is now a garbage-collecting WSGI middleware deliverance.garbagecollect, disabled by default, which calls gc.collect() after every request. This was added after a report (unconfirmed) of potential memory leaks when using some versions of lxml. (#22)
You can use it with deliverance-proxy –garbage-collect or, in paste.deploy configurations, filter your app with use = egg:Deliverance#garbagecollect.