You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed incorrect joining of leading undefineds or empty
strings in the |join filter. This was inconsistent with
Jinja2 and the filter itself for undefineds in other
positions. #794
Allow negative arguments to range function and change
range to isize. #799
Do not panic if too large templates (too many lines or too many
columns) are loaded. The error reporting will be wrong in those
cases but the templates will load. #742
Fixed a bug that caused unknown method callbacks to not get
proper error reporting if they cannot find a method. #743
Added merge_maps which is a dynamic version of the context!
merge feature, and fixed enumeration behavior when non-map objects
are attempted to be merged. #745
Added SemiStrict undefined mode that is like strict but allows
to be checked for truthiness. Additionally an if expression without
an else block will always produce a silent undefined object that
never errors for compatibility with Jinja2. #687
Make the trait bounds of ViaDeserialize stricter. Now the type
can only be constructed if the type implements DeserializeOwned.
This is not a new requirement for passing the function to add_function but bad code will now error earlier for better
error reporting. #689
Raise MSRV to 1.70.
The contrib crate now uses a basic xorrand implementation instead
of depending on all of the rand module. #696
Added temps, a way to stash away temporary state during rendering. #697
Fixed a bug that caused the random functions in the contrib crate
to not advance the RNG between calls. #698
Added Environment.undeclared_variables_in_template and Environnent.undeclared_variables_in_str to Python binding. #699
Enable loop_controls for Python in-line with the CLI. #704
Added Object::custom_cmp to allow objects to influence how they
compare against themselves. This also fixes Python objects in the
Python binding not to compare correctly. #707
Fixed a bug where undeclared_variables would incorrectly handle
variables referenced by macros. #714
Fixed a deadlock in the Python binding when multiple threads were
rendering from the same environment at once. #717
The Python bindings handle __bool__ correctly now for custom
objects in if-conditions and filters. #719
Fixed a bug where }} caused a syntax error in expressions with
open parentheses, braces or brackets. #723
Added State::known_variables to return a list of known variables
and Environment::globals. #724
Fixed an issue with undeclared variables not handling caller. #725
Removed unnecessary Filters and Tests traits. They remain as
hidden aliases to Function. #726
Fixed a bug that caused implicit string concatenation to not correctly
handle escapes. #728
Implemented constant folding in the code generator. #731
Improved error reporting for bad loop recursion calls. #734
The engine now uses smaller integers to represent columns, line numbers
and addresses. This cuts down on the memory usage needed for debug
information. #735
loop.nextitem is now a lazy operation. This prevents issues when
iterating over one-shot iterators combined with {% break %} and
it now ensures that the iterator is not running "one item ahead". #677
Fixed an issue that caused loop aliasing not to be supported for
recursive loops. #678
Some tests and filters now pass borrowed values for performance reasons
and a bug was fixed that caused undefined values in strict undefined
mode not to work with tests. #657
Fixed an error reporting issue for some syntax errors. #655
Removed an unsafe code block from the Kwargs type internally
which was probably unsafe. #659
Fix a regression with latest serde that caused internals to leak
out when flattening on value handles is used. #664
Added Value::make_object_map to create projections from object
into maps, similar to how it was already possible to create
iterators that were projected from objects. #663
The |items filter will no longer allocate a list and instead
return an iterator. #665
Fixed a bug that caused lstrip_blocks to act too eager. #674
Install minijinja-cli 2.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.6.0/minijinja-cli-installer.sh | sh
minijinja-cli now supports preservation of order in maps. #611
Fixed an issue where CBOR was not correctly deserialized in minijinja-cli. #611
Added a lines filter to split a string into lines.
Bytes are now better supported in MiniJinja. They can be created from Value::from_bytes without having to go via serde, and they are now
producing a nicer looking debug output. #616
Added argument splatting support (*args for variable args and **kwargs
for keyword arguments) and fixed a bug where sometimes maps and keyword
arguments were created in inverse order. #642
Install minijinja-cli 2.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.5.0/minijinja-cli-installer.sh | sh