Nette Framework 2.4 (2016–09–30)
Notice: This thread is very old.

- David Grudl
- Nette Core | 8285
Nette Framework 2.4 (2016–09–30) has just been released.
This summarizes the differences from 2016–07–31.
Latte
- 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.
Application
- 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.
DI
- 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.
Forms
- 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.
Http
- FileUpload: added
hasFile()(nette/http#97) - Url::
getHostUrl()doesn't return empty // nette/http#96 - Session: max session id length is 256 nette/http#105
- Session: used static access to $started (nette/http#104)
- FileUpload: missing variable nette/http#98
- RequestFactory: improved checking of $_FILES structure
For the details you can have a look at the diff.
Utils
- SmartObject: added support for annotations in traits (thx @matej21) nette/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.
Tracy
- 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.