- Update to 1.3.8
* Reverted the fix for 🎫`140` released in Mako 1.3.7 as it produced
regressions in existing user code.
- from version 1.3.7
* During the lexical analysis phase, add an additional prefix for undeclared
identifiers that have the same name as built-in flags, and determine the
final filter to be used during the code generation phase based on the
context provided by the user. Pull request by Hai Zhu.
* Support the direct passing of dictionary literals when calling functions
and fix the errors caused by nested braces. This revises the fix that was
released in 1.3.4 and then reverted in 1.3.5. Pull request by Hai Zhu and
Jose Galvez.
OBS-URL: https://build.opensuse.org/request/show/1230021
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=113
* Fixed long standing bug where the sequence <& would be misinterpreted
by the lexer. It's not clear why the ampersand character was part of
the characters being consumed here and it may have been an inadvertent
bit of code from one of Mako's predecessor languages.
- Adjust upstream source name in spec file
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Mako?expand=0&rev=111
- update to 1.3.4:
* 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/request/show/1173914
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Mako?expand=0&rev=55
* 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
- update to 1.3.3:
* 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/request/show/1167721
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Mako?expand=0&rev=54
* 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
- update to 1.3.0:
* 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,
OBS-URL: https://build.opensuse.org/request/show/1131715
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Mako?expand=0&rev=51
* 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
- update to 1.2.3:
* 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/request/show/1007102
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Mako?expand=0&rev=48
* 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
- Update to 1.2.1:
* [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/request/show/989969
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Mako?expand=0&rev=46
* [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