|
| 1 | +CakePHP 5.3.0 Released |
| 2 | +====================== |
| 3 | + |
| 4 | +The CakePHP core team is happy to announce the release of CakePHP 5.3.0. With |
| 5 | +the release of 5.3.0, we're ending bugfix support for CakePHP 5.2. Both 5.1 and |
| 6 | +5.2 continue to receive security updates until the release of 5.4.0 or 6.0.0. |
| 7 | +It is also the end of support for bugfixes for CakePHP 4.x. The core team will |
| 8 | +continue to provide security updates for CakePHP throughout 2026. |
| 9 | + |
| 10 | +What's new in 5.3.0 |
| 11 | +------------------- |
| 12 | + |
| 13 | +Some highlights of the 5.3.0 release include: |
| 14 | + |
| 15 | +- Added Redis Cluster support to ``RedisEngine``. Configure the ``cluster`` option |
| 16 | + with an array of server addresses to enable cluster mode. |
| 17 | +- Several :ref:`cache-events` were added to allow monitoring the caching behavior. |
| 18 | +- ``cake plugin assets symlink`` command now supports a ``--relative`` option to |
| 19 | + create relative path symlinks. This is useful when creating symlinks within |
| 20 | + containers that use volume mounts. |
| 21 | +- ``cake server`` now supports a ``--frankenphp`` option that will start the |
| 22 | + development server with `FrankenPHP <https://frankenphp.dev/>`__. |
| 23 | +- Added ``TreeHelper`` which outputs an array as a tree such as an array of |
| 24 | + filesystem directories as array keys and files as lists under each directory. |
| 25 | +- Added the ability to group commands in console help output. |
| 26 | +- New DI container support for the ``#[Configure]`` attribute have data injected |
| 27 | + from ``Configure``, and the ``TableContainer`` delegate that lets you inject |
| 28 | + ORM Tables into your services. |
| 29 | +- Added support for additional column types in MySQL, and Postgres bringing |
| 30 | + CakePHP's database type support close to parity with phinx. Queries can also |
| 31 | + define optimizer hints for engine specific optimizations. |
| 32 | +- The new ``RateLimitMiddleware`` provides configurable rate limiting for your |
| 33 | + application to protect against abuse and ensure fair usage of resources. It |
| 34 | + supports multiple identification strategies (IP, user, route, API key), |
| 35 | + different rate limiting algorithms (sliding window, fixed window, token bucket), |
| 36 | + and advanced features like custom identifiers, request costs, and dynamic limits. |
| 37 | +- Added ``DateTimePeriod`` which wraps a php ``DatePeriod`` and returns ``DateTime`` |
| 38 | + instances when iterating. |
| 39 | +- Added ``SelectQuery::projectAs()`` for projecting query results into |
| 40 | + lightweight Data Transfer Objects (DTOs) for read-only data access. |
| 41 | +- Added new fluent builders for defining the ``sortableFields`` data of your |
| 42 | + pagination operations. The new builders allow you to define complex sorting |
| 43 | + for both virtual and real fields, with multi-column and pinned sorting |
| 44 | + support. |
| 45 | +- Additional assertions for redirect responses in integration tests. |
| 46 | + |
| 47 | +The `migration guide |
| 48 | +<https://book.cakephp.org/5/en/appendices/5-3-migration-guide.html>`_ has |
| 49 | +a complete list of what's new in 5.3.0. We recommend you give that page a read |
| 50 | +when upgrading as it notes the behavior changes present in 5.3.0. |
| 51 | + |
| 52 | +Contributors to 5.3.0 |
| 53 | +--------------------- |
| 54 | + |
| 55 | +Thank you to all the contributors that have contributed to 5.3.0: |
| 56 | + |
| 57 | +* ADmad |
| 58 | +* Alberto G. Rodriguez |
| 59 | +* Christian |
| 60 | +* Corey Taylor |
| 61 | +* Gerson Felipe Schwinn |
| 62 | +* Jamison Bryant |
| 63 | +* Jasper Smet |
| 64 | +* Joris Vaesen |
| 65 | +* Juhani Aronen |
| 66 | +* Kevin Pfeifer |
| 67 | +* Lauri Tunnela |
| 68 | +* Marcelo Rocha |
| 69 | +* Mark Scherer |
| 70 | +* Mark Story |
| 71 | +* Murl080 |
| 72 | +* Nicos Panayides |
| 73 | +* othercorey |
| 74 | +* scribblemaniac |
| 75 | +* Steve |
| 76 | +* Umer Salman |
| 77 | +* Val Bancer |
| 78 | + |
| 79 | +As always, a huge thanks to all the community members that helped make this |
| 80 | +release happen by reporting issues and sending pull requests. |
| 81 | + |
| 82 | +Download a `packaged release on github |
| 83 | +<https://github.com/cakephp/cakephp/releases>`_. |
| 84 | + |
| 85 | +.. author:: markstory |
| 86 | +.. categories:: news |
| 87 | +.. tags:: release,news |
0 commit comments