Skip to content

Releases: mitsuhiko/minijinja

2.3.1

17 Sep 20:46
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.3.0

16 Sep 17:44
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.2.0

26 Aug 20:18
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.1.2

09 Aug 08:52
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.1.1

31 Jul 16:41
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.1.0

22 Jul 21:24
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.0.3

02 Jul 11:09
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.0.2

11 Jun 09:55
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.0.1

28 Apr 18:45
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

2.0.0

28 Apr 11:46
Compare
Choose a tag to compare

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

File Platform Checksum
minijinja-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minijinja-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
minijinja-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
minijinja-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minijinja-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum