Thursday, July 16, 2015

CakePHP 3.0.9 Released

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.0.9. This is a maintenance release for the 3.0 branch.

Bugfixes
--------

You can expect the following changes in 3.0.9. See the [changelog](http://cakephp.org/changelogs/3.0.9) for every commit.

* Index and constraint reflection in MySQL now scopes to the current database.
* `.` is now allowed in ObjectRegistry keys. This allows cache configurations to have `.` in their names.
* Datetime validation now correctly handles meridian values.
* Improved API documentation.
* Pagination link generation is correct with custom routes.
* `Entity::extractOriginalChanged()` now returns properties that were initially null.
* Marshalling `_joinData` in belongsToMany associations with existing entities is now handled correctly.
* `Text::tokenize()` now works as expected when the separator is a multi-byte character.
* Folders generated by `i18n extract` have the correct permissions assigned.
* Entities are now marked as 'clean' after the afterSave event.
* The ORM does not emit UPDATE statements for hasMany and belongsToMany associations that have not actually changed.
* `Response::file()` now accepts files with `..` in the basename.

Improvements
------------

As part of the 3.0 patch releases we are experimenting with implementing smaller net new features. In 3.0.9 the following new features were added:

* Associations can now define a `bindingKey()` this column allows you to bind associations to non-primary key columns. This aims to remove the need to  define `foreignKey => false` in associations.
* Collections can now be serialized and unserialized with ease. This makes  caching collections easier.
* Exception attributes are no longer logged when debug=0.
* `Response::body()` accepts a callable that can echo content directly or  return the response body.
* `Email::configuredTransport()` was added to allow enumeration of the configured email transports.
* String templates accept `.` and `_` in variable names. This improves compatibility with arrays generated by `Hash::flatten()`
* Custom Type classes can define a baseType that maps to a simpler type. This makes it easier for FormHelper to generate inputs for custom types.
* `i18n extract` now supports a `--no-location` option. This option will omit the location comments for messages from the generated POT file.

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

Download a [packaged release on github](https://github.com/cakephp/cakephp/releases).

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: