CakePHP: The Rapid Development Framework for PHP - Official Repository
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.6. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
You can expect the following changes in 5.0.6. See the changelog for every commit.
ChronosTime
instances to be considered valid by the time
validation method.Collection::groupBy()
to work with Enum
values.Hash::insert()
with {s}
placeholders and attribute conditions on uneven datasets.StubConsoleInput
.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.4. This is a maintenance release for the 4.4 branch that fixes several community reported issues.
You can expect the following changes in 4.5.4. See the changelog for every commit.
Hash::insert()
and paths containing {s}
and conditions, and data where all values after {s}
are not arrays.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.5. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
You can expect the following changes in 5.0.5. See the changelog for every commit.
TranslateBehavior
and use ResultSet
methods to mutate records.SerializedView::serializeKeys()
so it is easier to override.CollectionTrait::combine()
is now compatible with enum keys.EventFiredWith
constraints.empty
cloaking throrugh refactoring.Date
objects passed into datetime
columns via the ORM into query parameters.IntegrationTestTrait
when adding tokens to requests.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.3. This is a maintenance release for the 4.4 branch that fixes several community reported issues.
You can expect the following changes in 4.5.3. See the changelog for every commit.
paragonie/csp-builder:^3
.RedirectResponse
.EventFiredWith
constraint.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.4. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
You can expect the following changes in 5.0.4. See the changelog for every commit.
cache_clear
commands.binaryuuid
to use UUID_TEXT
.Exception.beforeRender
event can now prevent default rendering from occurring by setting a result and stopping the event.dd()
.IntegrationTestTrait
now work with RedirectResponse
values.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.2. This is a maintenance release for the 4.4 branch that fixes several community reported issues.
You can expect the following changes in 4.5.2. See the changelog for every commit.
Error.beforeRender
and Exception.beforeRender
. You can now stop this event to prevent output being rendered, or set your own result to bypass the default renderer just like error handling.dd()
.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.3. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
You can expect the following changes in 5.0.3. See the changelog for every commit.
plugin_class_error.php
.Cake\Database\Type\EnumLabelInterface
in your enum class will allow you to provide a user facing label. Labels are used by FormHelper
when generating controls.$format
in TimeHelper::format()
.binaryuuid
type across database platforms.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.1. This is a maintenance release for the 4.4 branch that fixes several community reported issues and a minor security related fix.
You can expect the following changes in 4.5.1. See the changelog for every commit.
ControllerFactory
no longer raises errors on union
typed parameters.Collection::combine()
raises an error when keys are null
.function_exists
calls resolving errors if the file containing these functions are imported more than once.UUID_TEXT
.LocatorAwareTrait::$defaultTable
property.Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.2. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
You can expect the following changes in 5.0.2. See the changelog for every commit.
TranslateBehavior
now allows using _translations.{locale}.field_name
style naming for default locale.LoggedQuery::getContext()
now includes the query that was emitted.getErrors()
or hasErrors()
is called.ControllerFactory
no longer raises errors when it encounters a type it cannot cast into (like unions). Instead the framework relies on PHP to validate the parameter types.Collection::combine()
now raises an error should a path result in a null value for the key.psr/simple-cache
, psr/container
and psr/http-message
.FormHelper
.DateTimeWidget
and ChronosTime
.uuid
abstract type. It now maps to UUID_TEXT
.TimeType::getClassName()
was added. This method was missed in 5.0.0Thank you to all the contributors that helped make this release happen:
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.0. This is the first stable release of 4.5.0. 4.5.0 provides a number improvements to CakePHP. 4.5.0 introduces a large number of deprecation warnings aimed at assisting with future upgrades to CakePHP 5.0.
You can use composer to upgrade to CakePHP 4.5.0:
php composer.phar require --update-with-dependencies "cakephp/cakephp:4.5.*"
4.5 introduces a few deprecations. All of these features will continue for the duration of 4.x but will be removed in 5.0. See the migration guide.
The migration guide has a complete list of what's new in 4.5.0. We recommend you give that page a read when upgrading. A few highlights from 4.5.0 are:
bin/cake cache clear_group <name>
was added. This command gives a CLI interface to clearing a specific cache group.ComponentRegistry
is now automatically added to your application's DI container.Controller::addViewClasses()
was added. This method lets you build a controller's view classes programatically.read
and write
connection roles. Connection roles let you scale an application up by using read-replicas. When defining connections, roles can be configured with read
and write
keys in the connection config that override the shared config.read
or write
connection role to be used.ModelAwareTrait::fetchModel()
was added. This method works similar to loadModel()
but does not set the model as an attribute.EntityTrait::$_hasAllowsNull
was added. This property allows you to incrementally opt-in to a breaking change present in 5.x for EntityTrait::has()
.View::addHelper()
was added. This method compliments addBehavior()
and addComponent()
.Thank you to all the contributors that helped make 4.5 happen:
As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests. 4.5.0 is a large release and would not have been possible without the community support and feedback.
With both 5.0 and 4.5 shipped the core team's focus will be primarily on CakePHP 5.x. Future 4.x releases will be primarily community driven. Feature and bugfix releases for 4.x will continue until September 2025. Security fixes will continue for 4.x until September 2026.
The roadmap for 5.x is still under development. We're interested in making the upgrade from 4.5.0 to 5.0 a smooth one, and would appreciate any feedback you have on upgrade difficulties. Please open an issue and get the discussion started.