* Fixed regression caused by the fix for 🎫`320` where new
logic added to interpret list and dictionary comprehensions
would fail for expression oriented keys. As the parsing in
question was not necessary for these
keys, it's been removed.
* Fixed issue where a parsed expression which contained
sub-brackets, such as dictionary literals, would fail to be
interpreted correctly even though the
initial parsing is correct.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=107
* Fixed unexpected error when use control lines which the
first control block with no bodies other than comments,
as `pass` is now added to the first empty block.
* Fixed unexpected syntax error in strict_undefined mode that
occurred when using comprehensions within a function in a Mako
Python code block.
Now, the local variable in comprehensions won't be added to the
checklist when using strict_undefined mode.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=105
* Fixed parsing issue where attempting to render a single percent
sign % using an escaped percent %% would not function correctly
if the escaped percent were not the first character on a line.
Note that this is a revised version of a similar change made
in Mako 1.3.1 which caused unexpected parsing regressions,
resulting in the release being yanked.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=103
* Mako 1.3.0 bumps the minimum Python version to 3.8
* Python 3.12 is now supported explicitly.
- Update to 1.2.4
correctly interpret quoted sections individually
* Fixed some issues with running the test suite which would
be revealed by running tests in random order.
- Use libalternatives instead of update-alternatives.
emit warnings under Python 3.10.
* The default template encoding is now utf-8
- update to 1.0.8
- fix up build for SLE11
- python3 package added
- 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>.
- Added a real check for "reserved" names, that is names which
are never pulled from the context and cannot be passed to the
- The html_error_template() will now apply Pygments highlighting
to the source code displayed in the traceback, if Pygments if
- Added support for context managers,
- Added class-level flag to CacheImpl "pass_context"; when True,
the keyword argument 'context' will be passed to
- 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=99
* Fixed issue in lexer in the same category as that of 🎫`366` where
the regexp used to match an end tag didn't correctly organize for matching
characters surrounded by whitespace, leading to high memory / interpreter
hang if a closing tag incorrectly had a large amount of unterminated space
in it. Credit to Sebastian Chnelik for locating the issue.
* As Mako templates inherently render and directly invoke arbitrary Python
code from the template source, it is **never** appropriate to create
templates that contain untrusted input.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=93
* [bug] [tests] Various fixes to the test suite in the area of exception
message rendering to accommodate for variability in Python versions as
well as Pygments.
* [performance] Optimized some codepaths within the lexer/Python code
generation process, improving performance for generation of templates
prior to their being cached. Pull request courtesy Takuto Ikuta.
* [changed] [py3k] Corrected "universal wheel" directive in setup.cfg so
that building a wheel does not target Python 2.
* [changed] [py3k] The bytestring_passthrough template argument is removed,
as this flag only applied to Python 2.
* [changed] [py3k] With the removal of Python 2's cStringIO, Mako now uses
its own internal FastEncodingBuffer exclusively.
* [changed] Refactored test utilities into mako.testing module. Removed
unittest.TestCase dependency in favor of pytest.
* [changed] [setup] Replaced the use of pkg_resources with the importlib
library. For Python < 3.8 the library importlib_metadata is used.
* [changed] [py3k] Removed support for Python 2 and Python 3.6. Mako now
requires Python >= 3.7.
* [bug] [py3k] Mako now performs exception chaining using raise from,
correctly identifying underlying exception conditions when it raises its
own exceptions. Pull request courtesy Ram Rachum.
- Remove python2 gubbins, since it is no longer supported.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=88
* Replaced usage of the long-superseded “parser.suite” module in the mako.util
package for parsing the python magic encoding comment with the “ast.parse” function
* Added “babel” and “lingua” dependency entries to the setuptools entrypoints
for the babel and lingua extensions
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=66
- version update to 1.0.14
* The n filter is now supported in the <%page> tag. This allows a template to omit the default expression filters throughout a whole template, for those cases where a
template-wide filter needs to have default filtering disabled.
* Fixed issue where the correct file URI would not be shown in the template-formatted exception traceback if the template filename were not known. Additionally fixes an issue
where stale filenames would be displayed if a stack trace alternated between different templates.
* Improved the line-number tracking for source lines inside of Python <% ... %> blocks, such that text- and HTML-formatted exception traces such as that of
html_error_template() now report the correct source line inside the block, rather than the first line of the block itself. Exceptions in <%! ... %> blocks which get raised
while loading the module are still not reported correctly, as these are handled before the Mako code is generated.
OBS-URL: https://build.opensuse.org/request/show/719500
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=63
- update to 0.9.1:
- [bug] Fixed bug in Babel plugin where translator comments
would be lost if intervening text nodes were encountered.
Fix courtesy Ned Batchelder. [ticket: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. [ticket:224]
OBS-URL: https://build.opensuse.org/request/show/213703
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=24
- update to 0.9.0:
- [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().
[ticket: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.
[ticket:187]
- [bug] Using <%namespace import="*" module="somemodule"/> now
skips over module elements that are not explcitly callable,
avoiding TypeError when trying to produce partials.
[ticket:207]
- [bug] Fixed Py3K bug where a "lambda" expression was not
interpreted correctly within a template tag; also
fixed in Py2.4. [ticket:190]
OBS-URL: https://build.opensuse.org/request/show/197228
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=22
- update to 0.8.1:
- [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. [ticket:216]
- [bug] Fixed regression where "entity" filter wasn't
converted for py3k properly (added tests.)
[ticket:214]
- [bug] Fixed bug where mako-render script wasn't
compatible with Py3k. [ticket:212]
- [bug] Cleaned up all the various deprecation/
file warnings when running the tests under
various Pythons with warnings turned on.
[ticket:213]
- [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. [ticket:209]
- [bug] Change default for compile()->reserved_names
from tuple to frozenset, as this is expected to be
OBS-URL: https://build.opensuse.org/request/show/180867
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=20