Skip to content

Releases: sqlalchemy/mako

1.0.2

02 Sep 18:48
Compare
Choose a tag to compare

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 of inspect.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 cause None to appear in the
    rendered template result.

    References: #236

1.0.1

02 Sep 18:48
Compare
Choose a tag to compare

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

02 Sep 18:48
Compare
Choose a tag to compare

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 using disable_unicode=True, the u 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

02 Sep 18:48
Compare
Choose a tag to compare

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

02 Sep 18:48
Compare
Choose a tag to compare

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

02 Sep 18:48
Compare
Choose a tag to compare

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

02 Sep 18:48
Compare
Choose a tag to compare

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

02 Sep 18:48
Compare
Choose a tag to compare

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.

0.7.2

02 Sep 18:48
Compare
Choose a tag to compare

0.7.2

Released: Fri Jul 20 2012

  • [bug] Fixed regression in 0.7.1 where AST
    parsing for Py2.4 was broken.

    References: #193

0.7.1

02 Sep 18:48
Compare
Choose a tag to compare

0.7.1

Released: Sun Jul 8 2012

  • [feature] Control lines with no bodies will
    now succeed, as "pass" is added for these
    when no statements are otherwise present.
    Courtesy Ben Trofatter

    References: #146

  • [bug] Fixed some long-broken scoping behavior
    involving variables declared in defs and such,
    which only became apparent when
    the strict_undefined flag was turned on.

    References: #192

  • [bug] Can now use strict_undefined at the
    same time args passed to def() are used
    by other elements of the <%def> tag.

    References: #191