CakePHP Italia

La comunità italiana di CakePHP

CakePHP 3.3.0-beta3 released

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.3.0-beta2. This is a beta release for the 3.3 release branch. 3.3 provides a number improvements both large and small. It also deprecates several features that will be removed in 4.0.0. We would appreciate any feedback you might have on the new features before their API definitions become stable. In particular for the new PSR7 related features, as we see PSR7 as playing a big part in CakePHP's future.

Upgrading to this Beta

You can use composer to upgrade to the new beta version of CakePHP 3.3.0::

php composer.phar require "cakephp/cakephp:3.3.0-beta3"

What's new in 3.3.0?

The migration guide has a complete list of what's new in 3.3.0, and what has been deprecated. We recommend you give that page a read when upgrading.

Breaking Changes Since beta2

  • CakeHttpMiddlewareStack is now CakeHttpMiddlewareQueue. The new name better reflects the implementation (@ADmad)
  • The allowPartialNulls option in the ExistsIn rule has been renamed to allowNullableNulls. (@ionas)

Bugfixes and Minor Features

This release fixes a few issues identified in the 3.3.0-beta, as well as bugfixes from master.

  • The default ErrorController now always loads the RequestHandlerComponent. (@ADmad)
  • Router methods consistently use static now, making user-land extensions easier. (@skie)
  • BelongsToMany::replaceLinks() now returns false when persisting an entity fails due to application rules. (@markstory)
  • Throwing an exception from a Table's afterSave now aborts the transaction correctly. (@lorenzo)
  • Text::stripLinks() now recursively strips HTML links. This method is also now deprecated. (@markstory)
  • A new exception class for HTTP status code 451 was added. (@Graziel)
  • ExistsIn now has better errors for missing associations. (@burzum)

Unless there are major issues with the 3.3.0-beta3 release, we will have a release candidate and stable release packaged in the 2-3 weeks. The documentation for 3.3.0 is now available in the book.

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

Continua a leggere

CakePHP 3.3.0-beta2 released

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.3.0-beta2. This is a beta release for the 3.3 release branch. 3.3 provides a number improvements both large and small. It also deprecates several features that will be removed in 4.0.0. We would appreciate any feedback you might have on the new features before their API definitions become stable. In particular for the new PSR7 related features, as we see PSR7 as playing a big part in CakePHP's future.

Upgrading to this Beta

You can use composer to upgrade to the new beta version of CakePHP 3.3.0:

php composer.phar require "cakephp/cakephp:3.3.0-beta2"

What's new in 3.3.0?

The migration guide has a complete list of what's new in 3.3.0, and what has been deprecated. We recommend you give that page a read when upgrading.

Bugfixes and Minor Features

This release fixes a few issues identified in the 3.3.0-beta, as well as
bugfixes from master.

  • Text::truncateWidth() was added. This method lets you truncate text by a visual width. This is useful when working with languages that have double width characters like Japanese. (@chinpei215)
  • IntegrationTestCase can now correctly stub out the Content-Type header. (@dakota)
  • Allow integration testing of secure post requests with a query string. (@dakota)
  • requestAction() has been deprecated. Use view cells instead.
  • TreeBehavior now disallows nodes from being their own parents. (@markstory)
  • Dispatch Filters are now integrated in the new PSR7 middleware stack for backwards compatibility. (@markstory)
  • HttpClient sends the correct content-type when array data is sent. (@markstory)
  • No exceptions are raised when empty file inputs are uploaded. (@ADmad)
  • FormHelper::error() now allows message translation by rule name, in addition to by error message string. (@oyas)
  • Table::validateUnique() no longer raises an exception when non-scalar values are received. (@markstory)

Unless there are major issues with the 3.3.0-beta release, we will have a release candidate and stable release packaged in the 4-5 weeks. The documentation for 3.3.0 is now available in the book.

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

Continua a leggere

CakePHP 3.2.12 released

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.2.12. This is a maintenance release for the 3.2 branch that fixes several community reported issues and adds a few minor features.

Bugfixes

You can expect the following changes in 3.2.12. See the changelog for changes.

  • The console TableHelper more gracefully handles empty data. (@thinkingmedia)
  • Junction table conditions are now reset correctly. (@ulistaerk)
  • ExistsIn and IsUnique application rules are no longer invoked twice. (@markstory)
  • Generated junction table classes now inherit the connection of the table defining the BelongsToMany association. This makes it easier to have plugin specific connections. (@markstory)
  • URLs with uppercase protocols are now autolinked by TextHelper. (@ADmad)
  • Cache groups defined in injected cache engine instances are now registered correctly. (@dakota)
  • Request::header() can now read the Content-Length and Content-Type header values. (@markstory)

Minor Enhancements

  • Schema reflection will now include per-column collation data when available. (@chinpei215)
  • TimeHelper now supports an outputTimezone config option. This lets you set a global output timezone making it easier to localise formatted dates/times. (@markstory)
  • HtmlHelper::image() now supports CID: URLs. (@markstory)
  • Table::findOrCreate() now supports an atomic option. (@thinkingmedia)
  • Performance optimizations in find(list) (@dakota)
  • Folder::inCakePath() is now deprecated. Use Folder::inPath() instead. (@markstory)

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

Continua a leggere

CakePHP 3.2.11 released

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.2.11. This is a maintenance release for the 3.2 branch that fixes several community reported issues and adds a few minor features.

Bugfixes

You can expect the following changes in 3.2.11. See the changelog for every commit.

  • SQLServer schema correctly handles default values of 'NULL'. (@ADmad)
  • Model prefixed data is now merged with un-prefixed by the Marshaller instead of being used instead of un-prefixed data. (@markstory)
  • HttpClient will now correctly timeout connections from servers that never close the connection. (@chinpei215)
  • The Marshaller now correctly uses custom primary keys consistently. (@ndm2)
  • Invalid maxLimit values no longer result in a division by zero error. (@markstory)
  • SQLServer driver can now reflect views. (@tgr0ss)
  • A more clear exception is raised when associations define invalid primary keys. (@burzum)
  • A clearer exception is raised when validator methods don't return a Validator instance. (@dakota)
  • Sessions are now garbage collected when they expire, not after a long delay. (@hyaza)
  • RouteBuilder::redirect() now lets you use custom route classes. (@burzum)

Minor Enhancements

  • API documentation improvements (@ravage84, @ADmad, @frankfoerster, @ndm2)
  • HttpClient OAuth 1 adaptor now supports RSA-SHA1. (@TheFRedFox)
  • bin/cake --version now outputs the installed version of CakePHP. (@alysson-azevedo)
  • EventManager instances can now track the events they dispatch. (@burzum)
  • Route matching results now include a _matchedRoute parameter. This provides access to the template of the matched route. (@lorenzo)
  • Response::mapType() is now more efficient for common media types. (@jrbasso)
  • DateTimeType objects only create instances as needed now. (@lorenzo)
  • FormHelper::postButton() lets you customize the form element. (@TheFredFox)
  • TestCase::assertEventFired() and TestCase::assertEventFiredWith() were added. These methods make it easier to assert that events were triggered. (@jeremyharris)

As always, a huge thanks to all the community members that helped make this
release happen by reporting issues and sending pull requests.

Continua a leggere

CakePHP 2.8.5 Released

The CakePHP core team is happy to announce the immediate availability of CakePHP 2.8.5. This is a maintenance release for the 2.8 branch that fixes several community reported issues.

Bugfixes

You can expect the following changes in 2.8.5. See the changelog for every commit.

  • Bake now recommends using the FlashComponent instead of the deprecated SessionComponent. (@xhs345)
  • RequestHandlerComponent will now automatically parse request data for PATCH requests as it does for POST. (@icyrizard)
  • Sqlite now correctly handles DEFAULT CURRENT_TIMESTAMP. (@MarkusBauer)
  • FormHelper now resets the unlocked fields when a form is closed (@nojimage)

Minor Features

  • ApcEngine now supports APCu on PHP7. (@jrbasso)
  • Folder::read() can now sort by modified time. (@steampilot)
  • FormHelper::radio() now supports the fieldset option for customizing the generated fieldset element. (@xhs345)

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

Continua a leggere

CakePHP 3.2.9 released

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.2.9. This is a maintenance release for the 3.2 branch that fixes several community reported issues and adds a few minor features.

Bugfixes

You can expect the following changes in 3.2.9. See the changelog for every commit.

  • 'chef' is now pluralized correctly. (@ADmad)
  • Valiation::notBlank() now accepts '0'. (@dereuromark)
  • CookieComponent now correctly uses the encryption key configured on specific top-level keys. (@jorisvaesen)
  • SQLite schema generation now handles DEFAULT 'NULL' correctly. (@chinpei25)
  • CacheEngineFileEngine uses less memory when writing cache data. (@psaintjust)
  • EntityContext no longer modifies query objects. (@lorenzo)
  • Session::renew() no longer triggers errors when object destruction fails. (@lorenzo)
  • The ExistsIn rule now correctly applies on new entities that don't have the required columns set. (@raul338)
  • View classes set with viewBuilder() now take precedence over those defined with the deprecated viewClass property. (@markstory)
  • CompletionShell now correctly lists all subcommand names. (@markstory)
  • Bound parameters in eagerly loaded associations via the subquery strategy now work correctly. (@greew)
  • The IsUnique rule no longer emits field = NULL when properties are null. Instead it emits IS NULL. (@markstory)
  • Hash::merge() no longer emits an error when merging more than 2 arrays, containing mixed string/array values. (@markstory)
  • FormHelper::input() now forwards additional options to error() allowing you to turn of HTML escaping if you so wish. (@pperejon)

Minor Enhancements

  • Cache::clearAll() was added. This method lets you clear all data from all configured cache engines. (@mirkopagliai)
  • The ValidCount rule was added. This rule lets you ensure associations have the required number of associated values more easily. (@burzum)
  • BaseAuth now passes the 'username' to custom finders. (@phillaf)
  • Validator::hasAtLeast() and Validator::hasAtMost() were added. (@lorenzo)
  • Folder::read() now supports ordering files by modified time, or name. (@Tzaoh)
  • New mastercard numbers are now accepted by Validation::luhn (@psaintjust)
  • Date::setDefaultLocale() and Time::setDefaultLocale() were added. These methods replace direct access to the $defaultLocale property. (@markstory)
  • Named route mismatches now have better error messages. (@markstory)

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

Continua a leggere

CakePHP 2.8.4 Released

The CakePHP core team is happy to announce the immediate availability of CakePHP 2.8.4. This is a maintenance release for the 2.8 branch that fixes several community reported issues.

Bugfixes

You can expect the following changes in 2.8.4. See the changelog for every commit.

  • FormHelper::postLink() now correctly generates SecurityComponent field hashes when used within another form. (@MarkusBauer)
  • Validation::phone() now accepts 'N11' exchanges for North American phone numbers. (@markstory)
  • The Equifax Secure Certificate Authority root certificate was re-added. This fixes several issues with the certificate bundle update in 2.8.3. (@markstory)
  • BlowfishPasswordHasher now generates a random salt when comparing to a hashed password of ''. This prevents incorrect password matching on empty values. (@markstory)
  • FixtureTask honours the --records and --schema options when creating a fixture in a non-interactive fashion. (@markstory)
  • Several missing European locales were added (@bancer)
  • HTTP Range header parsing is more resilient (@markstory)
  • A regression introduced in 2.8.0 in FormHelper when handling the deprecated action option has been fixed. (@markstory)

Minor Features

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

Continua a leggere