Skip to content

Commit cac5770

Browse files
committed
Add release notes for 5.4.0
1 parent 634dc2d commit cac5770

2 files changed

Lines changed: 83 additions & 0 deletions

File tree

2026/04/27/cakephp_540RC1.rst

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
CakePHP 5.4.0-RC1 Released
2+
============================
3+
4+
The CakePHP core team is happy to announce the first release candidate for
5+
CakePHP 5.4.0. The 5.4 release includes several behavior changes to increase
6+
correctness and new features. The highlights of those include:
7+
8+
9+
What's new in 5.4.0
10+
-------------------
11+
12+
The `migration guide
13+
<https://book.cakephp.org/5.next/en/appendices/5-4-migration-guide.html>`_ has
14+
a complete list of what's new in 5.4.0. We recommend you give that page a read
15+
when upgrading as it notes the behavior changes present in 5.4.0.
16+
17+
- The default eager loading strategy for ``HasMany`` and ``BelongsToMany`` associations
18+
has changed from ``select`` to ``subquery``. If you need the previous behavior,
19+
explicitly set ``'strategy' => 'select'`` when defining associations.
20+
- ``Model.afterSaveCommit`` and ``Model.afterDeleteCommit`` events are now fired
21+
when ``save()`` or ``delete()`` is called inside an outer transaction.
22+
- ``Collection`` had ``keys()``, ``values()``, ``implode()``, ``when()`` and
23+
``unless()`` methods added.
24+
- Commands now have ``$this->io`` and ``$this->args`` set by CakePHP. This will
25+
become the default in 6.0, and ``execute()`` will no longer receive io & args
26+
parameters.
27+
- Database queries now support ``notBetween()``, ``inOrNull()``,
28+
``notInOrNull()``, ``isDistinctFrom()``, ``isNotDistinctFrom()``,
29+
``except()``, ``exceptAll()``, and ``stringAgg()`` operators/functions added.
30+
- Support for ``brin``, ``hash``, ``gin``, and ``spgist`` indexes for postgres
31+
was added.
32+
- ``TestCase::mockModel()`` has been added to enable mocking of table classes
33+
using Mockery.
34+
- New filesystem utilities were added for fluent file discovery with pattern
35+
matching, and cross-platform path manipulation was added.
36+
- ``Security::encrypt()`` can now be configured to use longer keys with separate
37+
encryption and authentication keys that are derived from the provided key.
38+
- Added ``Text::mask()`` method which masks a portion of a string with
39+
a repeated character.
40+
41+
How you Can Help
42+
----------------
43+
44+
You can help deliver 5.4.0 by contributing in one of many ways:
45+
46+
#. Check the `documentation <https://book.cakephp.org/5.next/en/>`_ for mistakes,
47+
outdated, unclear or broken examples. We've been trying to update the
48+
documentation as we go, but there are likely examples or sections we've
49+
missed.
50+
#. Try it out! Give CakePHP 5.4.0 a test drive. Let us know how upgrading
51+
went and if there were any rough spots.
52+
#. File issues for regressions in existing features, or suggest new features.
53+
Even if those features don't make it into 5.4.0, we're early in the process
54+
of planning 5.5 and 6.0 and value community feedback.
55+
56+
Contributors to 5.4.0-RC1
57+
-------------------------
58+
59+
Thank you to all the contributors that have contributed to this release:
60+
61+
- ADmad
62+
- Application-drop-up
63+
- celsowm
64+
- Jamison Bryant
65+
- Jasper Smet
66+
- Joachim Rey
67+
- Kevin Pfeifer
68+
- Mallik Hassan
69+
- Mark Scherer
70+
- Mark Story
71+
- Masatoshi Ogiwara
72+
- othercorey
73+
74+
As always, a huge thanks to all the community members that helped make this
75+
release happen by reporting issues and sending pull requests.
76+
77+
Download a `packaged release on github
78+
<https://github.com/cakephp/cakephp/releases>`_.
79+
80+
.. author:: markstory
81+
.. categories:: news
82+
.. tags:: release,news

master.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Sitemap
44
.. toctree::
55
:maxdepth: 1
66

7+
2026/04/25/cakephp_540RC1
78
2026/04/17/cakephp_534
89
2026/03/18/cakephp_533
910
2026/02/24/cakephp_532

0 commit comments

Comments
 (0)