Skip to content

Releases: cakephp/cakephp

CakePHP 4.6.0-RC1 released

10 Feb 03:48
4.6.0-RC1

Choose a tag to compare

Pre-release

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:

  • RedisEngine now supports a tls option for connecting to redis via a TLS connection.
  • Optional Command arguments can now have a default value.
  • Number::formatter() and currency() now support a roundingMode option 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:

  1. 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.
  2. Try it out! Give CakePHP 4.6.0 a test drive. Let us know how upgrading went and if there were any rough spots.
  3. 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

17 Jan 04:31
5.1.5

Choose a tag to compare

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-ICU is already an implicit dependency through intl.
  • Improve API docs.
  • Minor optimizations, by removing redundant assignments, empty() and isset() checks.
  • The console package no longer has a hard dependency on Router. Instead Router will only be used if it is installed.
  • Correct column ordering being incorrect in reflected foreign key data with postgres.
  • The EavStrategy behavior now uses the entity class of the attached table instead of the Entity base class.
  • QueryException now 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

05 Jan 03:49
4.5.9

Choose a tag to compare

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

13 Dec 04:22
5.1.4

Choose a tag to compare

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 callable where previously typehints were Closure.
  • aria-invalid is now be applied to select elements.
  • Relaxed type hints that were list to be array.
  • Improved API documentation.
  • Converted 5xx response codes to 4xx for externally invoked bad URLs.
  • Client\Request no longer mangles the Content-Type header for JSON and XML requests with array data.
  • Paginator will now trigger warnings when settings have not been applied.
  • Request URIs are now read from REQUEST_URI instead of PATH_INFO. This resolves a potential security issue where paths with %2f would be incorrectly handled as / by CakePHP.
  • Improved CSP compliance in FormHelper by replacing inline style attributes with classnames, and inline JavaScript with script blocks when CspMiddleware is 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

25 Nov 03:56
4.5.8

Choose a tag to compare

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

10 Nov 04:19
5.1.2

Choose a tag to compare

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_ERROR to E_USER_WARNING to 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

04 Oct 03:08
5.1.1

Choose a tag to compare

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 method option now takes precedence over the value of type option.
  • 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 gettext compatible 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

21 Sep 03:10
4.5.7

Choose a tag to compare

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

14 Sep 02:53
5.1.0

Choose a tag to compare

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:

  • RedisEngine now supports TLS connections.
  • bin/cake plugin list has been added to list plugin metadata.
  • Optional Command arguments can now have a default value.
  • BannerHelper was 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, and toDateTime functions were added. They give you a typesafe way to cast request data or other input and return null when conversion fails.
  • pathCombine() was added to help build paths without worrying about duplicate and trailing slashes.
  • A new events hook was added to the BaseApplication as well as the BasePlugin class.
  • Support for point, linestring, polygon and geometry types were added to the Database package.
  • SelectQuery::intersect() and SelectQuery::intersectAll() were added.
  • Client now emits HttpClient.beforeSend and HttpClient.afterSend events when requests are sent.
  • Http\Server now emits Server.terminate event to run logic after the response has been sent in fastcgi environments. In other environments the Server.terminate event runs before the response has been sent.
  • View cells now emit events around their actions Cell.beforeAction and Cell.afterAction.
  • Validation::enum(), Validator::enum(), Validation::enumOnly(), and Validation::enumExcept() were added to further simplify validating backed enum values.
  • HtmlHelper can 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

13 Sep 02:15
5.0.11

Choose a tag to compare

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 with Enum 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.