Sleepy Bulldog

@kaos kaos released this Aug 8, 2016 · 14 commits to master since this release

This release has seen mostly minor tweaks and bugfixes from the community.

Thanks to all who use and enjoy erlydtl.

See the milestone 0.12.0 for more details regarding which issues have been addressed in this release.


The summoning

@kaos kaos released this Oct 27, 2015 · 34 commits to master since this release

This release has seen a number of improvements for localization as well as a few dtl compatibility fixes.

See the 0.11 milestone for all issues relating to this release.

A big thank you to all who've contributed time and effort into making this release possible.

This release is functionally equal to that tagged 0.11.0, which was never fully released due to build issues.


Growing up

@kaos kaos released this Dec 20, 2014 · 103 commits to master since this release

There has not been many new features, but rather minor tweaks and improvements as well as a slew of bugs squashed.

Most notable changes include:

  • Fix issue with generated code for for loops (#167).
  • Fix issue with using keywords as attributes (#177), or as variables (#194).
  • Fix issue when including multiple templates extending a common base template (#176).
  • New w option for toggling compile time warnings. Currently, there is only one, non_block_tag,
    which is triggered on any non-block data in an extends-template.
  • Add missing features to the cycle tag (#195) (still missing
    independtly stepping the cycle value).
  • Support records in regroup tag (#191).
  • Support for maps (#196).



@kaos kaos released this Apr 15, 2014 · 138 commits to stable since this release

  • Fix compile time variables and constants (#61)

  • The vars compile time option has been deprecated in favor of

  • Support for translation contexts (#131)

    context is now a reserved keyword.

  • Support for plural forms in blocktrans blocks (#131)

    As a side effect of the this, count and plural are now reserved
    keywords (the latter only as the tag name).

  • Renamed compile options for translation_fun and locales to align
    with the render options counter parts.

  • Support _ prefix on template variables to avoid unused variable
    warnings, Erlang style (#164).

  • Switched to eunit_formatters by @seancribbs for improved eunit reporting.

  • All tests pass on Erlang 17.0! :)

Also, there is now an IRC #erlydtl room on freenode. Join us there ;)



@kaos kaos released this Mar 27, 2014 · 168 commits to stable since this release

This release resolves build issue for non-git checkouts as well as a list indexing bug.

  • Fix release process to work for non-git installations (#154).
  • Fix list indexing (#155).
  • New option for 0-based list/tuple access (#156) (see README for details).

I have opted to stay on 1-based indexing as default, as that is the expected behaviour in the Erlang world, which we live in for ErlyDTL. The new indexing options should be useful for any scenario where 0-based indexing is desired.

Also note that the way the stable branch is used has changed slightly, in case you were tracking that (see README for up-to-date information).


Make amends

@kaos kaos released this Mar 22, 2014 · 195 commits to master since this release

0.9.1 brought a lot to the table, even so a few unwanted warts; which are being remedied in this release, enjoy!

I have also fixed the dependencies in the rebar.config file so it won't be a moving target (should've done this long ago).

  • Added NEWS file.
  • Fixed broken compile_dir (#146).
  • The backwards incompatible change in 0.9.1 for directory-compiled
    templates has been reverted. A new render function has been added
    instead (#148).
  • Fixed broken escape feature (#150).
  • Added translator comments (#152, #127) (@seriyps).


Issue Hunt and Refactorings

@kaos kaos released this Mar 2, 2014 · 217 commits to master since this release

This release brings a row of major internal improvements and also a few new and improved features.

Update I'm sorry to say, but the compile_dir function is broken in this version. A fix is committed and will be in the next release, along with a newly written test case for compile_dir to make sure it doesn't slip a third time (see #146).

  • Replaced most of erl_syntax use for merl (#123).
  • Refactored compiler and test suite (#134, #136).
  • Updated result value for directory-compiled (compile_dir) templates to return {ok, Rendered} | {error, Reason} just as for normally compiled templates. Please note that this is a backwards incompatible change (update: this change has been reverted for the upcoming 0.9.2 release, introducing instead a render function for this behaviour).
  • Regroup tag is now Django compatible! (the formerly required endregroup tag has been made optional) (#101).
  • The trans tag now supports the {% trans "text string" as Varname %} construct to catch the translated text rather than output it in place.
  • {{ block.super }} is now supported in child blocks (#18).
  • Template:variables() now only lists referenced render variables (#118).
  • New erlydtl_library behaviour for adding custom filters and tags (#137).
  • New load tag added. Only difference to that of django is that we don't support loading a library from a package, as there are no notion of packages in Erlang (#100).
  • New compile options supporting the load tag: libraries and default_libraries. See the readme. (the previous custom_tags_modules and custom_filters_modules are still supported, although being marked deprecated in favour of the new options).
  • New compile options for aid in debugging erlydtl itself: debug_compiler and debug_root as described in the readme (#139).

See milestone 0.9.1 for a complete list of closed issues in this release.

Happy templating!



@kaos kaos released this Feb 17, 2014 · 240 commits to stable since this release

After some fluctuating stability around 0.8.1, this release brings a set of improvements that has been tested not only by the test suite, but also in a couple of projects.


  • API changes. Added _file and _template suffixes to the compile functions to explicitly convey what is to be compiled.
  • Autoescape is now enabled by default. Use the relatively new auto_escape option if you want this disabled by default.
  • blocktrans blocks can now be translated to multiple locales in runtime. (thanks to @seriyps)
  • trans and _(...) tags can now be translated to multiple locales at compile time. (thanks to @seriyps)
  • Don't want to save the compiled .beam file? Use {out_dir, false} compile time option (this was possible before as well, when no out_dir was specified, but that results in a warning).
  • The error reporting has been fixed for certain cases.