# Changelog ## Upcoming Changes ## Version 1.6 Fix usage of `IF` with a `FOREACH` variable when the `IF` is nested in the `FOREACH` and is referring to a variable expanded by `FOREACH`. ## Version 1.5 Add flag `--generate-static-enable-overwrite`. This flag enables overwriting of files from static-dir to generate-dir (if static-dir was specified). Previous implementation relied on `--generate-enable-ovewrite` for this behavior. Minor refactorings related to `printf` and `uintX_t`/`size_t` types. ## Version 1.4 Implemented "IF", "ELSEIF", "ELSE", "ENDIF", and "INDEX" for templates. IF is used like: `{{{!IF Variable==SomeString}}}`. Not equals can also be used: `{{{!IF Variable!=OtherString}}}`. ELSEIF is used like: `{{{!ELSEIF Variable==AnotherString}}}`. Not equals can also be used: `{{{!ELSEIF Variable!=AnotherOtherString}}}`. ELSE is used like: `{{{!ELSE}}}`. ENDIF is used like: `{{{!ENDIF}}}`. INDEX is used like: `{{{!INDEX ArrayVar[2]}}}`. Implemented "FOREACH" and "ENDFOREACH" for templates. FOREACH is used like: PATH=/ HTML=''' {{{!FOREACH ArrayVar}}} {{{ArrayVar}}} {{{!ENDFOREACH}}}''' ArrayVar=FirstValue ArrayVar=SecondValue ArrayVar=ThirdValue For multiple variables to expand in FOREACH: PATH=/ HTML=''' {{{!FOREACH ArrayVar!ArrayVarSecond!ArrayVarThird}}} {{{ArrayVar}}} {{{ArrayVarSecond}}} {{{ArrayVarThird}}} {{{!ENDFOREACH}}}''' ArrayVar=FirstVarOnce ArrayVar=FirstVarTwice ArrayVarSecond=SecondVarOnce ArrayVarSecond=SecondVarTwice ArrayVarThird=ThirdVarOnce ArrayVarThird=ThirdVarTwice Implemented nestable "IF" and "FOREACH" expressions in templates. In other words, there can be `{{{!IF}}}` inside other IF/FOREACH blocks, and vice versa. ## Version 1.3 Fix internal erronous buffer declaration. Fix internal missing NULL check. ## Version 1.2 Add the `--generate-dir=