CakePHP v4.0.0-RC2 Release Notes

Release Date: 2019-12-02 // over 4 years ago
  • πŸš€ The CakePHP core team is happy to announce the immediate availability of CakePHP 4.0.0-RC2. This is the second and hopefully final release candidate for 4.0.0, and contains all the major features that are planned for 4.0.0. If no major issues are reported a stable release will be packaged in two weeks.

    ⚑️ Updating to the RC

    ⬆️ You can use composer to upgrade to the beta version of CakePHP 4.0.0:

    php composer.phar require --update-with-dependencies "cakephp/cakephp:4.0.0-RC2"
    

    πŸš€ 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 4.0.0 before the stable release.

    What's new in 4.0.0?

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

    πŸ”„ Changes since 4.0.0-RC1

    • Validation::compareFields() now works with null values.
    • Email attachments now URL encode filenames with non-ascii characters.
    • βž• Added assertRedirectEquals() to allow assertions without the base path being added.
    • βœ‚ Removed Http\Server::setRunner(), as the runner can be provided as a constructor argument now.
    • πŸ‘Œ Improved error messages from QueryExpressions when null is used with an incompatible operator.
    • βž• Added deprecation warnings for Validator::allowEmpty() and Validator::notEmpty().
    • 🚚 The safe option was removed from HtmlHelper::script() and scriptBlock(). This option is not needed in an HTML5 context.
    • 🚚 HtmlHelper::docType() is removed.
    • πŸ“¦ The console package was more thoroughly tested in isolation and several problems were fixed.
    • FormProtectionComponent now works with applications in sub-directories.
    • πŸ—„ Validator::errors() was deprecated and is replaced by validate().

    Contributors to 4.0.0-RC2

    πŸš€ Thank you to all the contributors that helped make this release happen:

    • ADmad
    • Chetan Varshney
    • Corey Taylor
    • Edgaras JanuΕ‘auskas
    • Mark Scherer
    • Mark Story
    • Martin Matthaei
    • gregs
    • othercorey
    • saeideng

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