Nette Framework 2.4 (2016–09–30)

2 years ago

David Grudl
founder | 6735

Nette Framework 2.4 (2016–09–30) has just been released.

Note that dependencies in composer.json has been relaxed to ^2.4, so ZIP packages are now distinguished by build date instead of patch version. Hence this release is “2.4 2016–09–30”


  • Filters: added support for including blocks in HTMLCOMMENT nette/latte#136
  • PhpWriter::validateTokens fixed to not recognize Namespace\CLASS as constant
  • BlockMacros – define: fixed variables extracting when named parameters are used (nette/latte#131)
  • StringLoader: throws exception when is unable to load referred template nette/latte#129
  • Filters::escapeHtmlAttr() prevents double escaping of Latte\Runtime\Html

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


  • UI: added support for PHP 7.1 nullable types
  • Revert “Presenter: invalid component name in signal throws BadSignalException”
  • MicroPresenter: fixed passing of services to closure in 2.4
  • ComponentReflection::combineArgs() throws InvalidArgumentException instead BadRequestException when incompatible type is object
  • Route: fixed PHP warning “strpos(): Offset not contained in string” (nette/application#154)
  • ComponentReflection::parseAnnotation: fix false positive annotation parsing (nette/application#151)

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


  • Helpers::autowireArguments() can handle PHP 7.1 nullable types
  • PhpReflection::getReturnType() can handle PHP 7.1 nullable types
  • PhpReflection::getParameterType() can handle PHP 7.1 nullable types (nette/di#126)
  • PhpReflection::getParameterType() supports type ‘self’
  • DependencyChecker: takes into account if class is abstract
  • InjectExtension::getInjectMethods() correct order of methods in traits
  • PhpReflection: support PHP 7 group use statements (nette/di#125)
  • DependencyChecker: do not call getParameterType() in PHP < 7 nette/di#124
  • Compiler: improved overwriting of single arguments

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


  • netteForms.js: cannot use range() to validate min/max (nette/forms#136)
  • netteForms.js: added argument ‘onlyCheck’ to validateForm() nette/forms#133
  • netteForms.js: validity of input=number is checked in ‘onlyCheck’ mode
  • Rules::validate() processes all conditions
  • fixed compatibility with PHP 7.1
  • netteForms.js: fixed compatiblity with IE 8 (nette/forms#127)

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


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


  • SmartObject: added support for annotations in traits (thx @matej21nette/utils#121
  • FileSystem: fix mkdir race condition (nette/utils#120)
  • fixed compatibility with PHP 7.1

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


  • Bar: JS & CSS is cached in localStorage (nette/tracy#226)
  • Dumper::encodeString() optimization, slow regexp is used for shortened string nette/tracy#223
  • Revert “Bar: disables XDEBUG_PROFILE & XDEBUG_TRACE” – it cannot be disabled
  • Dumper::encodeString – use mb_substr (nette/tracy#222)
  • Logger::getExceptionFile() ignores exception arguments
  • Logger: added exception code to log
  • Revert “Bar: detects and uses document root path” nette/tracy#216
  • Debugger::errorHandler() calls Helpers::improveException() before ErrorException is logged

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