Nette Framework 2.4 (2016–12–21)
Notice: This thread is very old.
- David Grudl
- Nette Core | 8218
Nette Framework 2.4 (2016–12–21) has just been released.
This summarizes the differences from release 2016–09–30.
- fully compatible with PHP 7.1
- annotation
@return self
changed to@return static
- added Configurator::enableTracy() as alias for enableDebugger()
Application
- TemplateFactory: added support for custom Template implementation nette/application#159 nette/application#141
- JsonResponse: allow scalar payload nette/application#168
- Route::
constructUrl()
: split of module and presenter moved before global filter (nette/application#167) - Route::
constructUrl()
fixed global filter on presenter name (nette/application#161) - LatteExtension: added support for macro factories defined as DI services
- Application: fixed empty $requests when
createInitialRequest()
failed nette/application#163 - Template::
addFilter()
returns $this
For the details you can have a look at the diff.
Caching
- Cache: TAGS in dependencies are converted to array list nette/caching#46
- SQLiteStorage: filesystem permissions like ordinary file (nette/caching#44)
For the details you can have a look at the diff.
Database
- SqlPreprocessor: escapes primary value of IRow nette/database#144
- Selection: missing primary key can be FALSE, ‘0’ or '' nette/database#145
- ConnectionPanel: preserves whitespaces in explain panel nette/database#134
- Sqlite: fixed datetime column type
- SqlBuilder: added support for limit in update and delete queries (nette/database#140)
For the details you can have a look at the diff.
DI
- InjectExtension: fixed injecting of services which cannot be autowired via @inject nette/di#127
- PhpGenerator: lazy load interface definitions for generated factories nette/di#129
- ContainerBuilder::
completeStatement()
uses autowiring only when class is known
For the details you can have a look at the diff.
Forms
- CheckboxList: added item label prototype
- RadioList::
getLabelPart()
uses $itemLabel instead of $label - BaseControl::
setAttribute()
andsetType()
aliased tosetHtmlAttribute()
andsetHtmlType()
- netteForms.js: fixed issue with button type=submit with html nette/forms#137
- netteForms: forms with attribute ‘novalidate’ are not validated (BC break)
- becomes NPM package
For the details you can have a look at the diff.
Http
- Http\Response::setCode produces valid HTTP header on nginx (nette/http#113)
- SessionSection::
removeExpiration()
fixed (nette/http#111) - Session: removed cookie nette-browser and support for expiration ‘until the browser is closed’ (nette/http#103)
- UserStorage: removed BROWSER_CLOSED expiration reason nette/http#112
- UrlScript: accept optional $scriptPath parameter in constructor (nette/http#109)
- UrlScript: default scriptPath is whole path to maintain same behavioral as the class Url (in method getBasePath, …) nette/http#100
- RequestFactory: parse the “proto” part of “forwarded” header instead of the “scheme” part. (nette/http#106)
- IResponse: added missing HTTP response codes (nette/http#107)
For the details you can have a look at the diff.
Utils
- added DateTime::
fromParts()
- DateTime::
from()
supports microseconds - Image: added support for WEBP nette/utils#73
- added Arrays::
every()
,some()
&map()
nette/utils#36 - Validators: support for types int[], string[] etc nette/utils#119
- added Validators::
everyIs()
nette/utils#123 - Validators: added validator ‘iterable’
- SmartObject: better exception message for deprecated property usage
- Json skips workaround on PHP 7.0+
For the details you can have a look at the diff.
Tracy
- Bar: removes entries from session after 60 seconds nette/tracy#234
- Bar: all assets & contents in single HTTP request
- Revert “Bar: JS & CSS is cached in localStorage (nette/tracy#226)” nette/tracy#228
- Added Linux version of ‘open-in-editor’ tool (nette/tracy#235)
- BlueScreen: ability to set whether panel is collapsed or not (nette/tracy#232)
- Helpers::
improveException()
removes namespace from function name because is confusing (related to PHP issue 73049)
For the details you can have a look at the diff.