@@ -102,6 +102,17 @@ PHP 7.4 UPGRADE NOTES
102
102
- Standard:
103
103
. The "o" serialization format has been removed. As it is never produced by
104
104
PHP, this may only break unserialization of manually crafted strings.
105
+ . Password hashing algorithm identifiers are now nullable strings rather
106
+ than integers.
107
+
108
+ * PASSWORD_DEFAULT was int 1; now is null
109
+ * PASSWORD_BCRYPT was int 1; now is string '2y'
110
+ * PASSWORD_ARGON2I was int 2; now is string 'argon2i'
111
+ * PASSWORD_ARGON2ID was int 3; now is string 'argon2id'
112
+
113
+ Applications correctly using the constants PASSWORD_DEFAULT,
114
+ PASSWORD_BCRYPT, PASSWORD_ARGON2I, and PASSWORD_ARGON2ID will continue to
115
+ function correctly.
105
116
106
117
========================================
107
118
2. New Features
@@ -243,6 +254,9 @@ PHP 7.4 UPGRADE NOTES
243
254
identical to using the default).
244
255
. proc_open() on Windows can be passed a "create_process_group" option. It
245
256
is required, if the child process is supposed to handle CTRL events.
257
+ . password_hash() now accepts nullable string and int as $algo argument.
258
+ . password_needs_rehash() now accepts nullable string and int as $algo
259
+ argument.
246
260
247
261
========================================
248
262
6. New Functions
@@ -271,6 +285,9 @@ PHP 7.4 UPGRADE NOTES
271
285
function is expected have a signature "function handler(int $event)".
272
286
. bool sapi_windows_generate_ctrl_event(int type, int pid) - send a CTRL event
273
287
to another process.
288
+ . array password_algos() - return a complete list of all registered password
289
+ hashing algorithms. For more details see the RFC:
290
+ https://wiki.php.net/rfc/password_registry
274
291
275
292
========================================
276
293
7. New Classes and Interfaces
@@ -343,9 +360,9 @@ PHP 7.4 UPGRADE NOTES
343
360
. The bundled libsqlite has been removed. To build the SQLite3 extension
344
361
a system libsqlite3 ≥ 3.7.4 is now required. To build the PDO_SQLite
345
362
extension a system libsqlite3 ≥ 3.5.0 is now required.
346
- . (Un)serialization of SQLite3, SQLite3Stmt and SQLite3Result is now explicitly
347
- forbidden. Formerly, serialization of instances of these classes was
348
- possible, but unserialization yielded unusable objects.
363
+ . (Un)serialization of SQLite3, SQLite3Stmt and SQLite3Result is now
364
+ explicitly forbidden. Formerly, serialization of instances of these classes
365
+ was possible, but unserialization yielded unusable objects.
349
366
. The @param notation can now also be used to denote SQL query parameters.
350
367
351
368
- Zip:
0 commit comments