Changelog History
Page 3
-
v4.0.3 Changes
January 26, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.0.3. This is a maintenance release for the 4.0 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.0.3. See the changelog for every commit.
- π Fixed password hashing being skipped when password field was null. This prevents a potential timing sidechannel should an application store users with
null
passwords. i18n extract
now skips writing files if no strings have changed.- π If identifier quoting is disabled, queries will no longer have column aliases quoted. This helps improve performance of the ORM. Postgres still quotes aliases to prevent alias casing issues.
FormProtectionComponent
no longer fails validation when PSR7 file upload objects are used.- Year widgets created with
FormHelper
now acceptDateTime
instances as their value. - π Improved error message copying from exception pages.
Contributors to 4.0.3
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Ian den Hartog
- JosΓ© Lorenzo RodrΓguez
- Marc WΓΌrth
- Mark Scherer
- Mark Story
- Michael Hoffmann
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
- π Fixed password hashing being skipped when password field was null. This prevents a potential timing sidechannel should an application store users with
-
v4.0.2 Changes
January 12, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.0.2. This is a maintenance release for the 4.0 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.0.2. See the changelog for every commit.
- π» An exception is now raised in development mode if the generated alias name for a table + column would exceed the maximum identifier length for your database platform.
FormProtectionComponent
now checks unlockedFields correctly.- π The deprecation warning in
RequestHandlerComponent
for parsing request bodies was removed. Conditionally triggering it had too many edge cases and was confusing users. - π Improved formatting of API documentation examples.
- π The ORM more efficiently traverses and transforms query objects improving performance for all ORM operations.
- Associations that use
formatResults
and change the associated entities no longer result in records being marked as dirty when records are read. - π²
Cache
andLog
now handle numeric engine names correctly. - β Errors and warnings emitted while DebugKit is active now reference the correct file and line.
- π¦ Dependencies on abandoned zendframework packages are now referencing the Laminas project.
- Using
contain()
with a field list on a BelongsToMany association now works correctly. - π Session cookies now have
SameSite=Lax
instead of strict to better emulate how session cookies worked in the past. - View element caching now works when elements are in subdirectories.
PaginatorHelper::first()
andlast()
now apply theurl
option when the title parameter is a string.
Contributors to 4.0.2
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Mark Scherer
- Mark Story
- gregs
- o0h
- othercorey
- saeideng
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
-
v4.0.1 Changes
December 30, 2019π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.0.1. This is a maintenance release for the 4.0 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.0.1. See the changelog for every commit.
- β¬οΈ The upgrade tool has a smaller install footprint and should have fewer conflicts with application code now.
- β Removed the typehint on
Event
data payload, as it can be any type. - β Removed the empty string default value for console options. This fixes
Argument::hasOption()
always returning true for optional options. - CSRF tokens are now set on redirect and basic diactoros response objects.
- β URL generation no longer emits a type warning when route elements have a regex pattern and parameters are integers.
- Loading joinable associations with
contain()
now emit errors when foreign keys are not selected. This may cause existing queries to start emitting errors, but those queries were previously silently failing to load associated data as requested. - SQLServer fixtures now handle the
restrict
foreign key action now. - The
datetime
abstract type once again uses theDATETIME
column type in SQLServer. UsingDATETIME2
created microsecond overflow issues for some users. - β
TestCase::loadRoutes()
was added to ease writing unit tests for classes like mailers which often need routes loaded. ConsoleIo::createFile()
no longer returns false when the created file has 0 bytes.- When generating URLs, routes with
controller
andaction
placeholders no longer strip these these keys when they are undefined. Instead routes missing the controller and action keys will fail to match. - Optional routing placeholders now work consistently for both braced placeholders and colon placeholders.
FunctionsBuilder
once again allows mixed types for the$expression
parameter as many expressions accept objects that implement__toString()
.- π²
ErrorLogger
no longer fails to log messages for errors which no file or line. - π Improved API doc blocks.
Contributors to 4.0.1
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Kaliel
- Mark Scherer
- Mark Story
- Matthias Wirtz
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
-
v4.0.0 Changes
June 30, 2019π 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 intoCommands
, 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.
- 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.
- 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.
-
v4.0.0-RC2 Changes
December 02, 2019π 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()
andValidator::notEmpty()
. - π The
safe
option was removed fromHtmlHelper::script()
andscriptBlock()
. 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 byvalidate()
.
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.
-
v4.0.0-RC1 Changes
November 16, 2019π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.0.0-RC1. This is the first 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 a few 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-RC1"
π 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-beta4
- A new compact route
_path
format has been added toRouter::url()
. This new format accepts the sameController::action
format that route definition can use. - π¦ The
http
andconsole
libraries have had standalone packages created. - π» Development error pages now preserve inline code highlighting and newlines in exception messages.
- π
SecurityComponent
is now deprecated, and replaced by theFormProtectionComponent
. - π¦ The
ConsoleErrorHandler
was moved to theError
package. Validation::time()
now accepts microseconds.- π
SameSite
cookie support was added for PHP>7.3.0 - π New database types for
char
,datetimefractional
andtimestampfractional
were added. The new datetime types allow representation of time values including microseconds. InstanceConfigTrait::getConfigOrFail()
was added.- π New
isLinkedTo
andisNotLinkedTo
rules were added toORM\RulesChecker
. - 0οΈβ£
Date
andFrozenDate
objects now use the default timezone instead of UTC. This fixes problems where 'today' would not always be today depending on your distance from UTC. - π¨ Controller action dispatching was refactored to make adding a DI container in the future easier.
- π Routing prefixes are now PascalCased instead of under_scored. This removes some inflection and normalizes the representation of prefixes.
Contributors to 4.0.0-RC1
π We'd like to welcome othercorey to the core team. They have been contributed a number of documentation improvements and driven multiple improvements around how CakePHP handles microseconds across both CakePHP and Chronos.
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Jorge GonzΓ‘lez
- Karma Dice
- Mark Scherer
- Mark Story
- dan
- itosho
- ndm2
- othercorey
- saeideng
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
- A new compact route
-
v4.0.0-beta4 Changes
October 10, 2019π The CakePHP core team is proud to announce the fourth beta release of CakePHP 4.0.0. Since the previous beta we've completed several tasks:
- The
requireSsl
features ofSecurityComponent
are available as middleware in theHttpsEnforcerMiddleware
. - β‘οΈ Migrations has been updated to use Commands instead of Shells.
- 4.x has adopted the PSR-12 formatting standard.
- π¦ A new
Asset
class has been added to the routing package, making it easier to generate static asset URLs across your application. - π The internal request stack in
Router
has been removed. WithrequestAction()
removed this feature provided little value. - π Email attachments now support
UploadedFileInterface
objects.
π 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.
- 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.
- Let us know about unclear error messages or silent failures in CakePHP.
Contributors to 4.0.0-beta4
π Thank you to all the contributors that have helped since the beta2 release:
- ADmad
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Erwane Breton
- Iftekhar Ahmed Eather
- Jason Horvath
- Littley Lv
- Mark Scherer
- Mark Story
- Rachman Chavik
- Val Bancer
- andrii-pukhalevych
- bancer
- detinkin
- kawaguchi masaki
- mirko-pagliai
- saeideng
π As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.
- The
-
v4.0.0-beta3 Changes
September 07, 2019π The CakePHP core team is proud to announce the third beta release of CakePHP 4.0.0. Since the previous beta we've completed a few milestones:
- π¦ Another pass with psalm and improved type handling throughout the database and ORM packages. Type mappers handle empty values and nulls more consistently.
- π¨ We've also done refactoring in the
π¦ Mailer package which has resulted inCake\Mailer\Email
becoming a backwards compatible proxy for other classes. - 0οΈβ£ Uploaded files are now accessed using the PSR7 interface by default. A compatibility flag has also been added to preserve the 3.x behavior.
- π§ Work on the cakephp4 rector configuration has been started.
π 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.
- 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.
- Let us know about unclear error messages or silent failures in CakePHP.
Contributors to 4.0.0-beta3
π Thank you to all the contributors that have helped since the beta2 release:
- ADmad
- Alex
- Edgaras JanuΕ‘auskas
- Ethan Pooley
- Jorge GonzΓ‘lez
- Mark Scherer
- Mark Story
- Val Bancer
- ndm2
π As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.
-
v4.0.0-beta2 Changes
August 16, 2019π 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.
- 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.
- 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 SolaΜ
- 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.
-
v4.0.0-beta1 Changes
June 30, 2019π 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 intoCommands
, 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.
- 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.
- 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.