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-1Lines changed: 15 additions & 1 deletion
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
@@ -269,20 +270,26 @@ Libraries
269
270
- **Image:** The ``ImageMagickHandler`` has been rewritten to rely solely on the PHP ``imagick`` extension.
270
271
- **Image:** Added ``ImageMagickHandler::clearMetadata()`` method to remove image metadata for privacy protection.
271
272
- **ResponseTrait:** Added ``paginate``` method to simplify paginated API responses. See :ref:`ResponseTrait::paginate() <api_response_trait_paginate>` for details.
273
+
- **Session:** Added connection persistence for Redis and Memcached session handlers via ``PersistsConnection`` trait, improving performance in worker mode by reusing connections across requests.
272
274
- **Time:** added methods ``Time::addCalendarMonths()`` and ``Time::subCalendarMonths()``
273
275
- **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.
274
-
- **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.
275
276
- **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.
277
+
- **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.
278
+
- **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.
276
279
277
280
Commands
278
281
========
279
282
283
+
- 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``.
286
293
- **Exception Logging:** All DB drivers now log database exceptions uniformly. Previously, each driver had its own log format.
287
294
288
295
Query Builder
@@ -324,10 +331,17 @@ Message Changes
324
331
Changes
325
332
*******
326
333
334
+
- **Boot:** Added ``Boot::bootWorker()`` method for one-time worker initialization.
335
+
- **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.
338
+
- **DatabaseConfig:** Added ``Config::validateForWorkerMode()`` and ``Config::cleanupForWorkerMode()`` methods for database connection management in worker mode.
0 commit comments