Skip to content

Releases: nette/latte

Released version 3.0.16

29 Apr 20:30
@dg dg
Compare
Choose a tag to compare
  • added filter |group & function group()
  • filter |sort accepts iterable
  • filter |sort added by & byKey
  • Filters::first() accepts iterable
  • Engine: cache-key divided into key and signature, that is stored in a lock file
  • Engine: added underscore to template class name
  • Loader::isExpired() deprecated
  • Blueprint::printClass() rewritten (BC break)

Released version 3.0.14

19 Mar 01:36
@dg dg
Compare
Choose a tag to compare
  • hasBlock() fixed template retrieval #357
  • {contentType}: fixed behavior when used inside <script> #356
  • n:syntax: restores syntax after </ #358
  • added FunctionExecutor for template functions
  • n:syntax must not have a prefix
  • fixed positions of FilterNode
  • TagLexer: typo in regexp nette/application#321
  • Filters::safeUrl(): widened supported types
  • PHP 8.4 compatibility
  • refactoring

Released version 3.0.13

09 Jan 13:31
@dg dg
Compare
Choose a tag to compare
  • added support for application/ld+json (#353)
  • fixed escaping after {contentType xml}
  • Filters & Passes: refactoring
  • removed Filters::$xml

Released version 3.0.12

09 Nov 01:43
@dg dg
Compare
Choose a tag to compare
  • added n:else
  • exception handler can throw exception #307
  • JumpNode: correctly closes all HTML elements #340
  • uses AuxiliaryNode to hide usage of internals #347
  • {exitIf} must not be in prepare()

changes:

  • removed variable Tag::$data, Tag::closestTag() finds by class name
  • StaticCallNode renamed to StaticMethodCallNode
  • RegexpException replaced with CompileException & RuntimeException
  • ExpressionBuilder is deprecated

Released version 2.10.10 (end of support)

07 Nov 13:17
@dg dg
Compare
Choose a tag to compare

Released version 2.11.7 (end of support)

18 Oct 17:17
@dg dg
Compare
Choose a tag to compare

Released version 3.0.10

11 Oct 12:26
@dg dg
Compare
Choose a tag to compare
  • added function hasBlock() #345
  • Filters::safeUrl() accepts Stringable
  • implemented mandatory escaping (cannot be disabled using |noescape)
  • In <script type=unknown> is HTML not escaped
  • Improved escaping in <script type=text/html>
  • Escaper: better detection of type in <script> & <style>
  • FilterExecutor: refactoring, info-aware filter can be dynamic
  • Filters::strLength() uses mbstring, iconv and then utf8_decode

Released version 3.0.9

08 Sep 10:04
@dg dg
Compare
Choose a tag to compare
  • improved support for variable tags <{$foo}>
  • Linter: refactoring, added getEngine()
  • TemplateLexer: rewritten that functions are not generators, exceptions are thrown in parsers

Released version 3.0.8

13 Aug 13:58
@dg dg
Compare
Choose a tag to compare
  • added support for magic constants __LINE__, __FILE__, __DIR__
  • added strict parsing mode via Engine::setStrictParsing()
  • added support for variable tags <{$foo}>
  • added constant Template::Source
  • n:tag supports XML
  • in XML are tag names case sensitive
  • content in </foo ...> is not allowed (BC break)
  • TemplateLexer is driven from parser
  • TemplateParserHtml: HTML attribute name can be PrintNode or string (BC break)
  • TokenStream::throwUnexpectedException() reports only single token

Released version 3.0.7

07 Aug 11:47
@dg dg
Compare
Choose a tag to compare
  • smarter way to work with HTML attributes (possible BC break)
  • allow {exitIf} in {define} (#334)
  • Engine::enablePhpLinter() allows to lint generated PHP templates
  • ForeachNode, TagParser: added native parser for foreach-variables #342
  • TagParser: support dynamic class constant fetch in PHP 8.3
  • Expression nodes: added some validators
  • ArrayNode, TagParser: distinguish between array() and list() via $kind
  • ArrayNode::fromArguments() rewritten to PrintContext::argumentsAsArray() (BC break)
  • forbidden variable $GLOBALS