Releases: sqlalchemy/mako
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.
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.1
Released: Mon Jan 20 2020
bug
-
[bug] [py3k] 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 introduced many years ago in Python 2.5, as
"parser.suite" is emitting deprecation warnings in Python 3.9.References: #310
-
[bug] [ext] Added "babel" and "lingua" dependency entries to the setuptools entrypoints
for the babel and lingua extensions, so that pkg_resources can check that
these extra dependencies are available, raising an informative
exception if not. Pull request courtesy sinoroc.References: #304