Commit 42baffd2bf0 for php.net
commit 42baffd2bf00ab6016df653ef88b8196ddbc3a2e
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date: Mon Feb 23 13:30:41 2026 +0100
Add note about session behavior change in UPGRADE file (#21271)
diff --git a/UPGRADING b/UPGRADING
index 3df40b98a33..77d8463afe9 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -30,6 +30,14 @@ PHP 8.6 UPGRADE NOTES
sessions. It only returns false now when the session data could not be
encoded. This mainly happens with the default serialization handler
if a key contains the pipe | character.
+ . When session.lazy_write is enabled and a session handler implements
+ SessionUpdateTimestampHandlerInterface, sessions that were read as empty
+ and remain empty at write time will now trigger updateTimestamp() instead
+ of write(). Previously, write() was always called for empty sessions
+ because session_encode() returned false, bypassing the lazy_write
+ comparison. Custom session handlers that rely on write() being called
+ with empty data (e.g. to destroy the session) should implement the same
+ logic in their updateTimestamp() method.
- Standard:
. Invalid mode values now throw in array_filter() instead of being silently