askama v0.10.0 Release Notes

Release Date: 2020-06-30 // 5 months ago
  • ๐Ÿ“š After 5 months of development, I'm happy to announce the availability of version 0.10 of Askama, the type-safe, compiled Jinja-like template engine for Rust. The major (breaking) change in this release is that the framework integrations, which were previously included in the main crate behind feature flags, have now been moved into 4 separate crates; a new integration with the warp web framework is also shipped in a separate askama_warp crate. If you use an integration, you should now only depend on the integration crate, which re-exports content from the askama crate as well as any integration symbols. Finally, @cetra3 has created a book book which should make navigating the documentation much better.

    โฌ†๏ธ Upgrade notes:

    • Move integration code into askama_actix, askama_gotham, askama_iron and askama_rocket crates
    • โšก๏ธ Update Gotham integration to version 0.4

    Other changes:

    • ๐Ÿ“š Move documentation into a new book (#332, thanks to @Cetra)
    • โž• Add integration for the warp web framework, as an askama_warp crate (#290, thanks to @aeons)
    • ๐Ÿ‘ Allow blocks to be nested inside if, for and match blocks (#336)
    • ๐Ÿ‘Œ Support for function calls (#304, thanks to @Senzaki)
    • โž• Add urlencode filter (#305, thanks to @jxs)
    • 0๏ธโƒฃ Disable default features in many dependencies to limit the size of the transitive dependency set
    • ๐Ÿ›  Fix panic in truncate filter (#296, thanks to @danloh)

    Thanks to @paolobarbolini, @brunobell, @cipriancraciun, @kyrias, @jeromegn, @NilsIrl and @DusterTheFirst for additional improvements.


Previous changes from v0.9.0

  • ๐Ÿš€ After 11 months of development, I'm happy to announce the availability of version 0.8 of Askama, the type-safe, compiled Jinja-like template engine for Rust. This has been a long release cycle; mostly I've spent quite a bit of time trying to figure out problems with how to manage Askama's built-in integrations. In the end, 0.9.0 shipped with the integrations problems unsolved, but they were solved shortly thereafter.

    โฌ†๏ธ Upgrade notes:

    • ๐Ÿšš Move no-receiver size_hint() method to a separate trait (#270, thanks to @jbg)
    • โฌ†๏ธ Upgrade Actix-Web integration to Actix-Web 2.0 (#286, thanks to @DCjanus)
    • 0๏ธโƒฃ Default Actix-Web and Gotham integrations to UTF-8 (#219, thanks to @spease)

    Other changes:

    • โž• Add basic support for {% raw %} blocks (#231, thanks to @fokinpv)
    • ๐Ÿ‘ Allow referencing self as a variable (fixes #207)
    • โž• Add support for boolean literals (#265, thanks to @davebrent)
    • โž• Add support for character literals (#283, thanks to @siiptuo)
    • ๐Ÿ‘Œ Support escaping in string literals (#287, thanks to @siiptuo)
    • ๐Ÿ‘Œ Improve interface for askama_escape (#243, thanks to @quadrupleslap)
    • ๐Ÿ‘ Allow Rust macro calls in more places (#226)
    • ๐Ÿ›  Fix a regression in partial inheritance (#224)
    • ๐Ÿ‘Œ Improvements to the Actix-Web integration (#223, thanks to @DoumanAsh)
    • ๐Ÿ“š Clarify documentation on filter precedence (#230, thanks to @notsimon)
    • โž• Add documentation on how to deal with recursive data types (#235, thanks to @drahnr)
    • โž• Add documentation on nesting Template types (#218, thanks to @victe)
    • ๐Ÿ‘Œ Improve documentation for Actix-Web and Gotham integrations (#250, thanks to @bardiharborow)
    • โฌ†๏ธ Upgrade to nom 5 and non-macro parser combinators
    • โฌ†๏ธ Upgrade to syn/quote/proc_macro2 version 1.0

    Thanks to @kazimuth and @bardiharborow for additional internal improvements.