CakePHP Versions Save

CakePHP: The Rapid Development Framework for PHP - Official Repository

5.0.6

1 month ago

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 the time validation method.
  • Allow Collection::groupBy() to work with Enum 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.

4.5.4

1 month ago

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.

Bugfixes

You can expect the following changes in 4.5.4. See the changelog for every commit.

  • Fix Hash::insert() and paths containing {s} and conditions, and data where all values after {s} are not arrays.

Contributors to 4.5.4

Thank you to all the contributors that helped make this release happen:

  • Mark Story
  • othercorey

As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.

5.0.5

2 months ago

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.

Bugfixes

You can expect the following changes in 5.0.5. See the changelog for every commit.

  • Fixed dirty state tracking for entities that use TranslateBehavior and use ResultSet methods to mutate records.
  • Improved marshalling nullable enum values from strings.
  • Shifted the logic for getting view variables to serialize into SerializedView::serializeKeys() so it is easier to override.
  • Improved session gc time when server side idle timeouts are disabled. PHP defaults are now used, and you can configure this with application configuration as well.
  • CollectionTrait::combine() is now compatible with enum keys.
  • Fixed an array to string warning in EventFiredWith constraints.
  • Improve API documentation.
  • Reduce potential for empty cloaking throrugh refactoring.
  • Fixed a regression with converting Date objects passed into datetime columns via the ORM into query parameters.
  • Fixed type error in IntegrationTestTrait when adding tokens to requests.

Contributors to 5.0.4

Thank you to all the contributors that helped make this release happen:

  • Adam Halfar
  • ADmad
  • dependabot[bot]
  • fabian-mcfly
  • Ishan Vyas
  • 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.

4.5.3

3 months ago

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.

Bugfixes

You can expect the following changes in 4.5.3. See the changelog for every commit.

  • Configuration based path keys are normalized to integer keys now.
  • Update requirements to be compatible with paragonie/csp-builder:^3.
  • Cookie assertion methods are now compatible with RedirectResponse.
  • Fixed dev error page rendering in PHP8.3
  • CI matrix now includes PHP8.3
  • Improve assertion failure message of EventFiredWith constraint.

Contributors to 4.5.3

Thank you to all the contributors that helped make this release happen:

  • Fabian Friedel
  • fabian-mcfly
  • Ishan Vyas
  • 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.

5.0.4

3 months ago

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.

Bugfixes

You can expect the following changes in 5.0.4. See the changelog for every commit.

  • Improve support for template paths being defined as an associative array.
  • Improved output of cache_clear commands.
  • Updated Sqlite mapping for binaryuuid to use UUID_TEXT.
  • The Exception.beforeRender event can now prevent default rendering from occurring by setting a result and stopping the event.
  • Fixed regression in SQLite schema reflection for older versions of SQLite.
  • Fixed off by one errors in code location for dd().
  • Updated dependency on paragonie/csp-builder to accept 3.0
  • The cookie assertions in IntegrationTestTrait now work with RedirectResponse values.
  • Fixed dev error page rendering in PHP8.3
  • Improved display of enum values in FormHelper.

Contributors to 5.0.4

Thank you to all the contributors that helped make this release happen:

  • ADmad
  • Chris Nizzardini
  • fabian-mcfly
  • Jens Mischer
  • Jorge González
  • Kevin Pfeifer
  • Marc de Lima Lucio
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • othercorey
  • Robert Pustułka

As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.

4.5.2

4 months ago

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.

Bugfixes

You can expect the following changes in 4.5.2. See the changelog for every commit.

  • Fix regression in plugin translation file loading order.
  • Marshalling Date values no longer sets a timezone.
  • Fix inconsistency between 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.
  • Added more deprecation annotations for easier upgrading to 5.x.
  • Fix off by one errors in dd().

Contributors to 4.5.2

Thank you to all the contributors that helped make this release happen:

  • ADmad
  • Jens Mischer
  • Kevin Pfeifer
  • Marc de Lima Lucio
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • othercorey
  • Robert Pustułka

As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.

5.0.3

4 months ago

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.

Bugfixes

You can expect the following changes in 5.0.3. See the changelog for every commit.

  • Update path to plugin_class_error.php.
  • Expanded enum support to include providing a label. Implementing 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.
  • Improved validation support for enums.
  • Widened type of $format in TimeHelper::format().
  • Support for PHP 8.3
  • Fixed significant performance regression in intl date and datetime formatting. Serializing dates and datetimes now cache intl formatters restoring performance to 4.x levels.
  • Improved support for binaryuuid type across database platforms.
  • Improved readability of missing route pages by collapsing the route list by default.
  • Improve support for indexes on generated columns in SQLite.
  • Improved internal tooling for maintaining consistency in split packages.

Contributors to 5.0.3

Thank you to all the contributors that helped make this release happen:

  • ADmad
  • Corey Taylor
  • Kevin Pfeifer
  • kolorafa
  • Marcelo Rocha
  • Mark Scherer
  • Mark Story
  • Mauro Brandoni
  • ndm2
  • Oliver Nowak
  • othercorey
  • Umer Salman
  • wowDAS Markus Ramšak

As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.

4.5.1

5 months ago

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.

Bugfixes

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.
  • Namespaced core functions are now wrapped in function_exists calls resolving errors if the file containing these functions are imported more than once.
  • Added schema mapping type to sqlite for UUID_TEXT.
  • Reverted deprecated annotation on LocatorAwareTrait::$defaultTable property.

Contributors to 4.5.1

Thank you to all the contributors that helped make this release happen:

  • ADmad
  • Corey Taylor
  • Jorge González
  • Kevin Pfeifer
  • Mark Scherer
  • Mark Story

As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.

5.0.2

5 months ago

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.

Bugfixes

You can expect the following changes in 5.0.2. See the changelog for every commit.

  • Fixed links between API docs and book.
  • TranslateBehavior now allows using _translations.{locale}.field_name style naming for default locale.
  • LoggedQuery::getContext() now includes the query that was emitted.
  • Fixed recursion errors when entities have cyclic references and 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.
  • Relaxed constraint on psr/simple-cache, psr/container and psr/http-message.
  • Invalid enum values are no longer cast to null when an invalid string value is marshalled into the PHP value.
  • Improved compatibility between enum values and FormHelper.
  • Improved compatibility between DateTimeWidget and ChronosTime.
  • Improved SQLite mapping of uuid abstract type. It now maps to UUID_TEXT.
  • TimeType::getClassName() was added. This method was missed in 5.0.0

Contributors to 5.0.2

Thank you to all the contributors that helped make this release happen:

  • ADmad
  • Jèfferson Gonçalves
  • Jorge González
  • Kevin Pfeifer
  • Lars Ebert
  • Mark Scherer
  • Mark Story
  • Mark Watney
  • Michael Hoffmann
  • othercorey
  • salehhashemi1992
  • wowDAS Markus Ramšak

As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.

4.5.0

6 months ago

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.

Upgrading to 4.5.0

You can use composer to upgrade to CakePHP 4.5.0:

php composer.phar require --update-with-dependencies "cakephp/cakephp:4.5.*"

Deprecation Warnings

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.

What's new in 4.5.0?

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.
  • Database and ORM connections now support 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.
  • New methods were added to queries to select the 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.
  • The development error page design has been improved. It now renders chained exceptions and makes navigating stack traces easier as each frame can be collapsed individually.
  • Console exception messages now include stack traces for chained exceptions.
  • 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().

Contributors to 4.5.0

Thank you to all the contributors that helped make 4.5 happen:

  • ADmad
  • Alejandro Ibarra
  • Brian French
  • Chris Nizzardini
  • Jaro Varga
  • Jose Daian
  • Kevin Pfeifer
  • Lars Ebert
  • leon.schaub
  • Marcelo Rocha
  • Mark Scherer
  • Mark Story
  • Matthias Wirtz
  • othercorey
  • Roland Waldner
  • wowDAS Ing. Markus Ramšak

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.

What's Next

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.