Skip to content

Releases: nette/latte

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

Released version 3.0.6

01 Mar 08:10
@dg dg
Compare
Choose a tag to compare
  • allowed trailing comma in {var} and {parameters}
  • unquoted strings can contain .
  • TemplateParserHtml: correctly catches non-valid tag content #329
  • TagParser: correct concatenation precedence
  • NameNode: updated list of keywords, enumerated magic constants
  • Node: getIterator() is abstract (BC break)
  • renamed Filters::escapeHtmlRawText -> convertJSToHtmlRawText, Expression\ArrayItemNode -> Php\ArrayItemNode, Expression\ClosureUseNode -> Php\ClosureUseNode and EncapsedString* -> InterpolatedString*

Released version 3.0.5

28 Dec 01:30
@dg dg
Compare
Choose a tag to compare
  • added TracyExtension
  • added {exitIf} #287
  • Node: getIterator() must exists (BC break)
  • improved error messages for reserved keywords
  • safeUrl accepts HtmlStringable
  • fixed caching issue after 38039d8
  • Content type 'text' uses escaping
  • escapeXml() treats HtmlStringable as XML #322
  • Linter: prints filenames during progress
  • Parser: fixed support for dash in n:attributes
  • more accurate checking of {breakIf} {continueIf} {skipIf} parent nodes
  • renamed SkipNode -> JumpNode, InRangeNode to InNode (BC break)
  • TagParser::tryConsumeModifier() renamed to tryConsumeTokenBeforeUnquotedString()

Released version 3.0.4

04 Nov 14:56
@dg dg
Compare
Choose a tag to compare
  • TemplateLexer: fixed tag parsing & double syntax
  • removed Engine::$probe
  • Extension::beforeRender() changed signature (BC break!!)
  • Extension::beforeRender() is called just before the template is rendered
  • Engine, Template: provides are stored in stdClass

Released version 2.11.6 (end of support)

04 Nov 14:55
@dg dg
Compare
Choose a tag to compare
  • support for PHP 8.2
  • Blueprint: fixed compatibility with PhpGenerator v4

Latte 2 maintenance has been ended, please upgrade to Latte 3

Released version 3.0.3

12 Sep 22:59
@dg dg
Compare
Choose a tag to compare
  • support for PHP 8.2
  • Blueprint: fixed compatibility with PhpGenerator v4
  • TemplateLexer: fixed unterminated tags handling
  • improved error messages
  • 'on line 1' is printed in exception messages

Released version 3.0.2

15 Jun 13:36
@dg dg
Compare
Choose a tag to compare
  • improved {syntax} and n:syntax handling
  • Parser: added support for HEREDOC/NOWDOC
  • {_...} accepts unquoted string
  • some changes in AST nodes structure (BC break)
  • some fixes

Released version 3.0.1

01 Jun 12:22
@dg dg
Compare
Choose a tag to compare
  • some fixes
  • added TranslatorExtension, reverts "translate moved to nette/application"
  • {_var} and {translate} can translate values during compile time
  • {translate} accepts parameters
  • SafeUrl is not used for attribute parts
  • Fixed {first} inside n:foreach #298
  • Engine::isExpired() checks filemtime of extensions
  • Linter: accepts file name or mask
  • Linter: initalization moved to class
  • Linter: prints summary
  • ParametersNode & DefineNode parses parameters as ParameterNode[] with full type

Released version 2.11.4 (End of life)

30 May 13:40
@dg dg
Compare
Choose a tag to compare
  • Notice: deprecated use of ;
  • Notice: variable $iterations is deprecated