Skip to content

build(deps): bump minijinja from 2.24.0 to 3.0.1 - #359

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/minijinja-3.0.1
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/minijinja-3.0.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 24, 2026

Copy link
Copy Markdown
Contributor

Bumps minijinja from 2.24.0 to 3.0.1.

Changelog

Sourced from minijinja's changelog.

3.0.1

  • The Python package is now also published as Pyodide wheels (PEP 783 pyemscripten platform tag) for Pyodide 0.29 and 314 so it can be installed with micropip.
  • The min and max filters now compare strings case-insensitively by default and accept the case_sensitive and attribute arguments for Jinja2 compatibility in Rust and Go. Previously ["b", "P", "n"]|max returned n where Jinja2 returns P, and passing either argument failed with too many arguments.
  • Added the default and base arguments to the int filter and the default argument to the float filter for Jinja2 compatibility in Rust and Go. If a default is given, it is returned for values that cannot be converted and for none instead of failing. In Go both filters now also reject undefined values with strict undefined behavior like in Rust. #962
  • Fixed the format filter ignoring keyword arguments in Go. Like in Rust they are passed as a trailing mapping and fill %(name)s specs.
  • Fixed whitespace control, lstrip_blocks and the end of line statements in Go only handling ASCII whitespace. Like in Rust they now handle all Unicode whitespace. Syntax errors about unexpected characters now show the character rather than its first byte.

3.0.0

MiniJinja 3 is a major release. It aligns template behavior and the value model more closely with Jinja2, makes Serde optional, makes mutable State the canonical way to call back into the engine, adds built-in automatic reloading of templates, reworks the JavaScript bindings and makes the Python bindings considerably faster. Errors involving undefined values and the debug info shown for errors were improved as well.

Most projects will need some changes when upgrading. See UPDATING.md for migration instructions. The changes below are relative to 2.24.0 and include everything from the 3.0.0 alpha releases.

Breaking Changes

  • Made serde optional, explicit and disabled by default. The rendering APIs, context! and args! now consume values and convert exclusively through Into<Value>. Serde conversion is requested with the new value::Serde wrapper which also replaces ViaDeserialize for deserializing function arguments. Value::from_serialize was removed. The deserialization feature was removed and is now part of the serde feature. Disabling the feature fully removes the dependency. #528
  • The json feature no longer depends on serde and serde_json. The tojson filter and JSON auto escaping now use a built-in JSON serializer. Invalid values now fail the serialization rather than being emitted as null. Floats are formatted like recent versions of serde_json do (for instance 1e+16 instead of 1e16). The speedups feature now uses zmij and itoa to format numbers in JSON; the output is the same without it.
  • Made mutable State the canonical path for functions, filters, tests, objects, methods, formatters, unknown method callbacks and nested macro calls. Read-only typed callbacks can continue to use &State; state mutation and dynamic calls now require &mut State. Added typed render-local extensions that persist through includes, blocks and macros. State::get_or_set_temp_object was removed in favor of these extensions.
  • Removed Rust APIs deprecated before 3.0: Template::render_and_return_state, Template::render_to_write, Template::eval_to_state, the Filter, Test, TestResult and ViaDeserialize aliases, value::intern and the no-op key_interning feature. The no-op loader feature was also removed; loader APIs remain available unconditionally.
  • Moved format_filter and FormatStyle from the crate root into the new formatting module and renamed format_filter to formatting::format.
  • Moved the trim_blocks, lstrip_blocks and keep_trailing_newline settings from Environment into SyntaxConfig. Added SyntaxConfig::to_builder to modify an existing configuration. Template introspection via Template::undeclared_variables now honors the whitespace settings. WhitespaceConfig was removed from the unstable_machinery APIs. #470
  • Removed the custom_syntax feature. Custom delimiters, line statements and line comments are now always available. The aho-corasick dependency was removed; start markers are now found with a simple scan which is as fast or faster and makes building a custom SyntaxConfig about 100 times faster.
  • Empty end delimiters are now rejected with ErrorKind::InvalidDelimiter.
  • Changed AutoEscape::Custom to hold a Cow<'static, str> so custom auto escape formats can be determined at runtime. AutoEscape is no longer Copy and State::auto_escape now returns a reference.
  • Changed Value function arguments to reject implicit keyword-argument values. Variadic functions that intentionally capture them can use ValueOrKwargs. #596
  • Added native Rust tuple conversions and Value::from_pairs. Collecting pairs directly into Value now creates a sequence of tuples rather than a map.
  • Iteration now consistently fails on invalid values that iterators yield to report errors. Previously only loops did this while filters such as list, join or sort, the in operator and serialization processed them like other items. The new ValueIter::checked helper provides the same behavior for custom code.
  • Environment::set_loader is now generic over the returned source, which can be a String or a TemplateSource. Closures that relied on type inference through .into() or only return Ok(None) need an explicit type.
  • Discontinued the minijinja-autoreload crate in favor of built-in automatic reloading (see below).

Template Behavior

These changes apply to Rust and Go and therefore also to the Python and JavaScript bindings.

  • Added first-class tuple literals and public tuple value types. Tuples now preserve their type through serialization and sequence operations, render like Python tuples, and roundtrip as tuples through the Python bindings. JavaScript receives evaluated tuples as arrays. #785
  • Changed sequence and map representations to use Python-style string quoting, and changed tojson to use Jinja2-compatible separator spacing. #785
  • Changed floor division and modulo to match Jinja2 semantics. #935
  • Changed division by zero to produce an error. #949
  • Changed the round filter to use round-half-even semantics and fixed decimal rounding edge cases. #948
  • Changed built-ins to treat booleans as numbers for Jinja2 compatibility. #950
  • Changed the sequence test to classify undefined values as sequences. #951

... (truncated)

Commits
  • 8fa0c87 chore(release): 3.0.1
  • 0ee03ba feat(py): build and publish Pyodide wheels
  • 31d761d fix(filters): compare case-insensitively in min and max (#966)
  • e1d29ab docs: fix inverted sort filter examples (#965)
  • a1aeca5 feat: add default and base arguments to int and float (#964)
  • 2a0f8a4 chore(ci): update github actions versions (#963)
  • 0c028d9 fix(go): handle unicode whitespace in the lexer like rust (#960)
  • 7924939 fix(go): pass keyword arguments to the format filter (#959)
  • e06fd82 meta: We moved past the AI disclaimer days
  • 9f3fcf3 docs: remove minijinja-2 branch note from readme
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [minijinja](https://github.com/mitsuhiko/minijinja) from 2.24.0 to 3.0.1.
- [Release notes](https://github.com/mitsuhiko/minijinja/releases)
- [Changelog](https://github.com/mitsuhiko/minijinja/blob/main/CHANGELOG.md)
- [Commits](mitsuhiko/minijinja@minijinja-go/v2.24.0...minijinja-go/v3.0.1)

---
updated-dependencies:
- dependency-name: minijinja
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants