Releases: sqlalchemy/mako
1.0.3
1.0.3
Released: Tue Oct 27 2015
- [babel] [bug] Fixed an issue where the Babel plugin would not handle a translation
symbol that contained non-ascii characters. Pull request courtesy
Roman Imankulov.
1.0.2
1.0.2
Released: Wed Aug 26 2015
-
[bug] [installation] The "universal wheel" marker is removed from setup.cfg, because
our setup.py currently makes use of conditional dependencies.
In #249, the discussion is ongoing on how to correct our
setup.cfg / setup.py fully so that we can handle the per-version
dependency changes while still maintaining optimal wheel settings,
so this issue is not yet fully resolved.References: #249
-
[bug] [py3k] Repair some calls within the ast module that no longer work on Python3.5;
additionally replace the use ofinspect.getargspec()
under
Python 3 (seems to be called from the TG plugin) to avoid deprecation
warnings.References: #250
-
[bug] Update the Lingua translation extraction plugin to correctly
handle templates mixing Python control statements (such as if,
for and while) with template fragments. Pull request courtesy
Laurent Daverio. -
[feature] Added
STOP_RENDERING
keyword for returning/exiting from a
template early, which is a synonym for an empty string""
.
Previously, the docs suggested a bare
return
, but this could causeNone
to appear in the
rendered template result.References: #236
1.0.1
1.0.1
Released: Thu Jan 22 2015
-
[feature] Added support for Lingua, a translation extraction system as an
alternative to Babel. Pull request courtesy Wichert Akkerman. -
[bug] [py3k] Modernized the examples/wsgi/run_wsgi.py file for Py3k.
Pull requset courtesy Cody Taylor.
1.0.0
1.0.0
Released: Sun Jun 8 2014
-
[bug] [py2k] Improved the error re-raise operation when a custom
Template.error_handler
is used that does not handle
the exception; the original stack trace etc. is now preserved.
Pull request courtesy Manfred Haltner. -
[bug] [filters] [py2k] Added an html_escape filter that works in "non unicode" mode.
Previously, when usingdisable_unicode=True
, theu
filter
would fail to handle non-ASCII bytes properly. Pull request
courtesy George Xie. -
[general] Compatibility changes; in order to modernize the codebase, Mako
is now dropping support for Python 2.4 and Python 2.5 altogether.
The source base is now targeted at Python 2.6 and forwards. -
[feature] Template modules now generate a JSON "metadata" structure at the bottom
of the source file which includes parseable information about the
templates' source file, encoding etc. as well as a mapping of module
source lines to template lines, thus replacing the "# SOURCE LINE"
markers throughout the source code. The structure also indicates those
lines that are explicitly not part of the template's source; the goal
here is to allow better integration with coverage and other tools. -
[bug] [py3k] Fixed bug in
decode.<encoding>
filter where a non-string object
would not be correctly interpreted in Python 3. -
[bug] [py3k] Fixed bug in Python parsing logic which would fail on Python 3
when a "try/except" targeted a tuple of exception types, rather
than a single exception.References: #227
-
[feature] mako-render is now implemented as a setuptools entrypoint script;
a standalone mako.cmd.cmdline() callable is now available, and the
system also uses argparse now instead of optparse. Pull request
courtesy Derek Harland. -
[feature] The mako-render script will now catch exceptions and run them
into the text error handler, and exit with a non-zero exit code.
Pull request courtesy Derek Harland. -
[bug] A rework of the mako-render script allows the script to run
correctly when given a file pathname that is outside of the current
directory, e.g.mako-render ../some_template.mako
. In this case,
the "template root" defaults to the directory in which the template
is located, instead of ".". The script also accepts a new argument
--template-dir
which can be specified multiple times to establish
template lookup directories. Standard input for templates also works
now too. Pull request courtesy Derek Harland. -
[feature] [py3k] Support is added for Python 3 "keyword only" arguments, as used in
defs. Pull request courtesy Eevee.References: pull request github:7
0.9.1
0.9.1
Released: Thu Dec 26 2013
-
[bug] Fixed bug in Babel plugin where translator comments
would be lost if intervening text nodes were encountered.
Fix courtesy Ned Batchelder.References: #225
-
[bug] Fixed TGPlugin.render method to support unicode template
names in Py2K - courtesy Vladimir Magamedov. -
[bug] Fixed an AST issue that was preventing correct operation
under alpha versions of Python 3.4. Pullreq courtesy Zer0-. -
[bug] Changed the format of the "source encoding" header output
by the code generator to use the format# -*- coding:%s -*-
instead of# -*- encoding:%s -*-
; the former is more common
and compatible with emacs. Courtesy Martin Geisler. -
[bug] Fixed issue where an old lexer rule prevented a template line
which looked like "#*" from being correctly parsed.References: #224
0.9.0
0.9.0
Released: Tue Aug 27 2013
-
[bug] The Context.locals_() method becomes a private underscored
method, as this method has a specific internal use. The purpose
of Context.kwargs has been clarified, in that it only delivers
top level keyword arguments originally passed to template.render().References: #219
-
[bug] Fixed the babel plugin to properly interpret ${} sections
inside of a "call" tag, i.e. <%self:some_tag attr="${_('foo')}"/>.
Code that's subject to babel escapes in here needs to be
specified as a Python expression, not a literal. This change
is backwards incompatible vs. code that is relying upon a _('')
translation to be working within a call tag. -
[bug] The Babel plugin has been repaired to work on Python 3.
References: #187
-
[bug] Using <%namespace import="*" module="somemodule"/> now
skips over module elements that are not explcitly callable,
avoiding TypeError when trying to produce partials.References: #207
-
[bug] Fixed Py3K bug where a "lambda" expression was not
interpreted correctly within a template tag; also
fixed in Py2.4.References: #190
0.8.1
0.8.1
Released: Fri May 24 2013
-
[bug] Changed setup.py to skip installing markupsafe
if Python version is < 2.6 or is between 3.0 and
less than 3.3, as Markupsafe now only supports 2.6->2.X,
3.3->3.X.References: #216
-
[bug] Fixed regression where "entity" filter wasn't
converted for py3k properly (added tests.)References: #214
-
[bug] Fixed bug where mako-render script wasn't
compatible with Py3k.References: #212
-
[bug] Cleaned up all the various deprecation/
file warnings when running the tests under
various Pythons with warnings turned on.References: #213
0.8.0
0.8.0
Released: Wed Apr 10 2013
-
[feature] Performance improvement to the
"legacy" HTML escape feature, used for XML
escaping and when markupsafe isn't present,
courtesy George Xie. -
[bug] Fixed bug whereby an exception in Python 3
against a module compiled to the filesystem would
fail trying to produce a RichTraceback due to the
content being in bytes.References: #209
-
[bug] Change default for compile()->reserved_names
from tuple to frozenset, as this is expected to be
a set by default.References: #208
-
[feature] Code has been reworked to support Python 2.4->
Python 3.xx in place. 2to3 no longer needed. -
[feature] Added lexer_cls argument to Template,
TemplateLookup, allows alternate Lexer classes
to be used. -
[feature] Added future_imports parameter to Template
and TemplateLookup, renders the future header
with desired capabilities at the top of the generated
template module. Courtesy Ben Trofatter.
0.7.3
0.7.3
Released: Wed Nov 7 2012
-
[bug] legacy_html_escape function, used when
Markupsafe isn't installed, was using an inline-compiled
regexp which causes major slowdowns on Python 3.3;
is now precompiled. -
[bug] AST supporting now supports tuple-packed
function arguments inside pure-python def
or lambda expressions.References: #201
-
[bug] Fixed Py3K bug in the Babel extension.
-
[bug] Fixed the "filter" attribute of the
<%text> tag so that it pulls locally specified
identifiers from the context the same
way as that of <%block> and <%filter>. -
[bug] Fixed bug in plugin loader to correctly
raise exception when non-existent plugin
is specified.