Skip to content

@dg dg released this May 12, 2020 · 13 commits to master since this release

  • Engine: implemented custom exception handler for {sandbox}
  • renamed Latte\SecurityViolation -> SecurityViolationException (BC break!)
  • Template: improved runtime method/property checking
  • PhpWriter: variable variables $$ when policy is enabled
  • PhpWriter: disabled underscored $_ when policy is enabled
  • PhpWriter: improved exception when |noescape or |nocheck is not allowed

For the details you can have a look at the diff.

Assets 2

@dg dg released this Apr 20, 2020 · 21 commits to master since this release

  • added macro {sandbox}
  • implemented policy checking
  • PhpWriter: disabled $this/break/case/catch/continue/... when policy is enabled
  • PhpWriter: deprecated backtick operator
  • PhpWriter: disabled _halt_compiler/declare/die/eval/exit/include/include_once/require/require_once in templates
  • added {do} as alias for {php}
  • Engine::loadTemplate() uses the same locking mechanism as RobotLoader
  • templates: added typehints to generated methods & improved coding style
  • {=...}, {php...}, {do...} must have arguments (BC break)

For the details you can have a look at the diff.

Assets 2

@dg dg released this Apr 1, 2020 · 45 commits to master since this release

  • <script type="module"> is also javascript context (#220)
  • Engine::getTemplateClass() added functions to cache key
  • Engine: automatically registers methods annotated as @function & @filter
  • FileLoader: private changed to protected #219
  • PhpWriter: fixed combination of custom function & modifier

For the details you can have a look at the diff.

Assets 2

@dg dg released this Mar 9, 2020 · 57 commits to master since this release

  • added macros {varPrint}, {varType}, {templatePrint}, {templateType}
  • added support for types in {define block type $var}
  • added support for types in {var type $var} and {default type $var}
  • Filters: added |batch
  • optional chaining: added support for $obj->$var? and $obj::$var?
  • Preserves spaces before and after <div n:spaceless>
  • deprecated syntax {var xx} and {var $xx => ...} (BC break)
  • removed prefix I from ILoader, IHtmlString, ISnipperDriver, IMacro
Assets 2

@dg dg released this Feb 23, 2020 · 73 commits to master since this release

  • Filters::escapeXml() & escapeIcal: C0 charactes are replaced with Unicode Replacement Character U+FFFD
  • optional chaining: disabled for Class::$prop? & $$var?
  • custom functions reimplemented

For the details you can have a look at the diff.

Assets 2

@dg dg released this Jan 14, 2020 · 82 commits to master since this release

  • fixed bugs
  • Filters::safeUrl() accepts tel: and sms: #203
  • Filters: in HTML/XML invalid UTF-8 is replaced with Unicode Replacement Character U+FFFD (instead of discarding whole output)
  • Filters: escapes and decodes ' as '

For the details you can have a look at the diff.

Assets 2

@dg dg released this Jan 3, 2020 · 97 commits to master since this release

  • added custom functions via $latte->addFunction()
  • Added optional chaining $var?->prop?->elem[1]?->call()?->item
  • Short ternary operator now requires braces around array (for future optional chaining) (BC break)
  • PhpWriter: short ternary checks if value exists
  • CachingIterator: fixed IteratorAggregate -> Iterator conversion
  • BlockMacros: check when dynamic snippet is combined with id attribute [Closes nette/application#242]
  • BlockMacros: added $snippetAttribute for custom HTML attribute with snippet id [Closes nette/application#242]
  • removed latte.php
Assets 2
Dec 12, 2019
version 2.5.4

@dg dg released this Sep 24, 2019 · 113 commits to master since this release

  • Revert "BlockMacros: {define} accepts named parameters" #198 #194 #197
  • BlockMacros: block name must not start with underscore #193
  • Fix compatibility with PHP 7.4 (#199)
  • phpdoc fixes

For the details you can have a look at the diff.

Assets 2

@dg dg released this Jul 16, 2019 · 121 commits to master since this release

  • FileLoader::isExpired() returns true when file doesn't exist #186
  • BlockMacros: {define} accepts named parameters #184
  • Engine: strict_types not working with no temp directory #191
  • Engine::setTempDirectory accepts null
  • Filters: removed string type hints from replace filter (#189)

For the details you can have a look at the diff.

Assets 2
You can’t perform that action at this time.