Skip to content

Releases: sqlalchemy/mako

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

0.7.0

02 Sep 18:49
Compare
Choose a tag to compare

0.7.0

Released: Fri Mar 30 2012

  • [feature] Added new "loop" variable to templates,
    is provided within a % for block to provide
    info about the loop such as index, first/last,
    odd/even, etc. A migration path is also provided
    for legacy templates via the "enable_loop" argument
    available on Template, TemplateLookup, and <%page>.
    Thanks to Ben Trofatter for all
    the work on this

    References: #125

  • [feature] Added a real check for "reserved"
    names, that is names which are never pulled
    from the context and cannot be passed to
    the template.render() method. Current names
    are "context", "loop", "UNDEFINED".

  • [feature] The html_error_template() will now
    apply Pygments highlighting to the source
    code displayed in the traceback, if Pygments
    if available. Courtesy Ben Trofatter

    References: #95

  • [feature] Added support for context managers,
    i.e. "% with x as e:/ % endwith" support.
    Courtesy Ben Trofatter

    References: #147

  • [feature] Added class-level flag to CacheImpl
    "pass_context"; when True, the keyword argument
    'context' will be passed to get_or_create()
    containing the Mako Context object.

    References: #185

  • [bug] Fixed some Py3K resource warnings due
    to filehandles being implicitly closed.

    References: #182

  • [bug] Fixed endless recursion bug when
    nesting multiple def-calls with content.
    Thanks to Jeff Dairiki.

    References: #186

  • [feature] Added Jinja2 to the example
    benchmark suite, courtesy Vincent Férotin

0.6.2

02 Sep 18:49
Compare
Choose a tag to compare

0.6.2

Released: Thu Feb 2 2012

  • [bug] The ${{"foo":"bar"}} parsing issue is fixed!!
    The legendary Eevee has slain the dragon!. Also fixes quoting issue
    at.

    References: #20, #86

0.6.1

02 Sep 18:49
Compare
Choose a tag to compare

0.6.1

Released: Sat Jan 28 2012

  • [bug] Added special compatibility for the 0.5.0
    Cache() constructor, which was preventing file
    version checks and not allowing Mako 0.6 to
    recompile the module files.

0.6.0

02 Sep 18:49
Compare
Choose a tag to compare

0.6.0

Released: Sat Jan 21 2012

  • [feature] Template caching has been converted into a plugin
    system, whereby the usage of Beaker is just the
    default plugin. Template and TemplateLookup
    now accept a string "cache_impl" parameter which
    refers to the name of a cache plugin, defaulting
    to the name 'beaker'. New plugins can be
    registered as pkg_resources entrypoints under
    the group "mako.cache", or registered directly
    using mako.cache.register_plugin(). The
    core plugin is the mako.cache.CacheImpl
    class.

  • [feature] Added support for Beaker cache regions
    in templates. Usage of regions should be considered
    as superseding the very obsolete idea of passing in
    backend options, timeouts, etc. within templates.

  • [feature] The 'put' method on Cache is now
    'set'. 'put' is there for backwards compatibility.

  • [feature] The <%def>, <%block> and <%page> tags now accept
    any argument named "cache_*", and the key
    minus the "cache_" prefix will be passed as keyword
    arguments to the CacheImpl methods.

  • [feature] Template and TemplateLookup now accept an argument
    cache_args, which refers to a dictionary containing
    cache parameters. The cache_dir, cache_url, cache_type,
    cache_timeout arguments are deprecated (will probably
    never be removed, however) and can be passed
    now as cache_args={'url':, 'type':'memcached',
    'timeout':50, 'dir':'/path/to/some/directory'}

  • [feature/bug] Can now refer to context variables
    within extra arguments to <%block>, <%def>, i.e.
    <%block name="foo" cache_key="${somekey}">.
    Filters can also be used in this way, i.e.
    <%def name="foo()" filter="myfilter">
    then template.render(myfilter=some_callable)

    References: #180

  • [feature] Added "--var name=value" option to the mako-render
    script, allows passing of kw to the template from
    the command line.

    References: #178

  • [feature] Added module_writer argument to Template,
    TemplateLookup, allows a callable to be passed which
    takes over the writing of the template's module source
    file, so that special environment-specific steps
    can be taken.

    References: #181

  • [bug] The exception message in the html_error_template
    is now escaped with the HTML filter.

    References: #142

  • [bug] Added "white-space:pre" style to html_error_template()
    for code blocks so that indentation is preserved

    References: #173

  • [bug] The "benchmark" example is now Python 3 compatible
    (even though several of those old template libs aren't
    available on Py3K, so YMMV)

    References: #175

0.5.0

02 Sep 18:49
Compare
Choose a tag to compare

0.5.0

Released: Wed Sep 28 2011

  • A Template is explicitly disallowed
    from having a url that normalizes to relative outside
    of the root. That is, if the Lookup is based
    at /home/mytemplates, an include that would place
    the ultimate template at
    /home/mytemplates/../some_other_directory,
    i.e. outside of /home/mytemplates,
    is disallowed. This usage was never intended
    despite the lack of an explicit check.
    The main issue this causes
    is that module files can be written outside
    of the module root (or raise an error, if file perms aren't
    set up), and can also lead to the same template being
    cached in the lookup under multiple, relative roots.
    TemplateLookup instead has always supported multiple
    file roots for this purpose.

    References: #174

0.4.2

02 Sep 18:49
Compare
Choose a tag to compare

0.4.2

Released: Fri Aug 5 2011

  • Fixed bug regarding <%call>/def calls w/ content
    whereby the identity of the "caller" callable
    inside the <%def> would be corrupted by the
    presence of another <%call> in the same block.

    References: #170

  • Fixed the babel plugin to accommodate <%block>

    References: #169

0.4.1

02 Sep 18:49
Compare
Choose a tag to compare

0.4.1

Released: Wed Apr 6 2011

  • New tag: <%block>. A variant on <%def> that
    evaluates its contents in-place.
    Can be named or anonymous,
    the named version is intended for inheritance
    layouts where any given section can be
    surrounded by the <%block> tag in order for
    it to become overrideable by inheriting
    templates, without the need to specify a
    top-level <%def> plus explicit call.
    Modified scoping and argument rules as well as a
    more strictly enforced usage scheme make it ideal
    for this purpose without at all replacing most
    other things that defs are still good for.
    Lots of new docs.

    References: #164

  • a slight adjustment to the "highlight" logic
    for generating template bound stacktraces.
    Will stick to known template source lines
    without any extra guessing.

    References: #165