Skip to content
Pre-release

@markstory markstory released this Aug 16, 2019 · 17 commits to master since this release

CakePHP 4.0.0-beta2 Released

The CakePHP core team is proud to announce the second beta release of CakePHP 4.0.0. Since the previous beta we've finished upgrading migrations to 4.x, cleaned up how booleans and nulls are handled by the database layer, improved generated javascript snippets, made the development error pages better, finished migrating all core shells to commands and merged all bugfixes for 3.x in.

The majority of breaking changes for 4.0 are complete. For the next beta release we'll be focusing on improving stability, improving error messages and plugins and continuing to add quality of life improvements.

New Features

The migration guide has a complete list of what's new in 4.0.0. We recommend you give that page a read when upgrading as it notes the various breaking changes present in 4.0.

How you Can Help

You can help deliver 4.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 everything but may have not caught everything.
  2. Try it out! Give CakePHP 4.0 a test drive in a non-production application. We'd love to hear how converting a small application went and what was harder than it should have been.
  3. File issues for regressions in existing features, or suggest new features. While we're not likely to greatly expand the scope of 4.0, we would like input on what should be a part of 4.1 and 4.2.
  4. Let us know about unclear error messages or silent failures in CakePHP.

Contributors to 4.0.0-beta2

Thank you to all the contributors that have helped since the beta1 release:

  • ADmad
  • Albert Cansado Solà
  • Anne van de Venis
  • Bogdan SOOS
  • Brandon Kelly
  • Edgaras Janušauskas
  • Hideki Kinjyo
  • Mark Scherer
  • Mark Story
  • Mauri Kujala
  • Robert Pustułka
  • Walther Lalk
  • andrii-pukhalevych
  • bancer
  • gregs
  • mirko-pagliai
  • ndm2
  • saeideng

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

Assets 3

@markstory markstory released this Aug 9, 2019 · 34 commits to master since this release

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

Bugfixes

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

  • Added simplexml to requirements of cakephp/utility.
  • i18n extract now supports the -p option like other core shells.
  • Improved API documentation.
  • Fixed incorrect association and _locale property assignment when using matching() with TranslateBehavior.
  • The default value for the $when parameter of Validation::notEmptyDateTime() was corrected.
  • RedisEngine now calls setTimeout() instead of expire().
  • FormHelper now correctly generates Javascript snippets to clear custom HTML validation messages.
  • Fixed an overflow error if RequestHandlerComponent was loaded multiple times with different configuration.

Contributors to 3.8.2

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

  • ADmad
  • Bogdan SOOS
  • Brandon Kelly
  • Edgaras Janušauskas
  • Hideki Kinjyo
  • Mark Scherer
  • Mark Story
  • andrii-pukhalevych
  • ndm2

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

Assets 3

@markstory markstory released this Jul 25, 2019 · 19537 commits to master since this release

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

Bugfixes

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

  • Added missing App::uses() call to CakeEventManager.
  • CakeTestRunner now passes the $exit parameter to doRun(). This
    improves compatibility with PHPUnit 5.2.x

Contributors to 2.10.19

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

  • Koji Tanaka
  • Mark Story

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

Assets 2

@markstory markstory released this Jul 13, 2019 · 87 commits to master since this release

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

Bugfixes

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

  • Improved error messages when ConsoleIntegrationTestTrait is missing replies for interactive questions.
  • Fixed how Http\Client\Adapter\CurlAdapter selects HTTP protocol versions.
  • Added getVisible() to the annotations in EntityInterface.
  • Fixed Table::loadInto() not loading translations.
  • Switched to using SCAN instead of KEYS to clear redis caches.

Contributors to 3.8.1

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

  • ADmad
  • Anne
  • Anne van de Venis
  • Marc Würth
  • Mark Story
  • Robert Pustułka
  • Walther Lalk
  • gregs

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

Assets 3
Pre-release

@markstory markstory released this Jun 30, 2019 · 101 commits to master since this release

The CakePHP core team is proud to announce the first beta release of CakePHP 4.0.0. Since the previous alpha we've been hard at work converting the various Shell classes into Commands, and adapting to the most recent changes in psalm. If your application or plugins extend shell classes in CakePHP you will need to update your code.

The majority of breaking changes for 4.0 are complete. For the next beta release we'll be focusing on improving stability, updating the remaining CakePHP managed plugins and continuing to improve error messages.

New Features

The migration guide has a complete list of what's new in 4.0.0. We recommend you give that page a read when upgrading as it notes the various breaking changes present in 4.0.

How you Can Help

You can help deliver 4.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 everything but may have not caught everything.
  2. Try it out! Give CakePHP 4.0 a test drive in a non-production application. We'd love to hear how converting a small application went and what was harder than it should have been.
  3. File issues for regressions in existing features, or suggest new features. While we're not likely to greatly expand the scope of 4.0, we would like input on what should be a part of 4.1 and 4.2.
  4. Let us know about unclear error messages or silent failures in CakePHP.

Contributors to 4.0.0-beta1

Thank you to all the contributors that have helped since the alpha1 release:

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

Assets 3

@markstory markstory released this Jun 27, 2019 · 103 commits to master since this release

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.8.0. This is the first stable release of 3.8.0. 3.8.0 provides a number improvements both large and small to CakePHP.

This release is the last planned feature release for 3.x. Going forward the core team will be focusing on supporting 3.8 and completing 4.0.0. We may do a 3.9 release, if there is significant community interest once 4.0 has been released.

Upgrading to 3.8.0

You can use composer to upgrade to CakePHP 3.8.0::

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

Deprecation Warnings

3.8.0 adds two new runtime deprecations. The most noticible deprecation will be in Validator. The parameter order for the new allowEmpty* methods added in 3.7 has been normalized to match the order used in the notEmpty* methods. While annoying we thought it was best to add warnings now and have consistent methods for 4.0 rather than have to carry deprecation warnings through several 4.x releases.

Because fixing deprecation warnings in a large application can be a non-trivial task you will likely want to disable deprecation warnings allowing you to make incremental progress in fixing them. To disable deprecation warnings set Error.errorLevel to E_ALL ^ E_USER_DEPRECATED in config/app.php.

The migration guide has more details on the deprecation in 3.8 and their replacements. Deprecated features will continue to exist and behave as they always have until 4.0.0

What's new in 3.8.0?

The migration guide has a complete list of what's new in 3.8.0. We recommend you give that page a read when upgrading. A few highlights from 3.8.0 are:

  • CollectionTrait now uses the newCollection method to create clones. This allows sub-classes to have collection methods create instances of themselves instead of using Collection.
  • Command::executeCommand() was added. This method makes it simple to call another command from the current one.
  • Validator::notEmptyString(), notEmptyArray(), notEmptyFile(), notEmptyDate(), notEmptyTime(), and notEmptyDateTime() were added. They act as compliments to the allowEmpty* methods added in 3.7.
  • Validation::mimeType() now compares checks mime-types in a case insensitive manner.
  • Validation::dateTime() now supports the iso8601 format.
  • Radio buttons can now customize the generated label by using the label key inside a complex option definition. This key will be used instead of the label key defined at the top level options.

Contributors to 3.8.0

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

  • ADmad
  • Andrej Griniuk
  • Cedric Alfonsi
  • Edgaras Janušauskas
  • Jeremy Harris
  • Jorge González
  • Lars Ebert
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • Nicolas
  • Robert Pustułka
  • Simone Alers
  • andrii-pukhalevych
  • chinpei215
  • madbbb

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

Assets 3

@markstory markstory released this Jun 20, 2019 · 266 commits to master since this release

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

Bugfixes

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

  • Fixed Type::buildAll() not returning custom type objects added with Type::set().
  • Improved API documentation examples.
  • Validation::isInteger() no longer accepts boolean values as 1/0.
  • Validation methods that operate on strings (minLength, maxLength, minLengthBytes, maxLengthBytes) now reject non-scalar values.
  • requestAction() now looks for 'return' in a type-safe way.

Contributors to 3.7.9

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

  • ADmad
  • Corey Taylor
  • George Constantinou
  • Mark Story
  • othercorey
  • saeideng

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

Assets 3
Pre-release

@markstory markstory released this Jun 13, 2019 · 147 commits to master since this release

The CakePHP core team is happy to announce the immediate availability of CakePHP 3.8.0-RC3. This is the release candidate for 3.8.0, and it contains several new major features.

3.8 is the last planned minor release of CakePHP 3.x before 4.0 is released. Once 4.0 is released, 2.x will only receive security fixes, and 3.x will only continue to receive bug & security fix releases. If there is significant community interest there may be a 3.9 release, but there are no plans at this point in time.

Updating to the RC

You can use composer to upgrade to the beta version of CakePHP 3.8.0:

php composer.phar require --update-with-dependencies "cakephp/cakephp:3.8.0-RC3"

We would greatly appreciate it if you temporarily upgraded your application, and ran your tests. By opening issues for any regressions in the release candidate, we can help ensure a smoother release of 3.8.0 before the stable release.

What's new in 3.8.0?

The migration guide has a complete list of what's new in 3.8.0, and what has been deprecated. We recommend you give that page a read when upgrading.

Changes since 3.8.0-RC2

  • FormContext::error() now returns array keys for errors.
  • Improved API documentation.
  • Improved error messages when associations are missing and association properties are accessed.
  • Iterating PluginCollection during application hook methods no longer skips hooks anymore.
  • Cleaned up ConsoleOutput constructor.
  • EntityContext can now read validation errors from nested validators.
  • Mimetype validation now compares values in a case-insensitive way.
  • EntityTrait::getVisibleProperties() is now deprecated. Use getVisible() instead.

Contributors to 3.8.0-RC3

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

  • ADmad
  • Andrej Griniuk
  • Corey Taylor
  • Mark Scherer
  • Mark Story
  • Robert Pustułka
  • othercorey
  • saeideng

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

Assets 3
Pre-release

@markstory markstory released this Jun 1, 2019 · 166 commits to master since this release

The CakePHP core team is proud to announce the second alpha release of CakePHP 4.0.0. Since the previous alpha we've been hard at work finishing off the improvements to typehinting and decreasing the number of skipped warnings from both psalm and phpstan. This may result in some breaking changes in your application or plugins, but in the long term we feel these changes will make CakePHP better.

The application skeleton and bake have been refreshed with a new coat of paint. We've opted to not continue using foundation for the basic CSS, and adopted milligram instead. The smaller footprint of milligram makes it easier for you to remove or extend if you'd prefer.

New Features

The migration guide has a complete list of what's new in 4.0.0. We recommend you give that page a read when upgrading as it notes the various breaking changes present in 4.0.

How you Can Help

You can help deliver 4.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 everything but may have not caught everything.
  2. Try it out! Give CakePHP 4.0 a test drive in a non-production application. We'd love to hear how converting a small application went and what was harder than it should have been.
  3. File issues for regressions in existing features, or suggest new features. While we're not likely to greatly expand the scope of 4.0, we would like input on what should be a part of 4.1 and 4.2.
  4. Let us know about unclear error messages or silent failures in CakePHP.

Contributors to 4.0.0-alpha2

Thank you to all the contributors that have helped since the alpha1 release:

  • ADmad
  • Corey Taylor
  • Edgaras Janušauskas
  • Ian den Hartog
  • Jeremy Harris
  • José Lorenzo Rodríguez
  • Marc Wilhelm
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • Michael Hoffmann
  • Robert Pustułka
  • TekkCraft
  • andrii-pukhalevych
  • mirko-pagliai
  • saeideng
  • stickler-ci
  • 時流

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

Assets 2

@markstory markstory released this May 30, 2019 · 287 commits to master since this release

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

Bugfixes

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

  • The application/json content type no longer has a charset parameter. It is not valid and newer versions of Chrome emit warnings when it is present.
  • Improved API documentation.
  • char(36) columns are now generated correctly in postgres.
  • Fixed plural form rules for Turkish.
  • Cache key generation for translators now works when changing locales mid-process.
  • IntegrationTestCase now handles absolute URLs correctly.
  • FormContext::error() now returns keys on error messages.
  • Controller::afterFilter() now has access to response objects returned by controller actions. Previously it would see an older version of the response.
  • Improved error messages when associations are missing.
  • Iterating PluginCollection in nested loops no longer stops iterating early.

Contributors to 3.7.8

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

  • ADmad
  • Corey Taylor
  • Jeremy Harris
  • José Lorenzo Rodríguez
  • Marc Wilhelm
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • Robert Pustułka
  • TekkCraft
  • 時流

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

Assets 3
You can’t perform that action at this time.