Skip to content

Latest commit

 

History

History
184 lines (117 loc) · 6.56 KB

CHANGELOG.md

File metadata and controls

184 lines (117 loc) · 6.56 KB

Changelog

v1.6.1 - 2019-10-25

  • Fixes the "transitional" HTML doctype string (by WebFreak) - pull #60
  • Compiles without deprecation warnings on DMD 2.088.0 - pull #66
  • Fixes the use of C++ style line comments in code lines - issue #58, pull #73
  • Avoids excessive CTFE stack traces when syntax errors are encountered - issue #69, pull #73

v1.6.0 - 2019-08-16

  • Adds the new "extension includes" feature, combining blocks/extensions with includes - pull #64
  • Adds Node.clone and NodeContent.clone for recursive DOM cloning - pull #64
  • Updates compiler support to DMD 2.082.1 up to 2.087.1 and LDC 1.12.0 up to 1.16.0 - pull #64

v1.5.0 - 2018-06-10

  • Adds Node.translationKey to allow external code to access the original translation key for translated nodes - pull #55

v1.4.5 - 2018-03-12

  • Avoid singular tag enforcement for non-HTML documents - issue #45, pull #49
  • Always output empty XML elements using singular tag syntax - pull #50
  • Fix broken XML doctype string (by Nicholas Wilson) - pull #47
  • Fix deprecation warnings on DMD 2.079.0

Note: 1.4.3 and 1.4.4 just bumped the used vibe.d version of the examples.

v1.4.2 - 2017-08-26

  • Fixes "variable val is shadowing variable" errors when defining a variable val in a template - issue #35
  • Fixes missing escaping for quotes in HTML attributes that are not typed bool or string - issue #36
  • Tweaked the Meson build description to be usable as a sub project - pull #39

v1.4.1 - 2017-08-20

  • Adds a Meson project description (by Matthias Klumpp aka ximion) - pull #37

v1.4.0 - 2017-08-13

  • Implemented support for multi-line nodes (by Jan Jurzitza aka WebFreak) - issue vibe.d#1307
  • The shortcut syntax for class/id attributes is now allowed to start with a digit - issue #32

v1.3.0 - 2017-07-23

  • Heavily reduced the length of template symbol named generated during compilation, resulting in a lot less binary bloat
  • Added support for a .processors field in traits structs that contains a list or arbitrary DOM modification functions
  • Add DOM manipulation convenience functions

v1.2.1 - 2017-04-18

  • Fixed/implemented HTML white space inhibition using the </> suffixes - issue #27

v1.2.0 - 2017-03-02

  • Added compileHTMLDietFileString, a variant of compileHTMLDietString that can make use of includes and extensions - issue #24
  • Fixed a compile error for filter nodes and output ranges that are not nothrow
  • Fixed extraneous newlines getting inserted in front of HTML text nodes when pretty printing was enabled

v1.1.4 - 2017-02-23

  • Fixes formatting of singluar elements in pretty HTML output - issue #18
  • Added support for Boolean attributes that are sourced from a property/implicit function call (by Sebastian Wilzbach) - issue #19, pull #20

v1.1.3 - 2017-02-09

Bug fixes

  • Works around an internal compiler error on 2.072.2 that got triggered in 1.1.2

v1.1.2 - 2017-02-06

Features and improvements

  • Class/ID definitions (.cls#id) can now be specified in any order - issue #9
  • Block definitions can now also be in included files - issue #14
  • Multiple contents definitions for the same block are now handled properly - issue #13

v1.1.1 - 2016-12-19

Bug fixes

  • Fixed parsing of empty lines in raw text blocks

v1.1.0 - 2016-09-29

This release adds support for pretty printing and increases backwards compatibility with older DMD front end versions.

Features and improvements

  • Compiles on DMD 2.068.0 up to 2.071.2
  • Supports pretty printed HTML output by inserting a htmlOutputStyle field in a traits struct - issue #8

v1.0.0 - 2016-09-22

This is the first stable release of diet-ng. Compared to the original vibe.templ.diet module in vibe.d, it offers a large number of improvements.

Features and improvements

  • No external dependencies other than Phobos
  • Extensible/configurable with traits structures
  • Supports inline and nested tags syntax
  • Supports string interpolations within filter nodes (falls back to runtime filters)
  • Supports arbitrary uses other than generating HTML, for example we use it similar to QML/XAML for our internal UI framework
  • The API is @safe and nothrow where possible
  • Uses less memory during compilation
  • Comprehensive unit test suite used throughout development
  • Supports AngularJS special attribute names