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+unsubscr...@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.