All Versions
Latest Version
Avg Release Cycle
131 days
Latest Release
156 days ago

Changelog History

  • v3.1.0

    September 28, 2020

    🐎 First and foremost, this update improves the performance of template rendering, in particular of loops and variable printing.

    🍱 ⚑ Improvements

    • βž• Added assignment statements to set a variable within a template.
    • βž• Added whitespace control for expressions (#162, thanks to @tindy2013).
    • βž• Added void callbacks without return values, e.g. for debugging purposes.

    🍱 πŸ› Bug Fixes

    • πŸ›  Fixed an issue of parsing nested functions (#159, thanks to @DeiRex75).
    • πŸ›  Fixed use of parenthesis in combination with logic operators (#155, thanks to @DeiRex75).
    • πŸ›  Fixed an issue with loop data in the render_to function (#165, thanks to @fishjump)

    🍱 πŸ”¨ Further Changes

    • ↔ Integrated Codacity into CI and fixed several static analyzer issues.
    • πŸ›  Fixed several compiler warnings (#169, thanks to @tindy2013).
  • v3.0.0

    July 26, 2020

    🍱 Time for a new major version of inja! πŸŽ‰

    🍱 ⚑️ Improvements

    • πŸ“œ A new core parser and renderer based on an abstract syntax tree (fixing #149), allowing for:
      • Complex expressions of functions, logic expressions and statements.
      • Mathematical functions in templates.
      • Variadic callbacks with unknown number of arguments.
    • πŸ“œ Show parsing and render error positions in template (#134, thanks to @sabelka).
    • 🐎 Performance improvements, in particular for large json data (#146, thanks to @craigpepper) and large template files.
    • ⚑️ Update nlohmann/json to version 3.8.0 (#144, also thanks to @craigpepper).
    • πŸ‘Œ Support for GCC 4.8 (#150, thanks to @rafadesu)

    🍱 πŸ”¨ Further Changes

    • πŸ‘· Move all CI to GitHub Actions.
    • πŸ— Switching from Catch to Doctest as our testing framework with much better build times.

    🍱 πŸ”₯ Breaking Changes

    • πŸ’… We've removed the json pointer style for variables in templates.
    • We now require nlohmann/json with a minimum version of 3.8.0.
  • v2.2.0

    December 27, 2019

    πŸš€ We've got a round of fixes and cool improvements for this release.

    🍱 ⚑️ Improvements

    • βž• Add whitespace control (#116, thanks to @jpcima).
    • Added new functions: select element at position, string length.
    • πŸ‘» Throw exception if file cannot be opened (#117, thanks to @thomastrapp).
    • ⬆️ Bump to newer nlohmann/json (#107, thanks to @JehandadKhan).

    🍱 πŸ› Bug Fixes

    • πŸ›  Fixed scope when including templates (#118, thanks to @thomastrapp).
    • πŸ›  Fixed Visual Studio compiler warnings (#119, thanks to @Dodzey).

    🍱 πŸ”¨ Further Changes

    • πŸ‘· Much improved CI (#124), in particular for Visual Studio (#125, #128, thanks to @kzeslaf).
    • 🚚 Move doxygen generation to GitHub CI.
  • v2.1.0

    February 16, 2019

    🍱 ✨ Further Improvements

    πŸš€ There are a couple of great improvements for inja in this release:

    • πŸ“š We've added a first API documentation.
    • Thanks to @gracicot and @mhhollomon, we improved cmake and meson target exports (#83, #86).
    • I've added a string_view polyfill for C++11 to C++14.
    • You can now use cget for installing inja (#88). Thanks @pfultz2!
    • ⚠ Warnings in appveyor has been cleaned.

    πŸ— πŸ”₯ And a small breaking change in the development pipeline: The CMake option for disabling tests has been renamed from BUILD_TEST to BUILD_TESTING.

  • v2.0.1

    January 14, 2019

    πŸš€ This release fixes a memory bug when including templates (#78, #68). Additionally, you can now use render_to without creating an environment and render to general ostreams (#76).

  • v2.0.0

    December 23, 2018

    Finally, this is the next major version of Inja. After reworking most of its internals, Inja is now up to two orders of magnitude faster than v1! (#67)

    🍱 ✨Further Improvements

    • We've added type checks as builtin functions (#64).
    • πŸ‘ Loop variables are now supported in inja templates (#52).
    • Include in-memory templates (#47).
    • πŸ“¦ Inja is now easier to integrate either with the vcpkg (#45) or conan (#43) package manager.

    🍱 πŸ”₯ Breaking Changes

    Inja now requires string_view from C++17.

  • v1.0.0

    March 12, 2018

    πŸš€ This is the first stable release of inja! πŸŽ‰

    πŸš€ Major improvements over the last released version are:

    • βž• Added callbacks (#5, #15)
    • πŸ†• New functions: min, max, sort, first, last, conversion to string and number (#22)
    • βž• Added loops over std::map / json objects
    • πŸ›  Fixed lots of errors and warnings (#18)
    • πŸ‘ Better error messages
    • βœ… More tests and compilers with CI, additional testing with meson
    • ⚑️ Updated dependencies to JSON 3.1 and Catch 2.1
  • v0.1.1

    November 16, 2017
    • βž• Add to Hunter
    • πŸ›  Fix round() function
    • ⚑️ Update to Catch2
  • v0.1.0

    November 14, 2017

    The first basic Inja version. Yeah!