Skip to content

Releases: askama-rs/askama

v0.15.4

28 Jan 22:22
92fd0be

Choose a tag to compare

What's Changed

Full Changelog: v0.15.3...v0.15.4

v0.15.3

27 Jan 23:36
69e7247

Choose a tag to compare

What's Changed

Full Changelog: v0.15.2...v0.15.3

v0.15.2

27 Jan 15:14
99438a7

Choose a tag to compare

What's Changed

  • Correctly handle local variables in extends blocks by @GuillaumeGomez in #670
  • Better spans for #[filter_fn] by @Kijewski in #655
  • Remove mentions of salvo by @Kijewski in #659
  • Add missing information in the Upgrading to new versions chapter in the askama book by @GuillaumeGomez in #665
  • Fix invalid block call warnings coming from extends by @GuillaumeGomez in #666
  • Update duplicated blocks warning message and add warning about not compiling starting next version by @GuillaumeGomez in #669
  • derive: allow where bounds in #[filter_fn] by @Kijewski in #672
  • [Book] Improve filters chapter by @Tirka in #673
  • [Book] Use more current markdown syntax for fragment links by @Kijewski in #658
  • [Book] Improve filters chapter examples (by making us of defined_or filter) by @Tirka in #675

New Contributors

Full Changelog: v0.15.1...v0.15.2

v0.15.1

28 Dec 19:34
04436eb

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.15.0...v0.15.1

v0.15.0

22 Dec 19:58
b251aeb

Choose a tag to compare

The main breaking change is about custom filters, they now require the filter_fn attribute. More information about it in the askama book.

(❗ = breaking change)

New features

Major internal changes

Improve error location to give better errors:

Other

  • filesizeformat with proper accuracy❗ by @seijikun in #568
  • Filters linebreaks, paragraphbreaks and linebreaksbr only need core by @Kijewski in #486
  • Emit an error if an extends block doesn't come first in a template by @GuillaumeGomez in #584

Book/documentation

Internal changes

Performance

  • Add missing #[inline] annotations by @Kijewski in #421
  • parser: un-inline error message generation by @Kijewski in #501
  • Refactor indent Filter Implementation by @strickczq in #466
  • Make wordcount filter work with core only by @GuillaumeGomez in #480
  • derive: un-inline Expr::Call handling for {{ expressions }} and remove parentheses by @Kijewski in #540
  • parser/derive: replaces usages of Expr/Node with Box<Expr>/Box<Node> by @Kijewski in #542
  • parser: remove one indirection in punction() finding by @Kijewski in #543
  • filter_fn: Aggressive inlining for builder invocation methods by @seijikun in #616
  • loop.first is known by being at index == 0 by @Kijewski in #436

Bugfixes

  • generator: remove invisible group from output by @Kijewski in #419
  • Relax Sized constraint on impl FastWritable for Cow by @C0D3-M4513R in #432
  • Ignore fuzzing corpus from source line count by @Kijewski in #433
  • Use unicode-ident to determine what is an identifier by @Kijewski in #443
  • derive: prefix more generated variables with __askama by @Kijewski in #444
  • derive: don't suppress fatal errors in integer parsing by @Kijewski in #448
  • Print invalid generated code during panic by @Kijewski in #446
  • Prevent crate to be used as identifier by @GuillaumeGomez in #450
  • Comparison operators cannot be chained by @Kijewski in #457
  • Correctly escape and reject macro names by @Kijewski in #460
  • parser: macro calls need proper tokens by @Kijewski in #468
  • Resolve with macro with call after caller by @pollend in #469
  • parser: recognize/reject prefixed ids and lits in macro calls by @Kijewski in #476
  • parser: reject illegal string literals by @Kijewski in #479
  • Rename LoopItem::index to LoopItem::index0 by @Kijewski in #481
  • parser: reject isolated CRs in string literals by @Kijewski in #483
  • parser: better error message for bare CRs by @Kijewski in #485
  • parser: U+10FFFF is the highest Unicode codepoint by @Kijewski in #484
  • parser: recognize comments in macro calls by @Kijewski in #487
  • parser: implement {% raw %} and Lit::parse() without skip_till by @Kijewski in #489
  • parser: fix {% raw %} for delimiters starting with - by @Kijewski in #491
  • parser: string literal must not be immediately followed by suffix# by @Kijewski in #496
  • parser: reject illegal raw identifiers in attribute access & ensure valid paths in generics by @Kijewski in #497
  • parser: understand nested block comments in macro calls by @Kijewski in #504
  • Fix panic when using include in call block by @seijikun in #516
  • parser: fix check_expr() recursion by @Kijewski in #519
  • parser: reject isolated CR in macro inputs, too by @Kijewski in #524
  • parser: reject bare CR in doc comments by @Kijewski in #526
  • Fix fuzzing macro argument parsing bug by @GuillaumeGomez in #530
  • derive: make EvaluatedResult know its unknown result by @Kijewski in #538
    ...
Read more

v0.14.0

23 Apr 15:56
95867ac

Choose a tag to compare

Added Features

Bug Fixes And Consistency

Further Changes

New Contributors

Full Changelog: v0.13.0...v0.14.0

v0.13.1

15 Apr 13:47
0b1c0e4

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.13.0...v0.13.1

rinja/v0.4.0+deprecated

29 Mar 17:54

Choose a tag to compare

New versions of rinja will be released under the name askama. Please update your dependencies from e.g. rinja = "0.3.5" to
askama = "0.13.0".

Useful information can be found in our upgrade guide, and in our blog post.

v0.13.0 – Rinja is Askama, again!

27 Mar 16:28

Choose a tag to compare

With this release, the fork rinja got merged back into the main project. Please have a look at our blog post for more information about the split and the merge.

What's Changed

This release (v0.13.0), when compared to the last stable askama release (v0.12.1), consists of:

  • over 1000 commits
  • with changes in over 500 files
  • with over 40k additions and 8000 deletions

Compared to rinja v0.3.5

Major added and improved features:

More added and improved features:

Removed features:

  • Remove EXTENSION constant from Template by @Kijewski in #252
  • parser: remove obsolete parser fuzzing by @Kijewski in #261
  • Remove integrations and MIME_TYPE guessing by @Kijewski in #271
  • parser: deny all rust keywords as target names and add gen to keywords by @Kijewski in #294

Performance:

  • Omit fmt::Formatter machinery in URL encoding by @Kijewski in #218
  • filters: don't collect into intermediate String if we can help it by @Kijewski in #235
  • parser: use built-in whitespace trimming by @Kijewski in #238
  • derive: some clean-ups and optimizations by @Kijewski in #260
  • parser: shrink the size of WithSpan to one register by @Kijewski in #257
  • derive: less format!(), shorter context on error by @Kijewski in #276
  • Speed-up HTML escaping a bit by @Kijewski in #301
  • Remove intermediate allocations for error messages by @Kijewski in #322
  • derive: some optimizations by @Kijewski in #338
  • Allow parallel compilation of serde and serde_derive by @Kijewski in #343

Safety and correctness:

Documentation, our book, and examples:

Testing:

Read more

v0.13.0-pre.0

19 Mar 21:59

Choose a tag to compare

v0.13.0-pre.0 Pre-release
Pre-release

What's Changed

This pre-release, when compared to the last stable askama release (v0.12.1), consists of:

  • over 1000 commits
  • with changes in over 500 files
  • with over 40k additions and 8000 deletions

Compared to rinja v0.3.5

Major added and improved features:

More added and improved features:

Removed features:

  • Remove EXTENSION constant from Template by @Kijewski in #252
  • parser: remove obsolete parser fuzzing by @Kijewski in #261
  • Remove integrations and MIME_TYPE guessing by @Kijewski in #271
  • parser: deny all rust keywords as target names and add gen to keywords by @Kijewski in #294

Performance:

  • Omit fmt::Formatter machinery in URL encoding by @Kijewski in #218
  • filters: don't collect into intermediate String if we can help it by @Kijewski in #235
  • parser: use built-in whitespace trimming by @Kijewski in #238
  • derive: some clean-ups and optimizations by @Kijewski in #260
  • parser: shrink the size of WithSpan to one register by @Kijewski in #257
  • derive: less format!(), shorter context on error by @Kijewski in #276
  • Speed-up HTML escaping a bit by @Kijewski in #301
  • Remove intermediate allocations for error messages by @Kijewski in #322
  • derive: some optimizations by @Kijewski in #338
  • Allow parallel compilation of serde and serde_derive by @Kijewski in #343

Safety and correctness:

  • parser: reject excessively long syntax delimiters by @Kijewski in #230
  • derive: reject unions as they require unsafe code by @Kijewski in #231
  • Canonicalize include paths before emitting by @Kijewski in #258
  • fix: normalize macro args on call (fixes #259) by @chrisp60 in #262
  • derive: a safe-guard to disable bindings a unit struct was expected by @Kijewski in #269
  • Canonicalize paths to ensure includes behave as expected when folders are involved by @LukeMathWalker in #289
  • derive: reserve variable prefix __rinja and free name writer by @Kijewski in #292
  • parser: use drop guards to track nesting level by @Kijewski in #297
  • parser: fix excessive filter blocks by @Kijewski in #304
  • parser: add missing level guard in if let by @Kijewski in #332
  • Replace from_utf8_unsafe() with AsciiStr by @Kijewski in #351
  • Allow variables inheritance in block by @GuillaumeGomez in #264

Documentation, our book, and examples:

Testing:

Migrate to from nom to winnow

  • Migrate to from Nom 7 to Winnow 0.3 by @epage in #209
  • Upgrade from Winnow 0.3 to 0.4 by @epage in #210
  • refactor(parser): Clean up prep for 0.5 by @epage in #213
  • refactor(parser): Clean up prep for 0.5 by @epage in #226
  • refactor(parser): Move off of deprecated re-export by @epage in #234
  • refactor(parser): Remove redundant closure by @epage in #242
  • refactor(parser): Be expl...
Read more