appendices/migration72/new-features.xml
6d29533483657c036e49edb5ea88c7103d126681
...
...
@@ -23,7 +23,7 @@ function test(object $obj) : object
23
23
return new SplQueue();
24
24
}
25
25

26
-
test(new StdClass());
26
+
test(new stdClass());
27
27
]]>
28
28
</programlisting>
29
29
</informalexample>
...
...
@@ -41,7 +41,7 @@ test(new StdClass());
41
41
</sect2>
42
42

43
43
<sect2 xml:id="migration72.new-features.abstract-method-overriding">
44
-
<title>Allow abstract method overriding</title>
44
+
<title>Abstract method overriding</title>
45
45

46
46
<para>
47
47
Abstract methods can now be overridden when an abstract class extends
...
...
@@ -67,13 +67,24 @@ abstract class B extends A
67
67
</informalexample>
68
68
</sect2>
69
69

70
+
<sect2 xml:id="migration72.new-features.sodium">
71
+
<title><link linkend="book.sodium">Sodium</link> is now a core extension</title>
72
+

73
+
<para>
74
+
The modern Sodium cryptography library has now become a core extension in PHP.
75
+
</para>
76
+
<para>
77
+
For a complete function reference, see the <link linkend="book.sodium">Sodium</link>
78
+
chapter.
79
+
</para>
80
+
</sect2>
81
+

70
82
<sect2 xml:id="migration72.new-features.pws-hashing-with-argon2">
71
83
<title>Password hashing with Argon2</title>
72
84

73
85
<para>
74
-
Argon2 has been added to the password hashing API (the
75
-
<literal>password_</literal> functions), where the following constants have
76
-
been exposed:
86
+
Argon2 has been added to the <link linkend="book.password">password hashing API</link>,
87
+
where the following constants have been exposed:
77
88
</para>
78
89

79
90
<itemizedlist>
...
...
@@ -101,7 +112,7 @@ abstract class B extends A
101
112
</sect2>
102
113

103
114
<sect2 xml:id="migration72.new-features.pdo-extended-str-types">
104
-
<title>Extended string types for ext/PDO</title>
115
+
<title>Extended string types for <link linkend="book.pdo">PDO</link></title>
105
116

106
117
<para>
107
118
PDO's string type has been extended to support the national character type
...
...
@@ -143,7 +154,7 @@ $db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);
143
154
</sect2>
144
155

145
156
<sect2 xml:id="migration72.new-features.additional-emulated-prepares-debugging-info">
146
-
<title>Additional emulated prepares debugging information for ext/PDO</title>
157
+
<title>Additional emulated prepares debugging information for <link linkend="book.pdo">PDO</link></title>
147
158

148
159
<para>
149
160
The <function>PDOStatement::debugDumpParams</function> method has been
...
...
@@ -155,7 +166,7 @@ $db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);
155
166
</sect2>
156
167

157
168
<sect2 xml:id="migration72.new-features.extended-ops-in-ldap">
158
-
<title>Support for extended operations in ext/LDAP</title>
169
+
<title>Support for extended operations in <link linkend="book.ldap">LDAP</link></title>
159
170

160
171
<para>
161
172
Support for EXOP has been added to the LDAP extension. This has been done by
...
...
@@ -212,7 +223,7 @@ $db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);
212
223
</sect2>
213
224

214
225
<sect2 xml:id="migration72.new-features.addr-info-in-sockets">
215
-
<title>Address Information Additions to ext/sockets</title>
226
+
<title>Address Information additions to the <link linkend="book.sockets">Sockets</link> extension</title>
216
227

217
228
<para>
218
229
The sockets extension now has the ability to lookup address information, as
...
...
@@ -295,6 +306,145 @@ use Foo\Bar\{
295
306
</informalexample>
296
307
</sect2>
297
308

309
+
<sect2 xml:id="migration72.new-features.proc_nice-windows-support">
310
+
<title><function>proc_nice</function> support on Windows</title>
311
+

312
+
<para>
313
+
The <function>proc_nice</function> function is now supported on Windows.
314
+
</para>
315
+
</sect2>
316
+

317
+
<sect2 xml:id="migration72.new-features.pack-unpack-endian-support">
318
+
<title><function>pack</function> and <function>unpack</function> endian support</title>
319
+

320
+
<para>
321
+
The <function>pack</function> and <function>unpack</function> functions now
322
+
support float and double in both little and big endian.
323
+
</para>
324
+
</sect2>
325
+

326
+
<sect2 xml:id="migration72.new-features.exif-features">
327
+
<title>Enhancements to the <link linkend="book.exif">EXIF</link> extension</title>
328
+

329
+
<para>
330
+
The EXIF extension has been updated to support a much larger range of formats. This
331
+
means that their format specific tags are now properly translated when parsing images
332
+
with the <function>exif_read_data</function> function. The following new formats are
333
+
now supported:
334
+
</para>
335
+

336
+
<itemizedlist>
337
+
<listitem>
338
+
<simpara>
339
+
Samsung
340
+
</simpara>
341
+
</listitem>
342
+
<listitem>
343
+
<simpara>
344
+
DJI
345
+
</simpara>
346
+
</listitem>
347
+
<listitem>
348
+
<simpara>
349
+
Panasonic
350
+
</simpara>
351
+
</listitem>
352
+
<listitem>
353
+
<simpara>
354
+
Sony
355
+
</simpara>
356
+
</listitem>
357
+
<listitem>
358
+
<simpara>
359
+
Pentax
360
+
</simpara>
361
+
</listitem>
362
+
<listitem>
363
+
<simpara>
364
+
Minolta
365
+
</simpara>
366
+
</listitem>
367
+
<listitem>
368
+
<simpara>
369
+
Sigma/Foveon
370
+
</simpara>
371
+
</listitem>
372
+
<listitem>
373
+
<simpara>
374
+
AGFA
375
+
</simpara>
376
+
</listitem>
377
+
<listitem>
378
+
<simpara>
379
+
Kyocera
380
+
</simpara>
381
+
</listitem>
382
+
<listitem>
383
+
<simpara>
384
+
Ricoh
385
+
</simpara>
386
+
</listitem>
387
+
<listitem>
388
+
<simpara>
389
+
Epson
390
+
</simpara>
391
+
</listitem>
392
+
</itemizedlist>
393
+

394
+
<para>
395
+
The EXIF functions <function>exif_read_data</function> and <function>exif_thumbnail</function>
396
+
now support passing streams as their first argument.
397
+
</para>
398
+
</sect2>
399
+

400
+
<sect2 xml:id="migration72.new-features.pcre">
401
+
<title>New features in <link linkend="book.pcre">PCRE</link></title>
402
+

403
+
<itemizedlist>
404
+
<listitem>
405
+
<simpara>
406
+
The <literal>J</literal> modifier for setting PCRE_DUPNAMES has been added.
407
+
</simpara>
408
+
</listitem>
409
+
</itemizedlist>
410
+
</sect2>
411
+

412
+
<sect2 xml:id="migration72.new-features.sqlite3">
413
+
<title><link linkend="book.sqlite3">SQLite3</link> allows writing BLOBs</title>
414
+

415
+
<para>
416
+
<methodname>SQLite3::openBlob</methodname> now allows to open BLOB fields in
417
+
write mode; formerly only read mode was supported.
418
+
</para>
419
+
</sect2>
420
+

421
+
<sect2 xml:id="migration72.new-features.oci8">
422
+
<title><link linkend="book.oci8">Oracle OCI8</link> Transparent Application Failover Callbacks</title>
423
+

424
+
<para>
425
+
Support for <link linkend="oci8.taf">Oracle Database Transparent Application Failover (TAF) callbacks</link>
426
+
has been added. TAF allows PHP OCI8 applications to
427
+
automatically reconnect to a preconfigured database when a connection
428
+
is broken. The new TAF callback support allows PHP applications to
429
+
monitor and control reconnection during failover.
430
+
</para>
431
+
</sect2>
432
+

433
+
<sect2 xml:id="migration72.new-features.zip">
434
+
<title>Enhancements to the <link linkend="book.zip">ZIP</link> extension</title>
435
+

436
+
<para>
437
+
Read and write support for encrypted archives has been added (requires libzip 1.2.0).
438
+
</para>
439
+
<para>
440
+
The <classname>ZipArchive</classname> class now implements the <interfacename>Countable</interfacename>
441
+
interface.
442
+
</para>
443
+
<para>
444
+
The <literal>zip://</literal> stream now accepts a <literal>'password'</literal> context option.
445
+
</para>
446
+
</sect2>
447
+

298
448
</sect1>
299
449

300
450
<!-- Keep this comment at the end of the file
301
451