Releases: cakephp/cakephp
CakePHP 4.6.0-RC1 released
The CakePHP core team is happy to announce the first release candidate for CakePHP 4.6.0. The 4.6 release includes features backported from 5.1 and the upcoming 5.2 releases. 4.6.0 is a smaller release, as the core team's focus is on 5.x now. 4.x feature releases are now driven by primarily by community involvement. The highlights of what is new in 4.6 include:
RedisEnginenow supports atlsoption for connecting to redis via a TLS connection.- Optional
Commandarguments can now have adefaultvalue. Number::formatter()andcurrency()now support aroundingModeoption to control how rounding is handled.
What's new in 4.6.0
The migration guide has a complete list of what's new in 4.6.0.
How you Can Help
You can help deliver 4.6.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 4.6.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.
Contributors to 4.6.0-RC1
Thank you to all the contributors that have helped with the RC1 release:
- Adam Halfar
- ADmad
- Chris Nizzardini
- Fernando Herrero
- Frank de Graaf (Phally)
- Kevin Pfeifer
- 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.1.5 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.1.5. This is a maintenance release with a security fix for the 5.1 branch that fixes several community reported issues and regressions. If you are having problems with the framework breaking your application when you upgrade from 5.0.11 to 5.1, please open an issue.
Bugfixes
You can expect the following changes in 5.1.5. See the `changelog for every commit.
- Streamline composer dependencies.
lib-ICUis already an implicit dependency throughintl. - Improve API docs.
- Minor optimizations, by removing redundant assignments,
empty()andisset()checks. - The console package no longer has a hard dependency on
Router. InsteadRouterwill only be used if it is installed. - Correct column ordering being incorrect in reflected foreign key data with postgres.
- The
EavStrategybehavior now uses the entity class of the attached table instead of theEntitybase class. QueryExceptionnow includes the problematic SQL that was created the error.- The utility package no longer has a hard dependency on the i18n package.
- Fixed falsey value handling in
XmlView. - Using cached schema metadata no longer creates a database connection.
Contributors to 5.1.5
Thank you to all the contributors that submitted a pull request:
- ADmad
- Hermann Vallieri
- Iacovos Constantinou
- 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 4.5.9 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.9. This is a maintenance release for the 4.4 branch that fixes a few community reported issues and a security fix.
Bugfixes
You can expect the following changes in 4.5.9. See the changelog for every commit.
- Requests now read the uri from REQUEST_URI instead of PATH_INFO. PATH_INFO has urlescaping applied which enables requests with %2f to be routed when they should not. This could create a security risk for applications that use CDN or loadbalancer rules with paths to be bypassed.
- Fix ORM queries not being able to set read role.
Contributors to 4.5.9
Thank you to all the contributors that helped make this release happen:
- Jeppe Bonde Weikop for reporting the PATH_INFO issue.
- Kevin Pfeifer
- Mark Story
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 5.1.4 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.1.4. This is a maintenance release with a security fix for the 5.1 branch that fixes several community reported issues and regressions. If you are having problems with the framework breaking your application when you upgrade from 5.0.11 to 5.1, please open an issue.
Bugfixes
You can expect the following changes in 5.1.4. See the changelog for every commit.
- Relaxed typehints to allow
callablewhere previously typehints wereClosure. aria-invalidis now be applied toselectelements.- Relaxed type hints that were
listto bearray. - Improved API documentation.
- Converted 5xx response codes to 4xx for externally invoked bad URLs.
Client\Requestno longer mangles theContent-Typeheader for JSON and XML requests with array data.Paginatorwill now trigger warnings when settings have not been applied.- Request URIs are now read from
REQUEST_URIinstead ofPATH_INFO. This resolves a potential security issue where paths with%2fwould be incorrectly handled as/by CakePHP. - Improved CSP compliance in
FormHelperby replacing inline style attributes with classnames, and inline JavaScript with script blocks whenCspMiddlewareis enabled. - Fixed off-by-one error on stackframe offests in
ErrorTrap::handleError().
Contributors to 5.1.4
Thank you to all the contributors that submitted a pull request:
- ADmad
- Kevin Pfeifer
- Marc Würth
- Mark Scherer
- Mark Story
As always, we would like to also thank all the contributors that opened issues, or updated the documentation.
CakePHP 4.5.8 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.8. This is a maintenance release for the 4.4 branch that fixes a few community reported issues.
Bugfixes
You can expect the following changes in 4.5.8. See the changelog for every commit.
- Backport gettext compatible paths to the list of translation folders.
- Improved API docs for assertSameAsFile.
- Fixed deprecations on
QueryInterface.
Contributors to 4.5.8
Thank you to all the contributors that helped make this release happen:
- Mark Scherer
- Mark Story
- Val Bancer
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 5.1.2 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.1.2. This is a maintenance release for the 5.1 branch that fixes several community reported issues and regressions. If you are having problems with the framework breaking your application when you upgrade from 5.0.11 to 5.1, please open an issue.
Bugfixes
You can expect the following changes in 5.1.2. See the changelog for every commit.
- Fix usage of constants in EavStrategy.
- Clean up constructor logic.
- In console command listings app and cakephp commands are now displayed above plugin names.
- Added command descriptions to all framework commands.
- Fixed file descriptor leaks in
StubConsoleOutput. - Added support for using DI in commands executed by other commands.
- Restored ability to disable query logging at runtime.
- Improved performance of count updates in CounterCache.
- Fixed object naming in
ObjectRegistry. Plugin class names are reflected more correctly now. - Added IP and URL to active transaction warning.
- Cleanup usage of special view variables to configure the class in SerializedView.
- Swapped usage of
E_USER_ERRORtoE_USER_WARNINGto improve compatibility with PHP 8.4. - Fixed geospatial types not being defined in TypeFactory.
- Improved API documentation.
- Fixed disabling client side buffering with SqlServer when it is disabled in the
SelectQuery. - Fix XML serialization to not break with enums.
- Add cjs/mjs extensions.
Contributors to 5.1.2
Thank you to all the contributors that submitted a pull request:
- Adam Halfar
- ADmad
- Kevin Pfeifer
- Mark Scherer
- Mark Story
- Nicolas Roggli
- othercorey
As always, we would like to also thank all the contributors that opened issues, or updated the documentation.
CakePHP 5.1.1 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.1.1. This is a maintenance release for the 5.1 branch that fixes several community reported issues and regressions. If you are having problems with the framework breaking your application when you upgrade from 5.0.11 to 5.1, please open an issue.
Bugfixes
You can expect the following changes in 5.1.1. See the changelog for every commit.
- Improve FormHelper's request method inference. The
methodoption now takes precedence over the value oftypeoption. - Fixed regression in meta tag generation.
- Fix missing method errors in Console only applications.
- EventAwareApplicationInterface was added. This interface was is to solve the console compatibility issue.
- Event hooks are now called application first, plugins after. This aligns behavior with other hooks.
- I18n message translation now supports
gettextcompatible paths. - PaginatorHelper will now reset the current page to 1 when changing the per page limit. This reduces the chances of end users getting 404 errors changing their per page limit.
- The new
to*()type coercion fuctions are now available as a global functions for applications that prefer to use global functions. - Removed inline javascript from disabled pagination buttons. This improves compatibility with strict CSP policies._
- Fixed a type error if
Mailer::reset()was called without proper setup. - Fixed a SQL generation regression for UNION queries in MySQL < 8.
Contributors to 5.1.1
Thank you to all the contributors that submitted a pull request:
- ADmad
- bancer
- Kevin Pfeifer
- Mark Story
- Robert Pustułka
As always, we would like to also thank all the contributors that opened issues, or updated the documentation.
CakePHP 4.5.7 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 4.5.7. This is a maintenance release for the 4.4 branch that fixes a few community reported issues.
Bugfixes
You can expect the following changes in 4.5.7. See the changelog for every commit.
- Added annotations for mixin and template to Association classes.
- Fix
BehaviorRegistry::unload()not detaching camelCase methods.
Contributors to 4.5.7
Thank you to all the contributors that helped make this release happen:
- Adam Halfar
- Mark Scherer
- Mark Story
As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
CakePHP 5.1.0 released
The CakePHP core team is happy to announce the immediate availability of CakePHP 5.1.0. 5.1.0 provides a number improvements to CakePHP. 5.1.0 introduces a small number of deprecation warnings. Any deprecations introduced now will continue to have consistent behavior until their removal in 6.0.0. There is no scheduled date for 6.0.0 at this time.
Upgrading to 5.1.0
You can use composer to upgrade to CakePHP 5.1.0::
php composer.phar require --update-with-dependencies "cakephp/cakephp:5.1.*"Deprecation Warnings
5.1 introduces a few deprecations. All of these features will continue for the duration of 5.x but will be removed in 6.0. See the migration guide.
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. A few highlights from 5.1.0 are:
RedisEnginenow supports TLS connections.bin/cake plugin listhas been added to list plugin metadata.- Optional
Commandarguments can now have adefaultvalue. BannerHelperwas added. This command helper can format text as a banner with a colored background and padding.- Components can now use the DI container to have dependencies resolved and provided as constructor parameters just like Controllers and Commands do.
- The
toString,toInt,toBool,toDate, andtoDateTimefunctions were added. They give you a typesafe way to cast request data or other input and returnnullwhen conversion fails. pathCombine()was added to help build paths without worrying about duplicate and trailing slashes.- A new
eventshook was added to theBaseApplicationas well as theBasePluginclass. - Support for
point,linestring,polygonandgeometrytypes were added to the Database package. SelectQuery::intersect()andSelectQuery::intersectAll()were added.Clientnow emitsHttpClient.beforeSendandHttpClient.afterSendevents when requests are sent.Http\Servernow emitsServer.terminateevent to run logic after the response has been sent in fastcgi environments. In other environments theServer.terminateevent runs before the response has been sent.- View cells now emit events around their actions
Cell.beforeActionandCell.afterAction. Validation::enum(),Validator::enum(),Validation::enumOnly(), andValidation::enumExcept()were added to further simplify validating backed enum values.HtmlHelpercan now create a meta tag with the CSRF token in it.
Contributors to 5.1.0
Thank you to all the contributors that helped make 5.1 happen:
- Adam Halfar
- ADmad
- Alejandro Ibarra
- Fernando Herrero
- Frank de Graaf (Phally)
- Jamison Bryant
- J.Brabec
- Jozef Grencik
- Kevin Pfeifer
- KrzysiekNDS
- Mark Scherer
- Mark Story
- Maximilian Ruta
- ndm2
- Nicos Panayides
- 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. 5.1.0 is a large release and would not have been possible without the community support and feedback.
What's Next
With 5.1.0 shipped, future feature work will continue on 5.next and eventually form 5.2.0. Bug fixes for 5.1 will be done in the 5.x branch, and 5.0 will receive security fixes until the release of 5.3.
The roadmap for 5.x is still under development. We're interested in making the upgrade from 5.0 to 5.1 a smooth one, and would appreciate any feedback you have on upgrade difficulties. Please open an issue and get the discussion started.
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
FormHelperfor working withEnumvalues.
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.