Releases: sqlalchemy/mako
1.2.4
1.2.4
Released: Tue Nov 15 2022
bug
-
[bug] [codegen] Fixed issue where unpacking nested tuples in a for loop using would raise a
"couldn't apply loop context" error if the loop context was used. The regex
used to match the for loop expression now allows the list of loop variables
to contain parenthesized sub-tuples. Pull request courtesy Matt Trescott.References: #368
1.2.3
1.2.3
Released: Thu Sep 22 2022
bug
-
[bug] [lexer] 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.References: #367
1.2.2
1.2.2
Released: Mon Aug 29 2022
bug
-
[bug] [lexer] Fixed issue in lexer where the regexp used to match tags would not
correctly interpret quoted sections individually. While this parsing issue
still produced the same expected tag structure later on, the mis-handling
of quoted sections was also subject to a regexp crash if a tag had a large
number of quotes within its quoted sections.References: #366
1.2.1
1.2.1
Released: Thu Jun 30 2022
bug
-
[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.References: #360
misc
-
[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.References: #361
1.2.0
1.2.0
Released: Thu Mar 10 2022
changed
-
[changed] [py3k] Corrected "universal wheel" directive in
setup.cfg
so that building a
wheel does not target Python 2.References: #351
-
[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
internalFastEncodingBuffer
exclusively. -
[changed] [py3k] Removed
disable_unicode
flag, that's no longer used in Python 3. -
[changed] Refactored test utilities into
mako.testing
module. Removed
unittest.TestCase
dependency in favor ofpytest
.References: #349
-
[changed] [setup] Replaced the use of
pkg_resources
with theimportlib
library.
For Python < 3.8 the libraryimportlib_metadata
is used. -
[changed] [py3k] Removed support for Python 2 and Python 3.6. Mako now requires Python >=
3.7.
bug
- [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.