Releases: cakephp/cakephp
CakePHP 5.0.11 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.10. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 5.0.10. See the changelog for every commit.
- Improve README contents and layout.
- Fixed errors found by new versions of phpstan.
- Optimize logic in
FormHelper
for working withEnum
values.
Contributors to 5.0.11
Thank you to all the contributors that submitted a pull request:
- ADmad
- Kevin Pfeifer
- Mark Scherer
- Mark Story
- othercorey
As always, we would like to also thank all the contributors that opened issues, or updated the documentation.
CakePHP 5.1.0-RC2 released
The CakePHP core team is happy to announce the second release candidate for CakePHP 5.1.0. Since the RC1 release the core team has added new features, and includes bugfixes from the 5.0 releases. Some of the highlights of this work include:
- CakePHP will no longer check that
zend.assertions
is enabled in non-debug environments. The related ini setting cannot be controlled at the directory level, and cannot be changed in some shared/cloud hosting environments. - Fixed
BehaviorRegistry::removeBehavior()
not clearing method maps. - Fixed deprecations with PHPUnit 11 and made CakePHP base classes compatible with PHPUnit 11.
- Replaced internal usage of
md5
withxxh128
. This impacts hashes used for group prefixes inCache
. - Fixed
IntegrationTestTrait::enableCsrfToken()
causing GET requests that follow a POST request to fail. - Added
toFloat()
,toInt()
,toString()
,toBool()
,toDateTime()
,toDate()
andtoBool()
to make it more ergonomic to convert request data into type-safe values. - The new casting functions are used by
ControllerFactory
to cast parameters for controller actions. - Components can now leverage the dependency injection container in their constructors.
Console\Argument::hasArgument()
no longer raises errors when arguments are undefined.ResultSetDecorator
is no longer used internally by the ORM. InsteadResultSet
is used directly.- Added support for geospatial types of
GEOMETRY
,POLYGON
,POINT
, andLINESTRING
for database drivers that support them and emulated support for SQLite. - The request returned by
Router::getRequest()
will now be updated after each middleware is processed, improving request mutations in error pages. - The default
valueSeparator
forfind(list)
is now a space instead of;
. This makes results more useful for interfaces.
What's new in 5.1.0
The migration guide has a complete list of what's new in 5.1.0. We recommend you give that page a read when upgrading as it notes the behavior changes present in 5.1.0.
How you Can Help
You can help deliver 5.1.0 by contributing in one of many ways:
- Check the
documentation <https://book.cakephp.org/5.next/en/>
_ for mistakes, outdated, unclear or broken examples. We've been trying to update the documentation as we go, but there are likely examples or sections we've missed. - Try it out! Give CakePHP 5.1.0 a test drive. Let us know how upgrading went and if there were any rough spots.
- File issues for regressions in existing features, or suggest new features. Even if those features don't make it into 5.1.0, we're early in the process of planning 5.2 and value community feedback.
Contributors to 5.1.0-RC2
Thank you to all the contributors that have contributed to this release:
- Adam Halfar
- ADmad
- Jamison Bryant
- jun-taniai
- Mark Scherer
- Mark Story
- othercorey
As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.
CakePHP 5.0.10 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.10. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 5.0.10. See the changelog for every commit.
IntegrationTestTrait::enableCsrfTokens()
will no longer add CSRF tokens to GET requests performed after a POST request in the same test method.- Improved API documentation
Router
now gets an updated request set after each middleware is applied. This gives exception handling access to request attributes added by middleware.FormHelper::unlockFields()
no longer raises errors when called without Form tampering protection being active.
Contributors to 5.0.10
Thank you to all the contributors that submitted a pull request:
- ADmad
- jun-taniai
- Mark Story
- othercorey
As always, we would like to also thank all the contributors that opened issues, or updated the documentation.
CakePHP 5.0.9 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.9. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 5.0.9. See the changelog for every commit.
- Fixed HTML validation for checkboxes generated by
FormHelper
. Table::removeBehavior()
now cleans up the method map and finder map.- Improved API documentation for Inflector.
- Removed the check for
zend.assertions
when debug is enabled. Cost effective hosting often does not provide access tophp.ini
and this config option cannot be changed. - Fix missing cast in
TestSuite\StringCompareTrait
.
Contributors to 5.0.9
Thank you to all the contributors that submitted a pull request:
- ADmad
- Mark Story
- othercorey
As always, we would like to also thank all the contributors that opened issues, or updated the documentation.
CakePHP 4.5.6 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.6. This is a maintenance release for the 4.4 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 4.5.6. See the changelog for every commit.
- Fixed how
MemcacheEngine
handles empty prefix values. - Fixed HTML validation for checkboxes generated by
FormHelper
. Table::removeBehavior()
now cleans up the method map and finder map.- Improved API documentation for Inflector.
Contributors to 4.5.6
Thank you to all the contributors that helped make this release happen:
- Joris Vaesen
- Mark Story
- othercorey
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 5.1.0-RC1 released
The CakePHP core team is happy to announce the first release candidate for CakePHP 5.1.0. The 5.1 release includes several behavior changes to increase correctness and new features. The highlights of those include:
- Connection now creates unique read and write drivers if the keys
read
orwrite
are present in the config regardless of values. - FormHelper no longer generates
aria-required
attributes on input elements that also have therequired
attribute set. Thearia-required
attribute is redundant on these elements and generates HTML validation warnings. If you are usingaria-required
attribute in styling or scripting you'll need to update your application. - Adding associations with duplicate names will now raise exceptions. You can use
$table->associations()->has()
to conditionally define associations if required. - View cells now emit events around their actions
Cell.beforeAction
andCell.afterAction
. Validation::enum()
andValidator::enum()
were added. These validation methods simplify validating backed enum values.Validation::enumOnly()
andValidation::enumExcept()
were added to check for specific cases and further simplify validating backed enum values.Client
now emitsHttpClient.beforeSend
andHttpClient.afterSend
events when requests are sent. You can use these events to perform logging, caching or collect telemetry.Http\Server::terminate()
was added. This method triggers theServer.terminate
event which can be used to run logic after the response has been sent in fastcgi environments. In other environments theServer.terminate
event runs before the response has been sent.
What's new in 5.1.0
The migration guide has a complete list of what's new in 5.1.0. We recommend you give that page a read when upgrading as it notes the behavior changes present in 5.1.0.
How you Can Help
You can help deliver 5.1.0 by contributing in one of many ways:
- Check the documentation for mistakes, outdated, unclear or broken examples. We've been trying to update the documentation as we go, but there are likely examples or sections we've missed.
- Try it out! Give CakePHP 5.1.0 a test drive. Let us know how upgrading went and if there were any rough spots.
- File issues for regressions in existing features, or suggest new features. Even if those features don't make it into 5.1.0, we're early in the process of planning 5.2 and value community feedback.
Contributors to 5.1.0-RC1
Thank you to all the contributors that have contributed to this release:
-
Adam Halfar
-
ADmad
-
Fernando Herrero
-
Frank de Graaf (Phally)
-
J.Brabec
-
Jozef Grencik
-
Kevin Pfeifer
-
KrzysiekNDS
-
Mark Scherer
-
Mark Story
-
Maximilian Ruta
-
ndm2
-
othercorey
-
Robert Pustułka
As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.
CakePHP 5.0.8 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.8. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 5.0.8. See the changelog for every commit.
- Added connection role to logged queries.
- Improved compatibility with 4.x finders. You can now call finder with named parameters but have the finder implemented with an
$options
array. - Eagerloaders now propagate connection roles.
- Error logs from fallback failures in
WebExceptionRenderer
now include stack traces making debugging easier. - Update documentation for
SelectQuery
. cake i18n extract
now allows--path
and--plugin
to be provided at the same time.
Contributors to 5.0.8
Thank you to all the contributors that helped make this release happen:
- ADmad
- Alejandro Ibarra
- Corey Taylor
- Jonathan Guillot
- Mark Scherer
- Mark Story
- othercorey
- wowDAS Markus Ramšak
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 4.5.5 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.5. This is a maintenance release for the 4.4 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 4.5.5. See the changelog for every commit.
- Fix problem formatting milliseconds using i18nFormat.
Contributors to 4.5.5
Thank you to all the contributors that helped make this release happen:
- freefri
- Mark Story
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 5.0.7 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.0.7. This is a maintenance release for the 5.0 branch that fixes several community reported issues.
Bugfixes
You can expect the following changes in 5.0.7. See the changelog for every commit.
- Add logging to error rendering failures. When error rendering fails, CakePHP will log error messages.
- Fix file handle leak in
StubConsoleInput
. - Reverted recent changes in connection aliasing. The test runner will automatically alias all live connections to
test_
prefixed ones. - Improved enum support in
FormHelper
. IntegrationTestTrait
no longer adds security tokens to GET requests with data.- Improved response assertion method output. Failure messages will now include the response body.
Contributors to 5.0.7
Thank you to all the contributors that helped make this release happen:
- ADmad
- KrzysiekNDS
- Mark Scherer
- Mark Story
- othercorey
- RoboSchmied
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 5.0.6 released
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.
Bugfixes
You can expect the following changes in 5.0.6. See the changelog for every commit.
- Fix validation of
ChronosTime
instances to be considered valid by thetime
validation method. - Allow
Collection::groupBy()
to work withEnum
values. - Improve display of console exceptions in production mode.
- Fix
Hash::insert()
with{s}
placeholders and attribute conditions on uneven datasets. - Fix potentially leaking file descriptor in
StubConsoleInput
. - Fixed formatting error of datetimes with microseconds.
- Fixed parsing of datetimes of microseconds.
Contributors to 5.0.6
Thank you to all the contributors that helped make this release happen:
- ADmad
- freefri
- Kevin Pfeifer
- Mark Scherer
- Mark Story
- othercorey
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.