Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.11.2
->==3.1.5
By merging this PR, the below vulnerabilities will be automatically resolved:
Release Notes
pallets/jinja (Jinja2)
v3.1.5
Compare Source
Released 2024-12-21
str.format
, such asby passing a stored reference to a filter that calls its argument.
:ghsa:
q2x7-8rv6-6q7h
issues with names that contain f-string syntax.
:issue:
1792
, :ghsa:gmj6-6f8f-6699
clear
andpop
on known mutable sequencetypes. :issue:
2032
render
for an async template usesasyncio.run
.:pr:
1952
auto_aiter
warnings. :pr:1960
aclose
-ableAsyncGenerator
fromTemplate.generate_async
. :pr:1960
root_render_func()
unclosed inTemplate.generate_async
. :pr:1960
:pr:
1960
concat
function for the current environmentwhen calling block references. :issue:
1701
|unique
async-aware, allowing it to be used after anotherasync-aware filter. :issue:
1781
|int
filter handlesOverflowError
from scientific notation.:issue:
1921
{% set ... %}
call. :issue:
2021
copy
/pickle
/etc) interaction withUndefined
objects. :issue:
2025
copy
/pickle
support for the internalmissing
object.:issue:
2027
Environment.overlay(enable_async)
is applied correctly. :pr:2061
FileSystemLoader
includes the paths that weresearched. :issue:
1661
PackageLoader
shows a clearer error message when the package does notcontain the templates directory. :issue:
1705
1880
urlize
does not addmailto:
to values like@a@b
. :pr:1870
@pass_context`` can be used with the ``|select`` filter. :issue:
1624`set
for multiple assignment (a, b = 1, 2
) does not fail when thetarget is a namespace attribute. :issue:
1413
set
in all branches of{% if %}{% elif %}{% else %}
blocksdoes not cause the variable to be considered initially undefined.
:issue:
1253
v3.1.4
Compare Source
Released 2024-05-05
xmlattr
filter does not allow keys with/
solidus,>
greater-than sign, or
=
equals sign, in addition to disallowing spaces.Regardless of any validation done by Jinja, user input should never be used
as keys to this filter, or must be separately validated first.
:ghsa:
h75v-3vvj-5mfj
v3.1.3
Compare Source
Released 2024-01-10
empty. :pr:
1858
xmlattr
filter does not allow keys with spaces. :ghsa:h5c8-rqwp-cp95
{% trans %}
blocksmore helpful. :pr:
1918
v3.1.2
Compare Source
Released 2022-04-28
Environment.overlay
to match__init__
.:issue:
1645
FileSystemBytecodeCache
. :issue:1654
v3.1.1
Compare Source
Released 2022-03-25
:issue:
1637
v3.1.0
Compare Source
Released 2022-03-24
Drop support for Python 3.6. :pr:
1534
Remove previously deprecated code. :pr:
1544
WithExtension
andAutoEscapeExtension
are built-in now.contextfilter
andcontextfunction
are replaced bypass_context
.evalcontextfilter
andevalcontextfunction
are replaced bypass_eval_context
.environmentfilter
andenvironmentfunction
are replacedby
pass_environment
.Markup
andescape
should be imported from MarkupSafe.recompiled.
Context
subclasses is no longersupported. Override
resolve_or_missing
instead ofresolve
.unicode_urlencode
is renamed tourl_quote
.Add support for native types in macros. :issue:
1510
The
{% trans %}
tag can usepgettext
andnpgettext
bypassing a context string as the first token in the tag, like
{% trans "title" %}
. :issue:1430
Update valid identifier characters from Python 3.6 to 3.7.
:pr:
1571
Filters and tests decorated with
@async_variant
are pickleable.:pr:
1612
Add
items
filter. :issue:1561
Subscriptions (
[0]
, etc.) can be used after filters, tests, andcalls when the environment is in async mode. :issue:
1573
The
groupby
filter is case-insensitive by default, matchingother comparison filters. Added the
case_sensitive
parameter tocontrol this. :issue:
1463
Windows drive-relative path segments in template names will not
result in
FileSystemLoader
andPackageLoader
loading fromdrive-relative paths. :pr:
1621
v3.0.3
Compare Source
Released 2021-11-09
:issue:
1535
when parsing values on Python 3.10. :pr:
1537
:issue:
1514
hash(Node)
behavior. Nodes are hashed by idagain :issue:
1521
PackageLoader
works when the package is a single module file.:issue:
1512
v3.0.2
Compare Source
Released 2021-10-04
to still be referenced outside of it. :issue:
1427
compile_templates
deterministic for filter and importnames. :issue:
1452, 1453
Undefined
to act likeStrictUndefined
for thein
operator. :issue:1448
environments. :issue:
1494
PackageLoader
will not include a current directory (.) pathsegment. This allows loading templates from the root of a zip
import. :issue:
1467
v3.0.1
Compare Source
Released 2021-05-18
1418
imports in user projects. :issue:
1426
1433
autoescape
andwith_
extensions shows more relevant context. :issue:
1429
jinja2.Markup
without an argument.Use
markupsafe.Markup
instead. :issue:1438
render
for an async template usesasyncio.new_event_loop
This fixes a deprecation that Python 3.10 introduces. :issue:
1443
v3.0.0
Compare Source
Released 2021-05-11
Drop support for Python 2.7 and 3.5.
Bump MarkupSafe dependency to >=1.1.
Bump Babel optional dependency to >=2.1.
Remove code that was marked deprecated.
Add type hinting. :pr:
1412
Use :pep:
451
API to load templates with:class:
~loaders.PackageLoader
. :issue:1168
Fix a bug that caused imported macros to not have access to the
current template's globals. :issue:
688
Add ability to ignore
trim_blocks
using+%}
. :issue:1036
Fix a bug that caused custom async-only filters to fail with
constant input. :issue:
1279
Fix UndefinedError incorrectly being thrown on an undefined variable
instead of
Undefined
being returned onNativeEnvironment
on Python 3.10. :issue:1335
Blocks can be marked as
required
. They must be overridden atsome point, but not necessarily by the direct child. :issue:
1147
Deprecate the
autoescape
andwith
extensions, they arebuilt-in to the compiler. :issue:
1203
The
urlize
filter recognizesmailto:
links and takesextra_schemes
(orenv.policies["urlize.extra_schemes"]
) torecognize other schemes. It tries to balance parentheses within a
URL instead of ignoring trailing characters. The parsing in general
has been updated to be more efficient and match more cases. URLs
without a scheme are linked as
https://
instead ofhttp://
.:issue:
522, 827, 1172
, :pr:1195
Filters that get attributes, such as
map
andgroupby
, canuse a false or empty value as a default. :issue:
1331
Fix a bug that prevented variables set in blocks or loops from
being accessed in custom context functions. :issue:
768
Fix a bug that caused scoped blocks from accessing special loop
variables. :issue:
1088
Update the template globals when calling
Environment.get_template(globals=...)
even if the template wasalready loaded. :issue:
295
Do not raise an error for undefined filters in unexecuted
if-statements and conditional expressions. :issue:
842
Add
is filter
andis test
tests to test if a name is aregistered filter or test. This allows checking if a filter is
available in a template before using it. Test functions can be
decorated with
@pass_environment
,@pass_eval_context
,or
@pass_context
. :issue:842
, :pr:1248
Support
pgettext
andnpgettext
(message contexts) in i18nextension. :issue:
441
The
|indent
filter'swidth
argument can be a string toindent by. :pr:
1167
The parser understands hex, octal, and binary integer literals.
:issue:
1170
Undefined.__contains__
(in
) raises anUndefinedError
instead of a
TypeError
. :issue:1198
Undefined
is iterable in an async environment. :issue:1294
NativeEnvironment
supports async mode. :issue:1362
Template rendering only treats
\n
,\r\n
and\r
as linebreaks. Other characters are left unchanged. :issue:
769, 952, 1313
|groupby
filter takes an optionaldefault
argument.:issue:
1359
The function and filter decorators have been renamed and unified.
The old names are deprecated. :issue:
1381
pass_context
replacescontextfunction
andcontextfilter
.pass_eval_context
replacesevalcontextfunction
andevalcontextfilter
pass_environment
replacesenvironmentfunction
andenvironmentfilter
.Async support no longer requires Jinja to patch itself. It must
still be enabled with
Environment(enable_async=True)
.:issue:
1390
Overriding
Context.resolve
is deprecated, overrideresolve_or_missing
instead. :issue:1380
v2.11.3
Compare Source
Released 2021-01-31
urlize
filter by reducing regexbacktracking. Email matching requires a word character at the start
of the domain part, and only word characters in the TLD. :pr:
1343