CakePHP 2.6.0 Released
The CakePHP core team is proud to announce the immediate availability of CakePHP 2.6.0. There have been a few changes to 2.6.0 since the RC1 release:
- AuthComponent now fires the
Auth.afterIdentify
event after users are logged in. - HtmlHelper::script() and HtmlHelper::css() no longer share a single asset list for the once option.
- Postgres driver supports sslmode.
- The test suite can now use PHPUnit's phar file.
- The RLIKE operator is now supported by the MySQL driver.
- API documentation improvements
- PaginatorHelper now merges options used for active links with options used for disabled links.
New Feature Highlight
stackTrace()
has been added as a convenience wrapper function forDebugger::trace()
.
It directly echos just asdebug()
does. But only if debug level is on.ConsoleOptionParser::removeSubcommand()
was added.Shell::overwrite()
has been added to allow generating progress bars or to avoid outputting
too many lines by replacing text that has been already outputted to the screen.- When using AclBehavior, The model's
parentNode()
method now gets the type
(Aro, Aco) passed as first argument:$model->parentNode($type)
. - Schema migrations with MySQL now support an
after
key when adding
a column. This key allows you to specify which column the new one should be
added after. Model::save()
had theatomic
option back-ported from 3.0.CakeRequest::param()
can now read values using :ref:hash-path-syntax
likedata()
.CakeRequest:setInput()
was added.HttpSocket::head()
was added.- You can now use the
protocol
option to override the specific protocol to
use when making a request. CakeTime::timeAgoInWords()
now supportsstrftime()
compatible absolute
date formats. This helps make localizing formatted times easier.CakeTime::timeAgoInWords()
now supports arelativeStringFuture
option.
This option is a printf compatible string for outputting future relative time
date formats. This helps make localizing formatted times easier.Hash::get()
now raises an exception when the path argument is invalid.Hash::nest()
now raises an exception when the nesting operation results in
no data.HtmlHelper::css()
had theonce
option added. It works the same
as theonce
option forHtmlHelper::script()
. The default value is
false
to maintain backwards compatibility.- The
maxlength
attribute will now also be applied to textareas, when the corresponding
DB field is of type varchar, as per HTML specs. - New i18n functions have been added. The new functions allow you to include
message context which allows you disambiguate possibly confusing message
strings. For example 'read' can mean multiple things in English depending on
the context. The new__x
,__xn
,__dx
,__dxn
,__dxc
,__dxcn
, and
__xc
functions provide access to the new features. - AuthComponent now triggers the
Auth.afterIdentify
event after successfully
identifying a user. Model::afterFind()
now always uses a consistent format for afterFind().
When$primary
is false, the results will always be located under
$data[0]['ModelName']
. You can set the$this->useConsistentAfterFind = false
to
restore the original behaviour if your application relies on the old behavior.- Configure value
I18n.preferApp
can now be used to control the order of translations. If set to true it will prefer the app translations over any plugins' ones.
Deprecations
In addition to new features, a few features have been deprecated, and will be removed in CakePHP 3.0.0
Validation::between
has been deprecated, you should use
Validation::lengthBetween
instead.Validation::ssn
has been deprecated and may be provided as standalone/plugin solution.- The
$confirmMessage
argument ofHtmlHelper::link()
has been
deprecated. You should instead use keyconfirm
in$options
to specify
the message. - The
$confirmMessage
argument ofFormHelper::postLink()
has been
deprecated. You should instead use keyconfirm
in$options
to specify
the message.
The Future of 2.x
With 2.6.0 released, the development branch for 2.7.0 has been created. This branch will be released in 5-6 months and will be another 2.x API compatible release. While the core team doesn't have any large improvements planned for 2.7, there will be some efforts to backport useful features from 3.0 to help you migrate more easily.
A huge thanks to all involved in terms of both contributions through commits, tickets, documentation edits, and those whom have otherwise contributed to the framework. Without you CakePHP wouldn't be possible.