The CakePHP core team is proud to announce the first release candidate of CakePHP 4.3.0. The 4.3.0 release will introduce several new features and a handful of deprecations.
New Features
The migration guide has a complete list of what's new in 4.3.0. We recommend you give that page a read when upgrading as it outlines the deprecations present in 4.3.
Changes from RC2
Since the release of 4.3.0-RC2 the following changes have been made:
TestCase::deprecated()
now raises an assertion error if the callback doesn't trigger any deprecations.- Improved API documentation and static analysis tool typing.
- Improved error messages from incorrect Command classes.
- Fixed behavior of cascading deletes when
bindingKey
values arenull
. - Improved stack references for deprecation warnings.
- Deprecated
ModelAwareTrait
. Use the newLocatorAwareTrait
features instead. - Added
LocatorAwareTrait::fetchTable()
as a simpler API to get ORM Table instances. - Added
LocatorAwareTrait::$defaultTable
. This property replaces$modelClass
. - Passed parameters from routes can now be typed as
float
,bool
andint
. If an invalid value is used in a route, a 404 error will be raised. - Fixed BelongsToMany junction tables getting the incorrect entity class during association row replacement. Instead of getting entities from the association target table, you will receive entity records from the junction table.
- Duplicate deprecation warnings are only emit once now. You can enable duplicated output by setting
Error.allowDuplicateDeprecations
to true. cake plugin
now adds to the bottom of the Application bootstrap instead of the top.
How you Can Help
You can help by trying out the RC in your application. Please open issues for any new test failures or regressions the new version creates in your application.
Contributors to 4.3.0-RC3
Thank you to all the contributors that have helped with 4.3.0:
- ADmad
- Corey Taylor
- Mark Scherer
- Mark Story
- ndm2
- othercorey
- Rolf Kaiser
- saeideng
As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.