Releases: mitsuhiko/minijinja
Releases · mitsuhiko/minijinja
2.3.1
Release Notes
- Fixes a regresion in
PartialEq
/ Eq
in Value
caused by changes
in 2.3.0. #584
Install minijinja-cli 2.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.3.1/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.3.1/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.3.1
2.3.0
Release Notes
- Fixes some compiler warnings in Rust 1.81. #575
- Fixes incorrect ordering of maps when the keys of those maps
were not in consistent order. #569
- Implemented the missing
groupby
filter. #570
- The
unique
filter now is case insensitive by default like in
Jinja2 and supports an optional flag to make it case sensitive.
It also now lets one check individual attributes instead of
values. #571
- Changed sort order of
Ord
to avoid accidentally non total order
that could cause panics on Rust 1.81. #579
- Added a
Value::is_integer
method to allow a user to tell floats
and true integers apart. #580
Install minijinja-cli 2.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.3.0/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.3.0/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.3.0
2.2.0
Release Notes
- Fixes a bug where some enums did not deserialize correctly when
used with ViaDeserialize
. #554
- Implemented
IntoDeserializer
for Value
and &Value
. #555
- Added
filesizeformat
to minijinja-contrib. #556
- Added support for the
loop_controls
feature which adds
{% break %}
and {% continue %}
. #558
- Iterables can now be indexed into. It was already possible previously
to slice them. This improves support for Jinja2 compatibility as Jinja2
is more likely to create temporary lists when slicing lists. #565
Install minijinja-cli 2.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.2.0/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.2.0/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.2.0
2.1.2
Release Notes
- Flush filter and test cache when processing extended template.
This fixes a bug that caused the wrong filters to be used in some
cases. #551
Install minijinja-cli 2.1.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.1.2/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.1.2/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.1.2
2.1.1
Release Notes
- Added
indent
parameter to tojson
filter. #546
- Added
randrange
, lipsum
, random
, cycler
and joiner
to
minijinja-contrib
. #547
- Added the ability to use
&T
and Arc<T>
as parameters
to filters and functions if T
is an Object
. #548
minijinja-cli
now also enables the datetime, timezone and rand features. #549
- Aligned the behavior of the
int
filter closer to Jinja2. #549
Install minijinja-cli 2.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.1.1/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.1.1/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.1.1
2.1.0
Release Notes
- minijinja-cli now supports
.ini
files. #532
- Fixed a bug that caused cycle detection to trigger incorrectly when an included
template extended from another template. #538
- Bumped the minimum version of
self_cell
to 1.0.4. #540
- MiniJinja will now warn if the
serde
feature is disabled. This is in
anticipation of removing the serde dependency in the future. #541
- Improved an edge case with
State::resolve
. It now can resolve the
initial template context in macro calls even if no closure has been
created. #542
Install minijinja-cli 2.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.1.0/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.1.0/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.1.0
2.0.3
Release Notes
- Added new methods to pycompat:
str.endswith
, str.rfind
,
str.isalnum
, str.isalpha
, str.isascii
, str.isdigit
,
str.isnumeric
, str.join
, str.startswith
. #522
- Added the missing tests
boolean
, divisibleby
, lower
and upper
. #592
- minijinja-cli now supports YAML aliases and merge keys. #531
Install minijinja-cli 2.0.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.0.3/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.0.3/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.0.3
2.0.2
Release Notes
- Implemented sequence (+ some iterator) and string repeating with the
*
operator to match Jinja2 behavior. #519
- Added the new
minijinja::pycompat
module which allows one to register
an unknown method callback that provides most built-in Python methods.
This makes things such as dict.keys
work. Also adds a new
--py-compat
flag to minijinja-cli
that enables it. This improves
the compatibility with Python based templates. #521
- Added a new
|split
filter that works like the .split
method in Python. #517
Install minijinja-cli 2.0.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.0.2/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.0.2/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.0.2
2.0.1
Release Notes
- Fixed an issue that caused custom delimiters to not work in the Python
binding. #506
Install minijinja-cli 2.0.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.0.1/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.0.1/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.0.1
2.0.0
Release Notes
This is a major update to MiniJinja that changes a lot of core internals and
cleans up some APIs. In particular it resolves somes limitations in the engine
in relation to working with dynamic objects, unlocks potentials for future
performance improvments and enhancements.
It's very likely that you will need to do changes to your code when upgrading,
particular when implementing dynamic objects. In short:
StructObject
and SeqObject
are gone. They have been replaced by improved
APIs directly on Object
. Please refer to the updated documentation to see
how these objects behave now. For the most part code should become quite a bit
clearer during the upgrade.
ObjectKind
has been replaced by ObjectRepr
. Rather than holding a reference
to a StructObject
or SeqObject
this now is a simple enum that just indicates
how that object serializes, renders and behaves.
Object
no longer uses fmt::Display
for rendering. Instead the new
Object::render
method is used which has a default implementation.
- The
Object
trait has been completely transformed and the new type-erased type
DynObject
has been added to work with unknown objects. This trait has an
improved user experience and more flexibility. It's now possible to implement
any non-primitive value type including maps with non string keys which was previously
not possible.
ValueKind
is now non exhaustive and got a log of new value types. This resolves
various issues in particular in relationship with iterators. As a result of this
functions will no longer accidentally serialize into empty objects for example.
Value::from_iterator
has been replaced by the new Value::make_iterable
,
Value::make_object_iterable
and Value::make_one_shot_iterator
. The direct
replacement is Value::make_one_shot_iterator
but for most uses it's strongly
recommended to use one of the other APIs instead. This results in a much improved
user experience as it's possible to iterate over such values more than once.
- The
Syntax
type has been replaced by the SyntaxConfig
type. It uses a builder
pattern to reconfigure the delimiters.
For upgrade instructions read the UPDATING guide.
Other Changes:
- Added a new
Environment::templates
method that iterates over loaded templates. #471
- Reverse iteration and slicing now return iterables instead of real sequences.
- The engine no longer reports iterable as sequences.
- The value iterator returned by
Value::try_iter
now holds a reference
to the Value
internally via reference counting.
DynObject
now replaces Arc<Object>
.
- The debug printing of some objects was simplified.
- Added the
iterable
test. #475
- The parser no longer panics when using dotted assignments in unexpected places. #479
- The CLI now enables unicode support by default.
Value::from_serializable
is now Value::from_serialize
.
- Ranges are now iterables and no longer sequences and their maximum number of iterations
was raised to 100000. #493
Value::from
is now implemented for Error
as public API to create invalid values.
Previously this behavior was hidden internally in the serde support. #495
UndefinedBehavior::Strict
now acts more delayed. This means that now value.key is defined
- Added support for line statements and comments. #503
- The CLI now accepts
--syntax
to reconfigure syntax flags such as delimiters. #504
Install minijinja-cli 2.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.0.0/minijinja-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/2.0.0/minijinja-cli-installer.ps1 | iex"
Download minijinja-cli 2.0.0