Releases: mozilla/nunjucks
Releases · mozilla/nunjucks
v3.1.0
v3.0.1
- Fix handling methods and attributes of static arrays, objects and primitives. Solves the issue #937
- Add support for python-style array slices with Jinja compat enabled. Fixes #188; merge of #976.
- Fix call blocks having access to their parent scope. Fixes #906; merge of #994.
- Fix a bug that caused capturing block tags (e.g. set/endset, filter/endfilter) to write to the global buffer rather than capturing their contents. Fixes #914 and #972; merge of #990. Thanks Noah Lange.
v3.0.0
- Allow including many templates without reaching recursion limits. Merge of
#787. Thanks Gleb Khudyakov. - Allow explicitly setting
null
(akanone
) as the value of a variable;
don't ignore that value and look on up the frame stack or context. Fixes
#478. Thanks Jonny Gerig
Meyer for the report. - Execute blocks in a child frame that can't write to its parent. This means
that vars set inside blocks will not leak outside of the block, base
templates can no longer see vars set in templates that inherit them, and
super()
can no longer set vars in its calling scope. Fixes the inheritance
portion of #561, which
fully closes that issue. Thanks legutierr for the report. - Prevent macros from seeing or affecting their calling scope. Merge of
#667. - Fix handling of macro arg with default value which shares a name with another
macro. Merge of #791. - Add support for the spaces parameter in the dump template filter.
Merge of #868.
Thanks Jesse Eikema - Add
verbatim
as an alias ofraw
for compatibility with Twig.
Merge of #874. - Add new
nl2br
filter. Thanks Marc-Aurèle Darche - Add support for python's
list.append
with Jinja compat enabled. Thanks
Conor Flannigan. - Add variables whitespace control.
v2.5.2
v2.5.1
v2.5.0
- Add
elseif
as an alias ofelif
for parity with Twig. Thanks kswedberg.
Merge of #826. - Add nunjucks env to express app settings as
nunjucksEnv
.
Merge of #829. - Add support for finding an object's "length" in length filter.
Merge of #813. - Ensure that precompiling on Windows still outputs POSIX-style path
separators. Merge of #761. - Add support for strict type check comparisons (=== and !===). Thanks
oughter. Merge of #746. - Allow full expressions (incl. filters) in import and from tags. Thanks legutierr.
Merge of #710. - OS agnostic file paths in precompile. Merge of #825.
v2.4.3
v2.4.2
v2.4.1
Pay careful attention to the escaping fixes in this release; the escape
filter now won't double-escape strings that have already been escaped / marked safe. This matches the Jinja2 behavior.
- Don't double-escape. Thanks legutierr. Merge of
#701. - Prevent filter.escape from escaping SafeString. Thanks atian25. Merge of
#623. - Throw an error if a block is defined multiple times. Refs
#696. - Officially recommend the
.njk
extension. Thanks David Kebler. Merge of
#691. - Allow block-set to wrap an inheritance block. Unreported; fixed as a side
effect of the fix for #576. - Fix
filter
tag with non-trivial contents. Thanks Stefan Cruz and Fabien
Franzen for report and investigation, Jan Oopkaup for failing tests. Fixes
#576.
v2.4.0
Lots of great bugfixes and small new features in this release! Many thanks to all the contributors.
- Allow retrieving boolean-false as a global. Thanks Marius Büscher. Merge of
#694. - Don't automatically convert any for-loop that has an include statement into
an async loop. Reverts
7d4716f4fd, re-opens
#372, fixes
#527. Thanks Tom Delmas for
the report. - Switch from Optimist to Yargs for argument-parsing. Thanks Bogdan
Chadkin. Merge of #672. - Prevent includes from writing to their including scope. Merge of
#667 (only partially
backported to 2.x; macro var visibility not backported). - Fix handling of
dev
environment option, to get full tracebacks on errors
(including nunjucks internals). Thanks Tobias Petry and Chandrasekhar Ambula
V for the report, Aleksandr Motsjonov for draft patch. - Support using
in
operator to search in both arrays and objects,
and it will throw an error for other data types.
Fix #659.
Thanks Alex Mayfield for report and test, Ouyang Yadong for fix.
Merge of #661. - Add support for
{% set %}
block assignments as in jinja2. Thanks Daniele
Rapagnani. Merge of #656 - Fix
{% set %}
scoping within macros.
Fixes #577 and
the macro portion of #561.
Thanks Ouyang Yadong. Merge of #653. - Add support for named
endblock
(e.g.{% endblock foo %}
). Thanks
ricordisamoa. Merge of #641. - Fix
range
global with zero as stop-value. Thanks Thomas Hunkapiller. Merge
of #638. - Fix a bug in urlize that collapsed whitespace. Thanks Paulo Bu. Merge of
#637. - Add
sum
filter. Thanks Pablo Matías Lazo. Merge of
#629. - Don't suppress errors inside {% if %} tags. Thanks Artemy Tregubenko for
report and test, Ouyang Yadong for fix. Merge of
#634. - Allow whitespace control on comment blocks, too. Thanks Ouyang Yadong. Merge
of #632. - Fix whitespace control around nested tags/variables/comments. Thanks Ouyang
Yadong. Merge of #631.