You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: user_guide_src/source/changelogs/v4.7.0.rst
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ Highlights
15
15
**********
16
16
17
17
- Update minimal PHP requirement to ``8.2``.
18
+
- Added experimental **FrankenPHP Worker Mode** support for improved performance.
18
19
19
20
********
20
21
BREAKING
@@ -245,21 +246,26 @@ Libraries
245
246
- **Image:** The ``ImageMagickHandler`` has been rewritten to rely solely on the PHP ``imagick`` extension.
246
247
- **Image:** Added ``ImageMagickHandler::clearMetadata()`` method to remove image metadata for privacy protection.
247
248
- **ResponseTrait:** Added ``paginate``` method to simplify paginated API responses. See :ref:`ResponseTrait::paginate() <api_response_trait_paginate>` for details.
249
+
- **Session:** Added connection persistence for Redis and Memcached session handlers via ``PersistsConnection`` trait, improving performance in worker mode by reusing connections across requests.
248
250
- **Time:** added methods ``Time::addCalendarMonths()`` and ``Time::subCalendarMonths()``
249
251
- **Time:** Added ``Time::isPast()`` and ``Time::isFuture()`` convenience methods. See :ref:`isPast <time-comparing-two-times-isPast>` and :ref:`isFuture <time-comparing-two-times-isFuture>` for details.
250
-
- **View:** Added the ability to override namespaced views (e.g., from modules/packages) by placing a matching file structure within the **app/Views/overrides** directory. See :ref:`Overriding Namespaced Views <views-overriding-namespaced-views>` for details.
251
252
- **Toolbar:** Fixed an issue where the Debug Toolbar was incorrectly injected into responses generated by third-party libraries (e.g., Dompdf) that use native PHP headers instead of the framework's Response object.
252
-
253
+
- **View:** Added the ability to override namespaced views (e.g., from modules/packages) by placing a matching file structure within the **app/Views/overrides** directory. See :ref:`Overriding Namespaced Views <views-overriding-namespaced-views>` for details.
254
+
- **Worker Mode:** Added experimental FrankenPHP Worker Mode support, allowing CodeIgniter to handle multiple HTTP requests within the same PHP process for 2-3x performance improvements. See :doc:`Worker Mode </installation/worker_mode>` for details.
253
255
254
256
Commands
255
257
========
256
258
259
+
- Added ``php spark worker:install`` command to generate FrankenPHP worker mode files (Caddyfile and worker entry point).
- **BaseConnection:** Added ``ping()`` method to check if the database connection is still alive. Postgre uses native ``pg_ping()``, other drivers use ``SELECT 1``.
263
269
- **Exception Logging:** All DB drivers now log database exceptions uniformly. Previously, each driver had its own log format.
264
270
265
271
Query Builder
@@ -301,10 +307,17 @@ Message Changes
301
307
Changes
302
308
*******
303
309
310
+
- **Boot:** Added ``Boot::bootWorker()`` method for one-time worker initialization.
311
+
- **CodeIgniter:** Added ``CodeIgniter::resetForWorkerMode()`` method to reset request-specific state between worker requests.
- **Cookie:** The ``CookieInterface::EXPIRES_FORMAT`` has been changed to ``D, d M Y H:i:s T`` to follow the recommended format in RFC 7231.
314
+
- **DatabaseConfig:** Added ``Config::validateForWorkerMode()`` and ``Config::cleanupForWorkerMode()`` methods for database connection management in worker mode.
0 commit comments