Skip to content

Releases: mitsuhiko/minijinja

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

1.0.21

24 Apr 08:09
Compare
Choose a tag to compare

Release Notes

  • Fixed an issue where lstrip_blocks unintentionally also applied to
    variable expression blocks. #502

Install minijinja-cli 1.0.21

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/1.0.21/minijinja-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/1.0.21/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 1.0.21

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-alpha.0

12 Apr 21:46
Compare
Choose a tag to compare
2.0.0-alpha.0 Pre-release
Pre-release

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

Install minijinja-cli 2.0.0-alpha.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/2.0.0-alpha.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-alpha.0/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 2.0.0-alpha.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

1.0.20

10 Apr 21:21
Compare
Choose a tag to compare

Release Notes

  • Added support for implicit string concatenation for Jinja2 compatibility. #489
  • Added support for sequence concatenation with the plus operator for Jinja2 compatibility. #491

Install minijinja-cli 1.0.20

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/1.0.20/minijinja-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/1.0.20/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 1.0.20

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

1.0.19

10 Apr 10:21
Compare
Choose a tag to compare

Release Notes

  • Deprecated Value::from_iterator and introduced replacement
    Value::make_one_shot_iterator API which also exists in 2.x. #487

Install minijinja-cli 1.0.19

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/1.0.19/minijinja-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/1.0.19/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 1.0.19

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

1.0.18

09 Apr 16:55
Compare
Choose a tag to compare

Release Notes

  • Fixed an endless loop in undeclared_variables. #486

Install minijinja-cli 1.0.18

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/1.0.18/minijinja-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/1.0.18/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 1.0.18

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

1.0.17

08 Apr 18:47
Compare
Choose a tag to compare

Release Notes

  • Added support for Option<Into<Value>> as return value from
    functions. #452
  • Deprecated Value::from_serializable for the improved replacement
    method Value::from_serialize. #482

Install minijinja-cli 1.0.17

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/1.0.17/minijinja-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/1.0.17/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 1.0.17

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

1.0.16

27 Mar 15:12
Compare
Choose a tag to compare

Release Notes

  • Tolerate underscores in number literals. #443
  • Added support for trim_blocks and lstrip_blocks for Jinja2
    compatibility. #447
  • Changed API of unstable_machinery. The tokenize function got an
    extra argument for the WhitespaceConfig. It's however recommended
    to use the new Tokenizer struct instead. parse_expr was added,
    the parse function now takes a SyntaxConfig and WhitespaceConfig. #447

Install minijinja-cli 1.0.16

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/minijinja/releases/download/1.0.16/minijinja-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/mitsuhiko/minijinja/releases/download/1.0.16/minijinja-cli-installer.ps1 | iex"

Download minijinja-cli 1.0.16

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