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.

Reply via email to