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 forwhitespace
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!()
inloop.cycle([])
(#617)
Documentation
- Document macro import syntax (#691, thanks to @ojacobson)
- Fix minor issues in escape documentation (#734, thanks to @AndrolGenhald)
- Extend documentation for (#744, thanks to @saona-raimundo)
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)