All Versions
Latest Version
Avg Release Cycle
36 days
Latest Release
57 days ago

Changelog History
Page 1

  • v1.3.1

    June 09, 2020
    • 🛠 Fix raw tag swallowing all whitespace at beginning and end
    • 👉 Make batch template sources generic
    • ✅ Automatically add function/test/filter function name to their error message
  • v1.3.0

    May 16, 2020
    • ➕ Add a urlencode_strict filter
    • ➕ Add more array literals feature in templates
    • 👉 Make filter filter value argument optional
  • v1.2.0

    March 29, 2020
    • Add trim_start, trim_end, trim_start_matches and trim_end_matches filters
    • 👍 Allow blocks in filter sections
  • v1.1.0

    March 08, 2020
    • Add Tera::render_str, like Tera::one_off but can use an existing Tera instance
  • v1.0.2

    January 13, 2020
    • Length filter now errors for things other than array, objects and strings. The fact that it was returning 0 before 🛠 for other types was something that should have been fixed before 1.0 but got forgotten and was considered a bug.
  • v1.0.1

    December 18, 2019
    • 🛠 Fix filter sections not keeping whitespaces
    • The filesizeformat filter now takes a usize instead of a i64: no changes to behaviour
  • v1.0.0

    December 07, 2019

    💥 Breaking changes

    • Now requires Rust 1.34
    • ✂ Removed error-chain errors and added rich Error enum instead
    • ✅ Filter, Tester and Function are now traits and now take borrowed values instead of owned
    • ⚡️ Updated for 2018 edition
    • Require macros import to be at the top of the files along with extends as it is fairly cheap and the code already only really look there.
    • 📜 Enforce spacing in tags at the parser, before ifsomething was considered ok
    • Pluralize filter now uses singular and plural arguments instead of suffix
    • ➕ Add a test for checking whether a variable is an object
    • Escaping now happens before inserting the final result of an expression: no need anymore to add | safe everywhere, only at the last position
    • ✂ Remove safe argument of the urlencode filter, / is still escaped by default
    • 🚚 The compile_templates! macro has been removed


    • ✅ Tests can now use value is not defined order for negation (
    • ➕ Add nth filter to get the nth value in an array
    • You can now use glob patterns in Tera::new
    • 0️⃣ default filter now works on Null values
    • Literal numbers in template overflowing i64/f64 will now be an error instead of panicking
    • 👍 Allow arrays as test arguments
    • ➕ Add the in operator to check if a left operand is contained in a right one. Also supports negation as not in
    • Add Context::from_value to instantiate a Context from a serde_json Value
    • ➕ Add Context::from_serialize to instantiate a Context from something that impl Serialize
    • Make tests helper fns number_args_allowed, value_defined and extract_string public
    • ➕ Add else clause to for loops
    • Filters are now evaluated when checking if/elif conditions
    • 👍 Allow {{- and -}} for whitespace management
    • ➕ Add xml_escape filter
    • Grave accent is no longer escaped in HTML, it is not really needed anymore
    • ➕ Add a builtins default feature that gate all filters/functions requiring additional dependencies
    • ➕ Add unique and map filter
    • ➕ Add a timezone attribute to the date filter
    • ➕ Add a get_random function to get a random number in a range
    • ➕ Add a get_env function to get the value of an environment variable
  • v0.11.20

    November 14, 2018
    • 🛠 Fix bugs in filter and get filters
  • v0.11.19

    October 31, 2018
    • 👍 Allow function calls in math expressions
    • 👍 Allow string concatenation to start with a number
    • 👍 Allow function calls in string concatenations
    • ➕ Add a concat filter to concat arrays or push an element to an array
  • v0.11.18

    October 16, 2018
    • 👍 Allow concatenation of strings and numbers