Update dependency Jinja2 to v3 #16
Open
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.10.1->==3.1.4By merging this PR, the below vulnerabilities will be automatically resolved:
Release Notes
pallets/jinja (Jinja2)
v3.1.4Compare Source
Released 2024-05-05
xmlattrfilter 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-5mfjv3.1.3Compare Source
Released 2024-01-10
empty. :pr:
1858xmlattrfilter does not allow keys with spaces. :ghsa:h5c8-rqwp-cp95{% trans %}blocksmore helpful. :pr:
1918v3.1.2Compare Source
Released 2022-04-28
Environment.overlayto match__init__.:issue:
1645FileSystemBytecodeCache. :issue:1654v3.1.1Compare Source
Released 2022-03-25
:issue:
1637v3.1.0Compare Source
Released 2022-03-24
Drop support for Python 3.6. :pr:
1534Remove previously deprecated code. :pr:
1544WithExtensionandAutoEscapeExtensionare built-in now.contextfilterandcontextfunctionare replaced bypass_context.evalcontextfilterandevalcontextfunctionare replaced bypass_eval_context.environmentfilterandenvironmentfunctionare replacedby
pass_environment.Markupandescapeshould be imported from MarkupSafe.recompiled.
Contextsubclasses is no longersupported. Override
resolve_or_missinginstead ofresolve.unicode_urlencodeis renamed tourl_quote.Add support for native types in macros. :issue:
1510The
{% trans %}tag can usepgettextandnpgettextbypassing a context string as the first token in the tag, like
{% trans "title" %}. :issue:1430Update valid identifier characters from Python 3.6 to 3.7.
:pr:
1571Filters and tests decorated with
@async_variantare pickleable.:pr:
1612Add
itemsfilter. :issue:1561Subscriptions (
[0], etc.) can be used after filters, tests, andcalls when the environment is in async mode. :issue:
1573The
groupbyfilter is case-insensitive by default, matchingother comparison filters. Added the
case_sensitiveparameter tocontrol this. :issue:
1463Windows drive-relative path segments in template names will not
result in
FileSystemLoaderandPackageLoaderloading fromdrive-relative paths. :pr:
1621v3.0.3Compare Source
Released 2021-11-09
:issue:
1535when parsing values on Python 3.10. :pr:
1537:issue:
1514hash(Node)behavior. Nodes are hashed by idagain :issue:
1521PackageLoaderworks when the package is a single module file.:issue:
1512v3.0.2Compare Source
Released 2021-10-04
to still be referenced outside of it. :issue:
1427compile_templatesdeterministic for filter and importnames. :issue:
1452, 1453Undefinedto act likeStrictUndefinedfor theinoperator. :issue:1448environments. :issue:
1494PackageLoaderwill not include a current directory (.) pathsegment. This allows loading templates from the root of a zip
import. :issue:
1467v3.0.1Compare Source
Released 2021-05-18
1418imports in user projects. :issue:
14261433autoescapeandwith_extensions shows more relevant context. :issue:
1429jinja2.Markupwithout an argument.Use
markupsafe.Markupinstead. :issue:1438renderfor an async template usesasyncio.new_event_loopThis fixes a deprecation that Python 3.10 introduces. :issue:
1443v3.0.0Compare 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:
1412Use :pep:
451API to load templates with:class:
~loaders.PackageLoader. :issue:1168Fix a bug that caused imported macros to not have access to the
current template's globals. :issue:
688Add ability to ignore
trim_blocksusing+%}. :issue:1036Fix a bug that caused custom async-only filters to fail with
constant input. :issue:
1279Fix UndefinedError incorrectly being thrown on an undefined variable
instead of
Undefinedbeing returned onNativeEnvironmenton Python 3.10. :issue:1335Blocks can be marked as
required. They must be overridden atsome point, but not necessarily by the direct child. :issue:
1147Deprecate the
autoescapeandwithextensions, they arebuilt-in to the compiler. :issue:
1203The
urlizefilter 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:1195Filters that get attributes, such as
mapandgroupby, canuse a false or empty value as a default. :issue:
1331Fix a bug that prevented variables set in blocks or loops from
being accessed in custom context functions. :issue:
768Fix a bug that caused scoped blocks from accessing special loop
variables. :issue:
1088Update the template globals when calling
Environment.get_template(globals=...)even if the template wasalready loaded. :issue:
295Do not raise an error for undefined filters in unexecuted
if-statements and conditional expressions. :issue:
842Add
is filterandis testtests 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:1248Support
pgettextandnpgettext(message contexts) in i18nextension. :issue:
441The
|indentfilter'swidthargument can be a string toindent by. :pr:
1167The parser understands hex, octal, and binary integer literals.
:issue:
1170Undefined.__contains__(in) raises anUndefinedErrorinstead of a
TypeError. :issue:1198Undefinedis iterable in an async environment. :issue:1294NativeEnvironmentsupports async mode. :issue:1362Template rendering only treats
\n,\r\nand\ras linebreaks. Other characters are left unchanged. :issue:
769, 952, 1313|groupbyfilter takes an optionaldefaultargument.:issue:
1359The function and filter decorators have been renamed and unified.
The old names are deprecated. :issue:
1381pass_contextreplacescontextfunctionandcontextfilter.pass_eval_contextreplacesevalcontextfunctionandevalcontextfilterpass_environmentreplacesenvironmentfunctionandenvironmentfilter.Async support no longer requires Jinja to patch itself. It must
still be enabled with
Environment(enable_async=True).:issue:
1390Overriding
Context.resolveis deprecated, overrideresolve_or_missinginstead. :issue:1380v2.11.3Compare Source
Released 2021-01-31
urlizefilter by reducing regexbacktracking. Email matching requires a word character at the start
of the domain part, and only word characters in the TLD. :pr:
1343v2.11.2Compare Source
Released 2020-04-13
__getattr__, like:class:
~unittest.mock.Mockto be treated as a:func:
contextfunction. :issue:1145wordcountfilter to trigger :class:Undefinedmethodsby wrapping the input in :func:
soft_str. :pr:1160:issue:
1162AttributeErroron access doesn't cause a recursion error.:issue:
1177~loaders.PackageLoaderfrom 2.10 whichremoved the dependency on setuptools and pkg_resources, and added
limited support for namespace packages. The changes caused issues
when using Pytest. Due to the difficulty in supporting Python 2 and
:pep:
451simultaneously, the changes are reverted until 3.0.:pr:
1182:pr:
1178namespace()assignment object in templates works inasync environments. :issue:
1180lstrip_blocksis enabled. :issue:1138~nativetypes.NativeEnvironmentdoesn't evaluateintermediate strings during rendering. This prevents early
evaluation which could change the value of an expression.
:issue:
1186v2.11.1Compare Source
Released 2020-01-30
(
{{ data.items[1:] }}) in an async template. :issue:1141v2.11.0Compare Source
Released 2020-01-27
version to support Python 2.7 and 3.5.
ChainableUndefinedclass to support getitem andgetattr on an undefined object. :issue:
977{%+syntax (with NOP behavior) whenlstrip_blocksisdisabled. :issue:
748defaultparameter for themapfilter. :issue:557:func:
meta.find_undeclared_variables. :issue:9312.56e-3. :issue:
912, :pr:922legibility, like 12_345. :pr:
923LRUCache.setdefault. :pr:1000trimfilter takes an optional string of characters to trim.:pr:
828jinja2.ext.debugextension adds a{% debug %}tag toquickly dump the current context and available filters and tests.
:issue:
174, :pr:798, 983:issue:
857, :pr:858{{ 2 * (3 < 5) }}outputs "2" instead of "False".:issue:
755, :pr:938boolean,false,true,integerandfloattests. :pr:
824finalizefunction is only applied to theoutput of expressions (constant or not), not static template data.
:issue:
63FileSystemLoader, a templatecan have the same name as a directory. :issue:
821Undefinedwhen omitting theelseclausein a
{{ 'foo' if bar }}expression, regardless of theenvironment's
undefinedclass. Omitting theelseclause is avalid shortcut and should not raise an error when using
:class:
StrictUndefined. :issue:710, :pr:1079loopcontrol variables such aslengthandrevindex0when looping over a generator. :issue:459, 751, 794,:pr:
993it, in order to avoid a slow initial import. :issue:
765|mapfilter will await the filtercall if needed. :pr:
913loopattributes, the iterator is notadvanced ahead of the current iteration unless
length,revindex,nextitem, orlastare accessed. This makes itless likely to break
groupbyresults. :issue:555, :pr:1101loopattributeslengthandrevindexwork for async iterators. :pr:1101be awaited if needed. :pr:
1101~loader.PackageLoaderdoesn't depend on setuptools orpkg_resources. :issue:
970PackageLoaderhas limited support for :pep:420namespacepackages. :issue:
1097os.PathLikeobjects in:class:
~loader.FileSystemLoaderand :class:~loader.ModuleLoader.:issue:
870~nativetypes.NativeTemplatecorrectly handles quotesbetween expressions.
"'{{ a }}', '{{ b }}'"renders as the tuple('1', '2')rather than the string'1, 2'. :issue:1020~nativetypes.NativeTemplatedirectly creates a:class:
~nativetypes.NativeEnvironmentinstead of a default:class:
Environment. :issue:1091LRUCache.copy(), the copy's queue methods point tothe correct queue. :issue:
843system encoding. :issue:
889|wordwrapfilter treats existing newlines as separate paragraphsto be wrapped individually, rather than creating short intermediate
lines. :issue:
175break_on_hyphensparameter to|wordwrapfilter.:issue:
550passed the context. :pr:
1108the result follows Python's behavior of returning
Falseif anycomparison returns
False, rather than only the last one.:issue:
1102and source for Python >= 3.7. :issue:
1104internal compiler frames. :issue:
763DerivedContextReferencenode that can be used byextensions to get the current context and local variables such as
loop. :issue:860that were previously overlooked. :issue:
733TemplateSyntaxError.sourceis not empty when raised from anincluded template. :issue:
457Undefinedvalue toget_template(such as throughextends,import, orinclude), raises anUndefinedErrorconsistently.select_templatewill show theundefined message in the list of attempts rather than the empty
string. :issue:
1037TemplateSyntaxErrorcan be pickled. :pr:1117v2.10.3Compare Source
Released 2019-10-04
setup.pythat was preventinginstallation.
v2.10.2Compare Source
Released 2019-10-04
rangein the sandboxed environment usesxrangeonPython 2 to avoid memory use. :issue:
933using debug builds of Python 3.7. :issue:
1050