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

Changelog History

  • v3.1.0 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

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

    November 14, 2017

    The first basic Inja version. Yeah!