Nette Framework 2.0 final released!

7 years ago

David Grudl
Nette Core | 6777
+
0
-

After years of development, after alpha & beta versions and 3 release candidates, we are very proud to announce the immediate availability of Nette Framework 2.0 final.

Nette Framework 2.0 has many innovations, some of them are unique in the PHP world:

  • full Dependency Injection support, extensively used in whole framework
  • new database layer with integrated awesome library NotORM
  • completely rewritten Latte, very handy templating language
  • customizable Debugger, developer's little helper with a lot of predefined panels
  • new markup language NEON
  • new ways to configure framework and applications
  • Nette stays to be one of the most secured framework in the world

…and a lot lot lot of enhancements in every part of framework.

Nette Framework also comes with new and great documentation. How to get started? Try Quick Start tutorial.

Nette Framework 2 is released. It's time to celebrate!

7 years ago

Patrik Votoček
Member | 2249
+
0
-

Congrats!

7 years ago

MartyIX
Member | 219
+
0
-

Kudos!

7 years ago

Roman Pištěk
Member | 11
+
0
-

It was really awesome to watch you grow, Nette! Now it's time to look for partners all around the world. :-)

7 years ago

Pavel Kouřil
Member | 128
+
0
-

I'm really glad to hear that! Gonna upgrade most apps to 2.0 final next week. :)

7 years ago

redhead
Member | 1315
+
0
-

I didn't really follow the development of Nette lately, I just wondered if features like the @role, @ajax, @allowed annotations which David showed in this presentation were implemented, because I thought it'll be cool. Or was it just a “fake”?

7 years ago

Patrik Votoček
Member | 2249
+
0
-

Nope it's just moved to next release (2.x). Because we really need stable release.

7 years ago

David Grudl
Nette Core | 6777
+
0
-

Application

  • better directory structure
  • default template for error codes 4×x, 403, 404, 405, 410 and 500
  • transmission of persistent parameters to the error-presenter
  • Route: support for the default values new Route('<presenter=Homepage><action=default>')
  • Route: shortcut Presenter:action (forum)
  • changed IRouter::constructUrl() second argument to Nette\Web\Uri.
  • support for rapid prototyping via via $router[] = new Route('login', function() {...})
  • solve complications with store & restoreRequest & flashMessage

Templates

  • remove at-sign @ from templates
  • unification of all macros syntax
  • syntax enhancement {=$var ? item} arrays {=[a, b, c]|join:' '} comments {var $prom = 123 /*, $name = ahoj*/} and array expansion {link default $id, (expand) $args, lang => cs}
  • new syntax {var $prom = 123, $name = ahoj}
  • new macros {first}, {last}, {sep} and {l} {r}
  • improved {cache} (forum)
  • new attributes n:class a n:href
  • extension .latte
  • automatic check of the crossing and not closing tags
  • refactoring LatteMacros into more classes
  • new way how to add Latte macros
  • support for XML in Latte
  • new form macros {form} {label} {control}
  • new form attribute <input n:name="email" ...>

Debug

  • added Debug Bar
  • added template for error 500 (in production)
  • URL or command line is logged
  • added Debug::log($message [, $priority])
  • added Nette\Debug::$scream = TRUE
  • clickable file names in “bluescreen”
  • FirePHP replaced with FireLogger
  • detection of developer / production environment with proxy servers
  • hiding “bluescreen” via ESC
  • added UserPanel

Forms

  • InstantClientScript replaced with Unobtrusive JavaScript (forum)
  • added support for HTML5
  • added validator Form::IMAGE

Caching

  • added ICacheJournal and FileJournal
  • added Nette\Caching\MemoryStorage
  • supports any variables as keys in a cache

Depencency Injection

  • implemented configurable DI container with autowiring
  • deprecated Environment
  • all classes (except Form) are independent on Environment
  • Nette\Web\HttpRequest is created via HttpRequestFactory
  • new config modes

others

  • new namespaces
  • added NEON, language for writing configuration
  • added Nette\Finder (forum)
  • added SmtpMailer (forum
  • added Nette\String::length(), compare(), toAscii() and safe regular expression via split(), match(), matchAll(), replace() and ArrayTools::grep()
  • added Nette\Json
  • added CallbackFilterIterator, RecursiveCallbackFilterIterator, MapIterator
  • added support for data attributes in Nette\Web\Html (forum)
  • RobotLoader supports netterobots.txt
  • RobotLoader detects file moving
  • loader.php defines constants NETTE, NETTE_VERSION_ID & NETTE_PACKAGE, NETTE_DIR
  • loader.php resets error_reporting (na E_ALL + E_STRICT), iconv.internal_encoding, mbstring.internal_encoding na UTF-8
  • created new testing framework Nette Tests
  • added tool Code-Checker
  • created tool APIGEN for generation API documentation
  • added Nette\Framework::$iAmUsingBadHost = TRUE

7 years ago

Honza Kuchař
Backer | 1648
+
0
-

Congratulations! And what about migration tutorial from 0.9 to 2.0? I think it is more than necessary.

7 years ago

Schmutzka
Moderator | 1152
+
0
-

This might help.