Skip to content
4.3.2
Compare
Choose a tag to compare

The CakePHP core team is happy to announce the immediate availability of CakePHP 4.3.2. This is a maintenance release for the 4.3 branch that fixes several community reported issues.

Bugfixes

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

  • Added array type coercion to controller actions. Lists of , separated values can now be unpacked into arrays.
  • Ensure that $defaultTable is set in controllers.
  • Relaxed version contraints on psr/container.
  • Updated cache keys generated by Table::get(). Previously keys were not compatible with file based caches. The side-effect of this fix is that cache keys will change.
  • Added _urldecode option to route to allow more control on how request URLs are decoded.
  • Fixed missing milliseconds in log messages.
  • Fixed Router::reverse() not handling parameters created with Route::setPass() properly.
  • Added support for 308 HTTP status code.
  • Removed _defaultConfig from PaginatorComponent to fix default configuration defined in sub-classes from being ignored.
  • Improved API documentation.

Contributors to 4.3.2

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

  • ADmad
  • Chris Hallgren
  • Corey Taylor
  • Ian den Hartog
  • Kevin Pfeifer
  • Marc Würth
  • Mark Scherer
  • Mark Story

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

4.3.1
Compare
Choose a tag to compare

The CakePHP core team is happy to announce the immediate availability of CakePHP 4.3.1. This is a maintenance release for the 4.3 branch that fixes several community reported issues.

Bugfixes

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

  • Fixed incomplete cloning when Database\Query is cloned.
  • Fixed Query::modifier() not handling expression objects correctly.
  • Improved array typehints in API documentation blocks.
  • Fixed custom type mappings defined in Table classes not being used when inserting fixture rows with the new fixture system.
  • Improved deprecation messages for QueryExpression::case().
  • Fixed base path handling in HttpsEnforcerMiddleware.

Contributors to 4.3.1

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

  • ADmad
  • Mark Scherer
  • Mark Story
  • mirko-pagliai
  • ndm2
  • othercorey
  • Remi Collet

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

3.10.1
Compare
Choose a tag to compare

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.10.1. This is a maintenance release for the 3.10 branch that fixes several community reported issues.

Bugfixes

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

  • Fixed radio inputs generating duplicate id attribute values when values had trailing/leading -.
  • Fixtures now only reset sequences in SQLServer if required.
  • Fix DateType not clearing time for DateTimeImmutable.
  • Fixed cascading deletes generating incorrect SQL when bindingKey values are null.

Contributors to 3.10.1

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

  • Marc Würth
  • 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.3.0
Compare
Choose a tag to compare

The CakePHP core team is happy to announce the immediate availability of CakePHP 4.3.0. This is the first stable release of 4.3.0. 4.3.0 provides a number improvements to CakePHP.

Upgrading to 4.3.0

You can use composer to upgrade to CakePHP 4.3.0::

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

Deprecation Warnings

4.3 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.3.0?

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. A few highlights from 4.3.0 are:

  • A new fixture system that allows you to use your existing migrations or SQL dump files to define schema was added. Support for cake's migrations and SQL dump files is included.
  • TestSuite\HttpMockTrait was added to make mocking HTTP client requests easier.
  • LocatorAwareTrait::fetchTable() was added to make the getTableLocator()->get() pattern more ergonomic.
  • Controller::middleware() was added. This method lets you define middleware specific to a controller, or the current controller action.
  • deprecationWarning() no longer emits duplicate warnings.
  • Form objects now support multiple validators and leverage a similar interface to the ORM to use those validators.
  • Logged SQL queries now use boolean literals making them easier to paste into a repl.
  • The cake console command was extracted into a new cakephp/repl package.
  • CspMiddleware can now transparently add nonce- based policies.
  • FormHelper will now set additional ARIA attributes automatically.
  • The ORM can now marshall date times from the user's timezone into the applications timezone transparently.
  • CakePHP's dependency on league/container was bumped to ^4.1.1 and psr/container to ^2.0.

Contributors to 4.3.0

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

  • ADmad
  • andrii-pukhalevych
  • Breton Erwane
  • captain-redbeard
  • Chris Nizzardini
  • Erwane Breton
  • fabsn182
  • Jan Brabec
  • Juan Pablo Ramirez
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • ndm2
  • othercorey
  • Rafael Mardones
  • Rob Rikken
  • saeideng

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests. 4.3.0 is a large release and would not have been possible without the community support and feedback.

4.3.0-RC4
Compare
Choose a tag to compare
Pre-release

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 RC3

Since the release of 4.3.0-RC3 the following changes have been made:

  • A new fluent builder for CASE expressions was added to QueryExpression.
  • QueryExpression::addCase() is now deprecated.
  • Associations that load records with the subquery strategy, no longer include a LIMIT clause if there is no ORDER BY on the query.
  • CakePHP's dependency on league/container was bumped to ^4.x this may cause type errors with ServiceProvider implementations.
  • The new fixture system was further refined, both in API and performance. These changes may cause incompatibilities with applications using previous release candidates.
  • Fixed the singular form of 'lenses' to 'lens'.

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-RC4

Thank you to all the contributors that have helped with 4.3.0:

  • ADmad
  • Corey Taylor
  • Mark Scherer
  • Mark Story
  • ndm2

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

4.2.10
Compare
Choose a tag to compare

The CakePHP core team is happy to announce the immediate availability of CakePHP 4.2.10. This is a maintenance release for the 4.2 branch that fixes several community reported issues.

Bugfixes

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

  • Fix a TypeError in CsrfProtectionMiddleware when invalid data was provided.
  • Fixed MailContains constraint from escaping patterns multiple times.
  • Improved API documentation.
  • Added workaround for breaking change in PHPUnit 9.5.10.
  • Fixed incorrect SQL being generated when a HasMany association has a null value, and the association has cascadeCallbacks.
  • Fix DateType not clearing time values for DateTimeImmutable. This scenario can arise when using the cakephp/orm package directly.
  • Limit clauses are ignored if no order exists when using a subquery strategy for HasMany associations.

Contributors to 4.2.10

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

  • ADmad
  • Corey Taylor
  • Julian Pollmann
  • Kevin Pfeifer
  • Mark Scherer
  • Mark Story
  • Rolf Kaiser

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

4.3.0-RC3
Compare
Choose a tag to compare
Pre-release

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 are null.
  • Improved stack references for deprecation warnings.
  • Deprecated ModelAwareTrait. Use the new LocatorAwareTrait 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 and int. 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.

4.3.0-RC2
Compare
Choose a tag to compare
Pre-release

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 RC1

Since the release of 4.3.0-RC1 the following changes have been made:

  • View::addHelpers() was added and the $merge flag of setHelpers() was deprecated.
  • Association::setName() was deprecated.
  • A type error in CsrfProtectionMiddleware was fixed. This error could be triggered if cookie data was invalid.
  • MailContains only escapes patterns once noce.
  • Fixture cleanup performance was improved for SQLServer.
  • BaseLog::resolve() was renamed to BaseLog::interpolate().
  • TestCase::loadFixtures() is now deprecated.
  • The automatic nonce policy features of CspMiddleware now require opt-in configuration to enable. This improves backwards compatibility for applications with existing CSP policies.
  • Improved API documentation.
  • Improved extensibility of fixture strategies by always calling setup/teardown methods.

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-RC2

Thank you to all the contributors that have helped with 4.3.0:

  • ADmad
  • Corey Taylor
  • Juan Pablo Ramirez
  • Julian Pollmann
  • 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.

4.3.0-RC1
Compare
Choose a tag to compare
Pre-release

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.

New Feature Highlights

  • Controller::middleware() was added which allows you to define middleware for a single controller only.
  • Http\Client::addMockResponse() was added making integration tests easier to write without using complex to define mocks.
  • A JSON based logger was added.
  • FormHelper generates aria attributes improving out-of-the box accessibility.
  • A new fixture subsystem leverages your migrations or SQL dumps to generate test database schema was added.

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-RC1

Thank you to all the contributors that have helped with 4.3.0:

  • ADmad
  • Breton Erwane
  • Chris Nizzardini
  • Erwane Breton
  • J.Brabec
  • Jan Brabec
  • Juan Pablo Ramirez
  • Mark Scherer
  • Mark Story
  • Rob Rikken
  • andrii-pukhalevych
  • captain-redbeard
  • chris cnizzardini
  • fabsn182
  • jpramirez
  • ndm2
  • othercorey

As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.

4.2.9
Compare
Choose a tag to compare

The CakePHP core team is happy to announce the immediate availability of CakePHP 4.2.9. This is a maintenance release for the 4.2 branch that fixes several community reported issues.

Bugfixes

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

  • Fixed radio inputs trimming off leading - which could result in duplicate id attributes.
  • Improved API documentation.
  • Fixed newline usage in MailTransport. In PHP8 mail() require headers to be separated with CRLF instead of PHP_EOL.
  • Fixture truncation in SQLServer now only regenerates sequences that were used.

Contributors to 4.2.9

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

  • ADmad
  • Corey Taylor
  • Lars Willighagen
  • Mark Story
  • othercorey
  • saeideng

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