Skip to content

0.12.0

Latest
Compare
Choose a tag to compare
@djc djc released this 06 Mar 08:45
· 326 commits to main since this release
417cb92

0.12.0

After 13 months of development, we're happy to announce the 0.12.0 release of Askama, the type safe, compiled Jinja-like template engine for Rust. For this release, @Kijewski contributed most of the changes -- @vallentin and @djc are the other team members. This releases comes with integrations for Actix-Web 4, Axum 0.6, Gotham 0.7, hyper 0.14, Tide 0.16 and Warp 0.3. We removed our Iron integration, since this framework no longer seems to be actively maintained.

Features

  • Add markdown filter (#622, #641)
  • Add suppress_whitespace config option (#664, thanks to @GuillaumeGomez)
  • Add minimize config for whitespace and add handling of ~ in the parser (#673, thanks to @GuillaumeGomez)
  • Implement basic hyper integration (#706)
  • Determine Content-Type at compile time (#863)
  • Parse tuple expressions (#608)
  • Allow comments in {% match %} (#616)
  • Expose the fact that templates implement Display (#654)
  • Allow {% endmacro name %} (#681, thanks to @Eijebong)
  • Enable tracking of the offending span of an error (#628)

Removed

  • Remove support for deprecated _parent field (#613)
  • Remove ext argument in integrations (#632)
  • Removed Iron integration (#595)

Fixes

  • Make capitalize filter Unicode-aware (#652, thanks to @Kl4rry)
  • Fail to parse if keyword is not longest identifier (#742)
  • Fix invalid check (#678, thanks to @GuillaumeGomez)
  • Fully qualify more paths in generated code (#601)
  • Make sure #[template] attribute is used exactly once (#603)
  • Fix json/yaml feature forwarding (#610, thanks to @jannik4)
  • Remove panic!() in loop.cycle([]) (#617)

Documentation

Internal improvements

  • Unify handling of calls (#614)
  • Optimize parsing of ranges (#597)
  • Remove unneeded external dependencies (630)
  • Move all template creation into askama_shared (#647)
  • Implement std::error::Error::source() (#655)
  • Move features into derive crate (#662, thanks to @genusistimelord)
  • Remove unsafe code from askama_escape (#665)
  • Expose features in integration crates (#688)
  • Add caching action to shrink CI times (#698, thanks to @ludicast)
  • Skip caching calls (#668)
  • Split contents of askama_shared crate into other crates (#677)
  • Parse &str instead of &[u8] (#541)
  • Move code generation into askama_derive (#687)
  • Refactor parser (#772)
  • Add derive for impl From<T: Template> for hyper::Body (#776, thanks to @valkum)
  • Replace toml_edit with basic-toml (#780)