Nette Framework 2.3.9 released

2 years ago

David Grudl
founder | 6705
+
+28
-

Nette Framework 2.3.9 has just been released.

Application

  • Presenter::argsToParams() computes default values for mandatory parameters with built-in typehint
  • Presenter: throws exception when parameter has scalar type hint & no default value and argument is missing
  • Route: support for optional [<module>]
  • Template: better error message when Translator is not set

Caching

  • added NewMemcachedStorage

DI

  • DI\Container: added getServiceType()
  • DI\Compiler: InjectExtension is moved after extensions added by ExtensionsExtension
  • DI\Compiler: calls prepareClassList() after each beforeCompile()
  • DI\ContainerBuilder::removeAlias() removes aliases
  • DI\Helpers::autowireArguments() better error message for PHP7 and class name case mismatch

Forms

  • Form: added IS_NOT_IN
  • Forms\Helpers::exportRules() correctly exports empty arrays
  • Forms: allow Form::VALID only in the addConditionOn
  • FormMacros: better error messages
  • SelectBox: is not required when size > 1
  • Validator: pattern: supports back reference
  • __toString handles Throwable errors
  • netteForms.js: validator ‘equal’ compares values as PHP strings

HTTP

  • IRequest: added PATCH method constant
  • Fix FileUpload::move($dest) when low permission to chmod

Neon

  • Neon\Decoder: fixed entity value conversion in the entity chain

Latte

  • BlockMacros: fixed enabling snippetMode in the dynamic snippetArea
  • Latte\Parser::parseMacroTag() fixed extraction of modifier
  • Parser: || is not modifier separator
  • Engine: fixed CompileException sourceLine on PHP7
  • FileLoader: error message explaining touching, when touch() fails

Tracy

  • added Debugger::$showBar, can disable debug bar
  • Bluescreen: link to google opens in new window
  • Bar: add xdebug version to info panel
  • bar.js: MouseEvent.buttons is not supported by Safari
  • Dumper: support for general object exporter which is called for every object
  • Dumper: object exporters are called in order from most specific to general
  • Debugger: removes output buffer for Bar, Bluescreen and production error. It decides whether clean or flush output buffers.
  • Dumper: variable term=xterm-256color enables colors

For the details you can have a look at: application + previous + previous, caching, di + previous, finder, forms + previous, http, neon, latte + previous, tracy + previous.

This release marks the end of active support of the Nette 2.3 series. For one year only critical issues will be fixed.

2 years ago

abc
Member | 93
+
0
-

David Grudl wrote:
This release marks the end of active support of the Nette 2.3 series. For one year only critical issues will be fixed.

Hi, maybe stupid question but do you have some list of 2.4 features and possible BC breaks so we can (maybe ?) avoid them when writing new application? Thanks
And thank you for good work!!

Last edited by abc (2016-02-22 17:42)

2 years ago

David Grudl
founder | 6705
+
+3
-

(Toto není detailně rozepsaná strategie, ale z hlavy napsaná odpověď na fóru o tom, jaké věci obsahuje master oproti 2.3 a mohly by to být BC breaky)

In 2.4 will be only few BC break:

Thats all.

2 years ago

enumag
Member | 2128
+
0
-

Which PHP version will be required for Nette 2.4? PHP 5.4 because of nette/caching 2.4?

As for 2.4 BC breaks add this to the list. It most likely won't affect anyone but let's be thorough.

Last edited by enumag (2016-02-22 18:32)

2 years ago

David Grudl
founder | 6705
+
+6
-

Nette 2.4 will require PHP 5.6.

Important is, that 2.3 and 2.4 will be almost identical, just 2.4 will benefit from new PHP language features. So you can perfectly use 2.3 and update only when you have on server PHP 5.6 or newer.

2 years ago

Matúš Matula
Member | 236
+
0
-

David Grudl wrote:

In 2.4 will be only few BC break:

  • deprecated syntax <?php ... ?> in Latte and new warning Variable overwritten in foreach

@DavidGrudl what about the new warning? can it be suppressed or do I need to use another (not yet used) variable name in foreach?