Skip to content

Releases: jinja2cpp/Jinja2Cpp

1.3.2

23 Jun 20:55
e97a54e

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.3.1...1.3.2

Release 1.3.1

19 Nov 20:51

Choose a tag to compare

Changes and improvements

  • bump deps versions
  • support modern compilers(up to Clang 12) and standards(C++20)
  • tiny code style cleanup

Fixed bugs

  • small fixes across code base

Breaking changes

  • internal deps point to make based boost build

Release 1.3.0 (Beta)

19 Nov 20:08

Choose a tag to compare

Release 1.3.0 (Beta) Pre-release
Pre-release

What's Changed

  • bump 3rd party dependencies to current versions
  • optimise template load time (introduce ability to use boost::regex that is times faster than std::regex)

Fixed bugs

  • small fixes across code base

Breaking change

  • introduce new default ToJson filter implementation based on boost::json (rapidjson seems to become abandoned)
  • get rid of git submodules in favour of CMake fetch_content

Full Changelog: 1.2.1...1.3.0-beta

Release 1.2.1

01 Sep 18:45
4b86a7c

Choose a tag to compare

Changes and improvements

  • bump deps versions
  • support modern compilers(up to Clang 12) and standards(C++20)
  • tiny code style cleanup

Fixed bugs

  • small fixes across code base

Breaking changes

  • internal deps point to make based boost build

Release 1.2.0 (Beta)

26 Aug 18:22
dae174c

Choose a tag to compare

Release 1.2.0 (Beta) Pre-release
Pre-release

Changes and improvements

  • bump deps versions
  • support modern compilers(up to Clang 12) and standards(C++20)

Fixed bugs

  • small fixes across code base

Breaking changes

  • internal deps point to make based boost build

Release 1.1.0

13 Jan 18:24

Choose a tag to compare

Version 1.1.0

Changes and improvements

  • batch filter added (#150)
  • slice filter added (#141)
  • format filter added (#145)
  • tojson filter added (#142)
  • striptags filter added (#177)
  • center filter added (#179)
  • xmlattr filter added (#143)
  • raw/endraw tags added (#148)
  • repeat string operator added (e. g. 'a' * 5 will produce 'aaaaa') (#162)
  • support for templates metadata (meta/endmeta tags) added (#107)
  • -fPIC flag added to Linux build configuration
  • JINJA2CPP_BUILD_SHARED flag added in order to build shared version of Jinja2C++ library

Fixed bugs

  • Fix behavior of lstripblock/trimblocks global settings. Now it fully corresponds to the origina jinja2 (#159)
  • Fix bug with rendering parent block content if child doesn't override this block (#161)
  • Fix compilation issues with user-defined callables with number of arguments more than 2 (#163)
  • Fix access to global Jinja2 functions from included/extended templates (#166)
  • Fix point of evaluation of macro params
  • Fix looping over the strings (#180)
  • Cleanup warnings

Breaking changes

  • From now with C++17 standard enabled Jinja2C++ uses standard versions of types variant, string_view and optional

Release 1.0.0

01 Oct 21:07
4870182

Choose a tag to compare

Changes and improvements

  • default attribute added to the map filter (#48)
  • escape sequences support added to the string literals (#49)
  • arbitrary ranges, generated sequences, input iterators etc. now can be used with GenericList type (#66)
  • nonstd::string_view is now one of the possible types for the Value
  • filter tag support added to the template parser (#44)
  • escape filter support added to the template parser (#140)
  • capitalize filter support added to the template parser (#137)
  • multiline version of set tag added to the parser (#45)
  • added built-in reflection for nlohmann json and rapid json libraries (#78)
  • loop.depth and loop.depth0 variables support added
  • {fmt} is now used as a formatting library instead of iostreams
  • robin hood hash maps is now used for internal value storage
  • rendering performance improvements
  • template cache implemented in TemplateEnv
  • ability to define global variables in TemplateEnv added
  • user-defined callables now can accept global context via *context special param
  • MinGW, clang >= 7.0, XCode >= 9, gcc >= 7.0 are now officially supported as a target compilers (#79)

Fixed bugs

  • Fixed pipe (|) operator precedence (#47)
  • Fixed bug in internal char <-> wchar_t converter on Windows
  • Fixed crash in parsing endblock tag
  • Fixed scope control for include and for tags
  • Fixed bug with macros call within expression context

Release 0.9.2

20 Jun 17:25

Choose a tag to compare

Major changes

Minor changes

  • Render-time error handling added
  • Dependency management mode added to the build script
  • Fix bugs with error reporting during the parse time
  • Upgraded versions of external dependencies

Breaking changes

  • RenderAsString method now returns nonstd::expected instead of regular std::string
  • Templates with import, extends and include generate errors if parsed without TemplateEnv set
  • Release bundles (archives) are configured with external dependency management mode by default

Release 0.9.1

27 Oct 14:59
664cc3b

Choose a tag to compare

Download

  • applymacro filter added which allows to apply arbitrary macro as a filter
  • Dependencies to boost almost removed from the library public interface
  • CMake scripts improved
  • Various bugs fixed
  • Improve reflection
  • Warnings cleanup
  • Library is ready for conan.io packaging

Release 0.9

31 Aug 20:39
9550971

Choose a tag to compare

  • Support of 'extents'/'block' statements
  • Support of 'macro'/'call' statements
  • Rich error reporting
  • Support for recursive loops
  • Support for space control before and after control blocks
  • Improve reflection