Changelog History
Page 1
-
v4.2.0-RC1 Changes
November 30, 2020π The CakePHP core team is proud to announce the first release candidate of CakePHP 4.2.0. The 4.2.0 release will introduce several new features and a handful of deprecations. The added features include formal support for PHP8, experimental support for a dependency injection container, a new session based CSRF middleware, improved APIs for database subqueries, and a new Flash Utility.
π New Features
β¬οΈ The migration guide has a complete list of what's new in 4.2.0. We recommend you give that page a read when upgrading as it outlines the deprecations present in 4.2.
π Changes Since 4.2.0-beta1
Http\Client::createFromUrl()
was added.- π Improved errors when
INSERT
queries cannot be compiled. TableHelper::output()
now has atext-right
tag to right align cell content.- β
TestFixture::isManaged()
was added to make whether a fixture manages schema more explicit. - π
UrlHelper
now supports theassetUrlClassName
option, which allows you to replace the class used to generate static asset URLs. TableLocator::allowFallbackClass()
was added. This method lets you disable automatic fallback table class in a locator.Http\FlashMessage
was added. This utility class enables flash messages to be manipulated from within middleware.Http\ServerRequest::getFlash()
was added to expose the new flash utility.- π Fixing binding conflicts in SQLServer queries.
- β Added
Application.buildContainer
event. This event is triggered when the application container is built. - β
Integration test traits had the
mockService()
method added to enable straightforward mocking of services in tests.
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.2.0-RC1
Thank you to all the contributors that have helped with 4.2.0:
- ADmad
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Eugene Ritter
- Ikko Ashimine
- imo-tikuwa
- Juan Basso
- Mark Scherer
- Mark Story
- ndm2
- othercorey
- saeideng
- tikuwa
π As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.
-
v4.2.0-beta1 Changes
November 02, 2020π The CakePHP core team is proud to announce the first beta release of CakePHP 4.2.0. This beta introduces a small number of deprecations. It adds experimental support for a dependency injection container, a session based CSRF option, and improved support for subqueries.
π New Features
β¬οΈ The migration guide has a complete list of what's new in 4.2.0. We recommend you give that page a read when upgrading as it outlines the deprecations present in 4.2.
How you Can Help
β You can help by trying out the beta in your application. Please open issues for any new test failures or regressions the new version creates in your application.
Contributors to 4.2.0-beta1
Thank you to all the contributors that have helped with 4.2.0-beta1:
- ADmad
- Blaz
- chris cnizzardini
- Corey Taylor
- Mario Rothauer
- Mark Scherer
- Mark Story
- ndm2
- othercorey
- Ricardo Turella
- tanden
π As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests.
-
v4.1.7 Changes
December 13, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.7. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.7. See the changelog for every commit.
- π Improved API documentation
- β Added additional tests for flash message retention in tests.
- π Fixed SQL Server missing parenthesis on pagination subquery order clause.
- π Fixed SQL Server binding conflicts when ordering by expression objects.
- π Improved error messages when database queries are missing operators.
- π Fixed
Hash::mergeDiff()
not handling scalar values well.
Contributors to 4.1.7
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Ikko Ashimine
- Mark Scherer
- Mark Story
- Markus RamΕ‘ak
- ndm2
- othercorey
- saeideng
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
-
v4.1.6 Changes
November 08, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.6. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.6. See the changelog for every commit.
- β¬οΈ The
Validator::setStopOnFailure()
method was added. This method helps improve ease of upgrading from 3.x. It allows therequire*
methods to stop field validation. Mailer::setReplyTo()
now accepts multiple email addresses. This change alignsReply-To
with other email fields that accept multiple recipients.- π€‘ Warnings emitted by
AuthComponent
when using strict mode and a mocked request were fixed. - π Fixed incorrect error messages for named routes that failed to match.
- π Fixed string condition parsing in
having
andwhere
conditions when the string condition contains functions and spaces. - π Improved API documentation.
- OAuth 1.0 signatures no longer include request bodies if the request is not urlencoded data.
- π Support for UTF8 encodings was added to
pj()
. - β‘οΈ Entity marshalling now loosely compares objects. Previously strict comparisons were used causing all object attributes to considered dirty and updated.
- π Improved error messages when
INSERT
queries were missing a table name. - π
BodyParserMiddleware
now correctly handles scalar value request bodies for JSON requests. ServerCommand
now honours thePHP
environment variable when starting the HTTP server.
Contributors to 4.1.6
π Thank you to all the contributors that helped make this release happen:
- ADmad
- chris cnizzardini
- Corey Taylor
- Daniel Opitz
- Juan Basso
- Marc WΓΌrth
- Mark Scherer
- Mark Story
- Matthias Wirtz
- othercorey
- Ricardo Turella
- Richard.Strittmatter
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
- β¬οΈ The
-
v4.1.5 Changes
October 05, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.5. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.5. See the changelog for every commit.
- π
cake plugin load
will now display an error when an invalid plugin name is used. - π Improved compatibility with PHP8.
- β Test fixtures now truncate tables that have externally defined schema. Previously they would not be truncated or dropped and subsequent tests would fail.
- π»
MemcachedEngine
will now raise an exception when persistent connections are used with different server lists. - AuthComponent no longer raises an error when the request has no action defined.
- π Improved cross browser compatibility of 'Copy' button in debug output.
- β‘οΈ Updated parameter names inside Collection in preparation foro PHP8.
Contributors to 4.1.5
π Thank you to all the contributors that helped make this release happen:
- ADmad
- bancer
- Corey Taylor
- itosho
- Jonathan McAndrew
- 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.
- π
-
v4.1.4 Changes
September 06, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.4. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.4. See the changelog for every commit.
Route
now normalizes HTTP method names. This prevents hard to diagnose route matching failures when a method was miscased.- The output of
debug()
now includes whitespace in the generated HTML. This improves the text output when contents are copy and pasted. - The HTML output of
debug()
now includes a 'copy' button to make copying the contents easier. - π Parameter name mismatches between interfaces, and implementations were fixed in preparation for PHP8's named parameters.
- β Invalid UUID values now emit warnings less often during marshalling.
TableRegistry::get()
now generates aliases correctly when tables are fetched with their full qualified namespace name.
Contributors to 4.1.4
π Thank you to all the contributors that helped make this release happen:
- ADmad
- 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.
-
v4.1.3 Changes
August 15, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.3. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.3. See the changelog for every commit.
- π§ The changes made to not reload plugin configuration was reverted as it caused regressions in community plugins.
- XML entity loading code was de-duplicated and made compatible with PHP8.
- π» The
SqlServer
driver now raises an exception when more than 2100 parameters are provided as that is the maximum that SQLServer supports. - The
SqlServer
driver will now retry connection creation up to 4 times on certain errors such as database paused. This increases compatibility with cloud hosted SQLServer instances. - β View now closes all open output buffers when an element or view fails during rendering. This resolves open buffer warnings in test cases.
DateType
now ensures that time components are wiped for PHP provided classes as well.
Contributors to 4.1.3
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Corey Taylor
- Mark Scherer
- Mark Story
- ndm2
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
-
v4.1.2 Changes
August 09, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.2. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.2. See the changelog for every commit.
- π Fixed usage of deprecated classes internally.
- π Fixed TypeError in PHP8.
- π Improved type checking in
Validation::custom()
andlocalizedTime()
. - π Fixed potential collision with placeholders in
Text::insert()
. - Enabled autoloading of models when
modelClass
is defined with a fully qualified namespace name. - π² Enable log formats to log milliseconds.
- π Fixed incorrect behavior when sending a
HEAD
request and the response contains aContent-Length
header. - Whitespace inside strings output via
debug()
is now retained in the HTML output format. - π Improve database logging to handle
SELECT
queries that return no rows. - β‘οΈ Update external entity loading options to work with newer versions of libxml.
- π
Table::getAlias()
now handles abstract base classes better.
Contributors to 4.1.2
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Benjamin Gehrels
- Corey Taylor
- Edgaras JanuΕ‘auskas
- Marc WΓΌrth
- Mark Scherer
- Mark Story
- mcsknp
- Nicky Gerritsen
- othercorey
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
-
v4.1.1 Changes
July 19, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.1. This is a maintenance release for the 4.1 branch that fixes several community reported issues.
π Bugfixes
π You can expect the following changes in 4.1.1. See the changelog for every commit.
- π»
FlashComponent::set()
now handlesThrowable
in addition toException
. - π
debug()
now can output objects likeSplFixedArray
that have integer property names. Validation::date()
no longer accepts values that have,
after the month value.- π± Assets in vendor prefixed plugins now are correctly timestampped by
HtmlHelper
. - Routing error pages no longer double encode HTML for route elements and options.
- π Fix incorrect aliasing for
Cake\Database\Expression\ComparisonExpression
that was causing a regression in application/plugin code. - π Improved compatibility in
getMockForModel()
. - π The parsed results of DSN strings now cast
timeout
to an integer. - π§
CsrfProtectionMiddleware
not raises an exception when the request already contains acsrfToken
attributes as this implies that CSRF has already been applied to the request and applying it twice is a configuration error.
Contributors to 4.1.1
π Thank you to all the contributors that helped make this release happen:
- ADmad
- Cauan Cabral
- Corey Taylor
- Gerd Katzenbeisser
- Mark Scherer
- Mark Story
- mitzzzjp
- Peter HΓ€rder
π As always, we would like to thank all the contributors that opened issues, created pull requests or updated the documentation.
- π»
-
v4.1.0 Changes
July 05, 2020π The CakePHP core team is happy to announce the immediate availability of CakePHP 4.1.0. This is the first stable release of 4.1.0. 4.1.0 provides a number improvements both large and small to CakePHP.
β¬οΈ Upgrading to 4.1.0
β¬οΈ You can use composer to upgrade to CakePHP 4.1.0::
php composer.phar require --update-with-dependencies "cakephp/cakephp:4.1.*"
π Deprecation Warnings
π 4.1 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.1.0?
β¬οΈ The migration guide has a complete list of what's new in 4.1.0. We recommend you give that page a read when upgrading. A few highlights from 4.1.0 are:
- π Support for Common Table Expressions (CTE) in the ORM.
- π Support for window functions in the ORM.
- π
Query::orderAsc()
andQuery::orderDesc()
now accept Closure's as their field enabling you to use build complex order expressions with the providedQueryExpression
object. - π
debug()
andDebugger::printVar()
now emit HTML in web contexts, and ANSI styled output in CLI contexts. Output of cyclic structures and repeated objects is much simpler. Cyclic objects are only dumped once and use reference ids to point back to the full value. CsrfProtectionMiddleware
can now create cookies with thesamesite
attribute set.- π
Log messages can now contain
{foo}
style placeholders. These placeholders will be replaced by values from the$context
parameter if available.
Contributors to 4.1.0
Thank you to all the contributors that helped make 4.1 happen:
- ADmad
- andrii-pukhalevych
- Cauan Cabral
- chinpei215
- Corey Taylor
- Diego Sardina
- diegosardina
- Edgaras JanuΕ‘auskas
- Frank de Graaf
- Jad Bitar
- John Zwarthoed
- Marc WΓΌrth
- Mario Rothauer
- Mark Scherer
- Mark Story
- Matthias Wirtz
- McsKienNP
- mcsknp
- mtak3
- ndm2
- nojimag
- Oliver Nowak
- othercorey
- saeideng
- victoreassi
- Vincent PLANCHER
- Walther Lalk
π As always, a huge thanks to all the community members that helped make this release happen by reporting issues and sending pull requests. 4.1.0 is a large release and would not have been possible without the community support and feedback.