/
NEWS
1604 lines (1316 loc) · 59.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
04 April 2019, PHP 7.3.4
- Core:
. Fixed bug #77738 (Nullptr deref in zend_compile_expr). (Laruence)
. Fixed bug #77660 (Segmentation fault on break 2147483648). (Laruence)
. Fixed bug #77652 (Anonymous classes can lose their interface information).
(Nikita)
. Fixed bug #77345 (Stack Overflow caused by circular reference in garbage
collection). (Alexandru Patranescu, Nikita, Dmitry)
. Fixed bug #76956 (Wrong value for 'syslog.filter' documented in php.ini).
(cmb)
- Apache2Handler:
. Fixed bug #77648 (BOM in sapi/apache2handler/php_functions.c). (cmb)
- Bcmath:
. Fixed bug #77742 (bcpow() implementation related to gcc compiler
optimization). (Nikita)
- CLI Server:
. Fixed bug #77722 (Incorrect IP set to $_SERVER['REMOTE_ADDR'] on the
localhost). (Nikita)
- COM:
. Fixed bug #77578 (Crash when php unload). (cmb)
- EXIF:
. Fixed bug #77753 (Heap-buffer-overflow in php_ifd_get32s). (Stas)
. Fixed bug #77831 (Heap-buffer-overflow in exif_iif_add_value). (Stas)
- FPM:
. Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP).
(Kevin Adler)
- GD:
. Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag).
(cmb)
- MySQLi:
. Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita)
- Opcache:
. Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical
successors). (Nikita)
- Phar:
. Fxied bug #77697 (Crash on Big_Endian platform). (Laruence)
- phpdbg:
. Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match
actual aliases). (Miriam Lauter)
- sodium:
. Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
- SQLite3:
. Added sqlite3.defensive INI directive. (BohwaZ)
- Standard:
. Fixed bug #77664 (Segmentation fault when using undefined constant in
custom wrapper). (Laruence)
. Fixed bug #77669 (Crash in extract() when overwriting extracted array).
(Nikita)
. Fixed bug #76717 (var_export() does not create a parsable value for
PHP_INT_MIN). (Nikita)
. Fixed bug #77765 (FTP stream wrapper should set the directory as
executable). (Vlad Temian)
07 Mar 2019, PHP 7.3.3
- Core:
. Fixed bug #77589 (Core dump using parse_ini_string with numeric sections).
(Laruence)
. Fixed bug #77329 (Buffer Overflow via overly long Error Messages).
(Dmitry)
. Fixed bug #77494 (Disabling class causes segfault on member access).
(Dmitry)
. Fixed bug #77498 (Custom extension Segmentation fault when declare static
property). (Nikita)
. Fixed bug #77530 (PHP crashes when parsing `(2)::class`). (Ekin)
. Fixed bug #77546 (iptcembed broken function). (gdegoulet)
. Fixed bug #77630 (rename() across the device may allow unwanted access
during processing). (Stas)
- COM:
. Fixed bug #77621 (Already defined constants are not properly reported).
(cmb)
. Fixed bug #77626 (Persistence confusion in php_com_import_typelib()). (cmb)
- EXIF:
. Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF). (Stas)
. Fixed bug #77540 (Invalid Read on exif_process_SOFn). (Stas)
. Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas)
. Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas)
- Mbstring:
. Fixed bug #77514 (mb_ereg_replace() with trailing backslash adds null byte).
(Nikita)
- MySQL
. Disabled LOCAL INFILE by default, can be enabled using php.ini directive
mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE
attribute for pdo_mysql. (Darek Slusarczyk)
- OpenSSL:
. Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS
records). (Abyl Valg, Jakub Zelenka)
- PDO_OCI:
. Support Oracle Database tracing attributes ACTION, MODULE,
CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter)
- PHAR:
. Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
(bishop)
. Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow). (bishop)
- phpdbg:
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
- SPL:
. Fixed bug #51068 (DirectoryIterator glob:// don't support current path
relative queries). (Ahmed Abdou)
. Fixed bug #77431 (openFile() silently truncates after a null byte). (cmb)
- Standard:
. Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions).
(John Stevenson)
. Fixed bug #77612 (setcookie() sets incorrect SameSite header if all of its
options filled). (Nikita)
07 Feb 2019, PHP 7.3.2
- Core:
. Fixed bug #77369 (memcpy with negative length via crafted DNS response). (Stas)
. Fixed bug #77387 (Recursion detection broken when printing GLOBALS).
(Laruence)
. Fixed bug #77376 ("undefined function" message no longer includes
namespace). (Laruence)
. Fixed bug #77357 (base64_encode / base64_decode doest not work on nested
VM). (Nikita)
. Fixed bug #77339 (__callStatic may get incorrect arguments). (Dmitry)
. Fixed bug #77317 (__DIR__, __FILE__, realpath() reveal physical path for
subst virtual drive). (Anatol)
. Fixed bug #77263 (Segfault when using 2 RecursiveFilterIterator). (Dmitry)
. Fixed bug #77447 (PHP 7.3 built with ASAN crashes in
zend_cpu_supports_avx2). (Nikita)
. Fixed bug #77484 (Zend engine crashes when calling realpath in invalid
working dir). (Anatol)
- Curl:
. Fixed bug #76675 (Segfault with H2 server push). (Pedro Magalhães)
- Fileinfo:
. Fixed bug #77346 (webm files incorrectly detected as
application/octet-stream). (Anatol)
- FPM:
. Fixed bug #77430 (php-fpm crashes with Main process exited, code=dumped,
status=11/SEGV). (Jakub Zelenka)
- GD:
. Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border).
(cmb)
. Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies). (cmb)
. Fixed bug #77272 (imagescale() may return image resource on failure). (cmb)
. Fixed bug #77391 (1bpp BMPs may fail to be loaded). (Romain Déoux, cmb)
. Fixed bug #77479 (imagewbmp() segfaults with very large images). (cmb)
- ldap:
. Fixed bug #77440 (ldap_bind using ldaps or ldap_start_tls()=exception in
libcrypto-1_1-x64.dll). (Anatol)
- Mbstring:
. Fixed bug #77428 (mb_ereg_replace() doesn't replace a substitution
variable). (Nikita)
. Fixed bug #77454 (mb_scrub() silently truncates after a null byte).
(64796c6e69 at gmail dot com)
- MySQLnd:
. Fixed bug #77308 (Unbuffered queries memory leak). (Dmitry)
. Fixed bug #75684 (In mysqlnd_ext_plugin.h the plugin methods family has
no external visibility). (Anatol)
- Opcache:
. Fixed bug #77266 (Assertion failed in dce_live_ranges). (Laruence)
. Fixed bug #77257 (value of variable assigned in a switch() construct gets
lost). (Nikita)
. Fixed bug #77434 (php-fpm workers are segfaulting in zend_gc_addre).
(Nikita)
. Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled).
(Kevin Adler)
. Fixed bug #77287 (Opcache literal compaction is incompatible with EXT
opcodes). (Nikita)
- PCRE:
. Fixed bug #77338 (get_browser with empty string). (Nikita)
- PDO:
. Fixed bug #77273 (array_walk_recursive corrupts value types leading to PDO
failure). (Nikita)
- PDO MySQL:
. Fixed bug #77289 (PDO MySQL segfaults with persistent connection).
(Lauri Kenttä)
- SOAP:
. Fixed bug #77410 (Segmentation Fault when executing method with an empty
parameter). (Nikita)
- Sockets:
. Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address
on MacOS). (Michael Meyer)
- SPL:
. Fixed bug #77298 (segfault occurs when add property to unserialized empty
ArrayObject). (jhdxr)
- Standard:
. Fixed bug #77395 (segfault about array_multisort). (Laruence)
. Fixed bug #77439 (parse_str segfaults when inserting item into existing
array). (Nikita)
10 Jan 2019, PHP 7.3.1
- Core:
. Fixed bug #76654 (Build failure on Mac OS X on 32-bit Intel). (Ryandesign)
. Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
(Valentin V. Bartenev)
. Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line).
(Nikita)
. Fixed bug #77291 (magic methods inherited from a trait may be ignored).
(cmb)
- CURL:
. Fixed bug #77264 (curl_getinfo returning microseconds, not seconds).
(Pierrick)
- COM:
. Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb)
- Exif:
. Fixed bug #77184 (Unsigned rational numbers are written out as signed
rationals). (Colin Basnett)
- GD:
. Fixed bug #77195 (Incorrect error handling of imagecreatefromjpeg()). (cmb)
. Fixed bug #77198 (auto cropping has insufficient precision). (cmb)
. Fixed bug #77200 (imagecropauto(…, GD_CROP_SIDES) crops left but not right).
(cmb)
. Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to
use-after-free). (cmb)
. Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap). (cmb)
- MBString:
. Fixed bug #77367 (Negative size parameter in mb_split). (Stas)
. Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token).
(Stas)
. Fixed bug #77371 (heap buffer overflow in mb regex functions
- compile_string_node). (Stas)
. Fixed bug #77381 (heap buffer overflow in multibyte match_at). (Stas)
. Fixed bug #77382 (heap buffer overflow due to incorrect length in
expand_case_fold_string). (Stas)
. Fixed bug #77385 (buffer overflow in fetch_token). (Stas)
. Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode).
(Stas)
. Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code). (Stas)
- OCI8:
. Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind)
. Added oci_set_call_timeout() for call timeouts.
. Added oci_set_db_operation() for the DBOP end-to-end-tracing attribute.
- Opcache:
. Fixed bug #77215 (CFG assertion failure on multiple finalizing switch
frees in one block). (Nikita)
. Fixed bug #77275 (OPcache optimization problem for ArrayAccess->offsetGet).
(Nikita)
- PCRE:
. Fixed bug #77193 (Infinite loop in preg_replace_callback). (Anatol)
- PDO:
. Handle invalid index passed to PDOStatement::fetchColumn() as error. (Sergei
Morozov)
- Phar:
. Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (Stas)
- Soap:
. Fixed bug #77088 (Segfault when using SoapClient with null options).
(Laruence)
- Sockets:
. Fixed bug #77136 (Unsupported IPV6_RECVPKTINFO constants on macOS).
(Mizunashi Mana)
- Sodium:
. Fixed bug #77297 (SodiumException segfaults on PHP 7.3). (Nikita, Scott)
- SPL:
. Fixed bug #77359 (spl_autoload causes segfault). (Lauri Kenttä)
. Fixed bug #77360 (class_uses causes segfault). (Lauri Kenttä)
- SQLite3:
. Fixed bug #77051 (Issue with re-binding on SQLite3). (BohwaZ)
- Xmlrpc:
. Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()). (cmb)
. Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code). (Stas)
06 Dec 2018, PHP 7.3.0
- Core:
. Improved PHP GC. (Dmitry, Nikita)
. Redesigned the old ext_skel program written in PHP, run:
'php ext_skel.php' for all options. This means there are no dependencies,
thus making it work on Windows out of the box. (Kalle)
. Removed support for BeOS. (Kalle)
. Add PHP_VERSION to phpinfo() <title/>. (github/MattJeevas)
. Add net_get_interfaces(). (Sara, Joe, Anatol)
. Added gc_status(). (Benjamin Eberlei)
. Implemented flexible heredoc and nowdoc syntax, per
RFC https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes.
(Thomas Punt)
. Added support for references in list() and array destructuring, per
RFC https://wiki.php.net/rfc/list_reference_assignment.
(David Walker)
. Improved effectiveness of ZEND_SECURE_ZERO for NetBSD and systems
without native similar feature. (devnexen)
. Added syslog.facility and syslog.ident INI entries for customizing syslog
logging. (Philip Prindeville)
. Fixed bug #75683 (Memory leak in zend_register_functions() in ZTS mode).
(Dmitry)
. Fixed bug #75031 (support append mode in temp/memory streams). (adsr)
. Fixed bug #74860 (Uncaught exceptions not being formatted properly when
error_log set to "syslog"). (Philip Prindeville)
. Fixed bug #75220 (Segfault when calling is_callable on parent).
(andrewnester)
. Fixed bug #69954 (broken links and unused config items in distributed ini
files). (petk)
. Fixed bug #74922 (Composed class has fatal error with duplicate, equal const
properties). (pmmaga)
. Fixed bug #63911 (identical trait methods raise errors during composition).
(pmmaga)
. Fixed bug #75677 (Clang ignores fastcall calling convention on variadic
function). (Li-Wen Hsu)
. Fixed bug #54043 (Remove inconsitency of internal exceptions and user
defined exceptions). (Nikita)
. Fixed bug #53033 (Mathematical operations convert objects to integers).
(Nikita)
. Fixed bug #73108 (Internal class cast handler uses integer instead of
float). (Nikita)
. Fixed bug #75765 (Fatal error instead of Error exception when base class is
not found). (Timur Ibragimov)
. Fixed bug #76198 (Wording: "iterable" is not a scalar type). (Levi Morrison)
. Fixed bug #76137 (config.guess/config.sub do not recognize RISC-V). (cmb)
. Fixed bug #76427 (Segfault in zend_objects_store_put). (Laruence)
. Fixed bug #76422 (ftruncate fails on files > 2GB). (Anatol)
. Fixed bug #76509 (Inherited static properties can be desynchronized from
their parent by ref). (Nikita)
. Fixed bug #76439 (Changed behaviour in unclosed HereDoc). (Nikita, tpunt)
. Fixed bug #63217 (Constant numeric strings become integers when used as
ArrayAccess offset). (Rudi Theunissen, Dmitry)
. Fixed bug #33502 (Some nullary functions don't check the number of
arguments). (cmb)
. Fixed bug #76392 (Error relocating sapi/cli/php: unsupported relocation
type 37). (Peter Kokot)
. The declaration and use of case-insensitive constants has been deprecated.
(Nikita)
. Added syslog.filter INI entry for syslog filtering. (Philip Prindeville)
. Fixed bug #76667 (Segfault with divide-assign op and __get + __set).
(Laruence)
. Fixed bug #76030 (RE2C_FLAGS rarely honoured) (Cristian Rodríguez)
. Fixed broken zend_read_static_property (Laruence)
. Fixed bug #76773 (Traits used on the parent are ignored for child classes).
(daverandom)
. Fixed bug #76767 (‘asm’ operand has impossible constraints in zend_operators.h).
(ondrej)
. Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in
_get_zval_ptr_tmp failed). (Laruence)
. Fixed bug #76820 (Z_COPYABLE invalid definition). (mvdwerve, cmb)
. Fixed bug #76510 (file_exists() stopped working for phar://). (cmb)
. Fixed bug #76869 (Incorrect bypassing protected method accessibilty check).
(Dmitry)
. Fixed bug #72635 (Undefined class used by class constant in constexpr
generates fatal error). (Nikita)
. Fixed bug #76947 (file_put_contents() blocks the directory of the file
(__DIR__)). (Anatol)
. Fixed bug #76979 (define() error message does not mention resources as
valid values). (Michael Moravec)
. Fixed bug #76825 (Undefined symbols ___cpuid_count). (Laruence, cmb)
. Fixed bug #77110 (undefined symbol zend_string_equal_val in C++ build).
(Remi)
- BCMath:
. Implemented FR #67855 (No way to get current scale in use). (Chris Wright,
cmb)
. Fixed bug #66364 (BCMath bcmul ignores scale parameter). (cmb)
. Fixed bug #75164 (split_bc_num() is pointless). (cmb)
. Fixed bug #75169 (BCMath errors/warnings bypass PHP's error handling). (cmb)
- CLI:
. Fixed bug #44217 (Output after stdout/stderr closed cause immediate exit
with status 0). (Robert Lu)
. Fixed bug #77111 (php-win.exe corrupts unicode symbols from cli
parameters). (Anatol)
- cURL:
. Expose curl constants from curl 7.50 to 7.61. (Pierrick)
. Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
(cebe)
- Date:
. Implemented FR #74668: Add DateTime::createFromImmutable() method.
(majkl578, Rican7)
. Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr)
. Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
(jhdxr)
. Fixed bug #76131 (mismatch arginfo for date_create). (carusogabriel)
. Updated timelib to 2018.01RC1 to address several bugs:
. Fixed bug #75577 (DateTime::createFromFormat does not accept 'v' format
specifier). (Derick)
. Fixed bug #75642 (Wrap around behaviour for microseconds is not working).
(Derick)
- DBA:
. Fixed bug #75264 (compiler warnings emitted). (petk)
- DOM:
. Fixed bug #76285 (DOMDocument::formatOutput attribute sometimes ignored).
(Andrew Nester, Laruence, Anatol)
- Fileinfo:
. Fixed bug #77095 (slowness regression in 7.2/7.3 (compared to 7.1)).
(Anatol)
- Filter:
. Added the 'add_slashes' sanitization mode (FILTER_SANITIZE_ADD_SLASHES).
(Kalle)
- FPM:
. Added fpm_get_status function. (Till Backhaus)
. Fixed bug #62596 (getallheaders() missing with PHP-FPM). (Remi)
. Fixed bug #69031 (Long messages into stdout/stderr are truncated
incorrectly) - added new log related FPM configuration options:
log_limit, log_buffering and decorate_workers_output. (Jakub Zelenka)
- ftp:
. Fixed bug #77151 (ftp_close(): SSL_read on shutdown). (Remi)
- GD:
. Added support for WebP in imagecreatefromstring(). (Andreas Treichel, cmb)
- GMP:
. Export internal structures and accessor helpers for GMP object. (Sara)
. Added gmp_binomial(n, k). (Nikita)
. Added gmp_lcm(a, b). (Nikita)
. Added gmp_perfect_power(a). (Nikita)
. Added gmp_kronecker(a, b). (Nikita)
- iconv:
. Fixed bug #53891 (iconv_mime_encode() fails to Q-encode UTF-8 string). (cmb)
. Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
(cmb)
- IMAP:
. Fixed bug #77020 (null pointer dereference in imap_mail). (cmb)
. Fixed bug #77153 (imap_open allows to run arbitrary shell commands via
mailbox parameter). (Stas)
- Interbase:
. Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa)
. Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown). (Kalle)
- intl:
. Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
of destination). (andrewnester)
. Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8()
function). (Anatol)
- JSON:
. Added JSON_THROW_ON_ERROR flag. (Andrea)
- LDAP:
. Added ldap_exop_refresh helper for EXOP REFRESH operation with dds overlay.
(Come)
. Added full support for sending and parsing ldap controls. (Come)
. Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke)
- libxml2:
. Fixed bug #75871 (use pkg-config where available). (pmmaga)
- litespeed:
. Fixed bug #75248 (Binary directory doesn't get created when building
only litespeed SAPI). (petk)
. Fixed bug #75251 (Missing program prefix and suffix). (petk)
- MBstring:
. Updated to Oniguruma 6.9.0. (cmb)
. Fixed bug #65544 (mb title case conversion-first word in quotation isn't
capitalized). (Nikita)
. Fixed bug #71298 (MB_CASE_TITLE misbehaves with curled apostrophe/quote).
(Nikita)
. Fixed bug #73528 (Crash in zif_mb_send_mail). (Nikita)
. Fixed bug #74929 (mbstring functions version 7.1.1 are slow compared to 5.3
on Windows). (Nikita)
. Fixed bug #76319 (mb_strtolower with invalid UTF-8 causes segmentation
fault). (Nikita)
. Fixed bug #76574 (use of undeclared identifiers INT_MAX and LONG_MAX). (cmb)
. Fixed bug #76594 (Bus Error due to unaligned access in zend_ini.c
OnUpdateLong). (cmb, Nikita)
. Fixed bug #76706 (mbstring.http_output_conv_mimetypes is ignored). (cmb)
. Fixed bug #76958 (Broken UTF7-IMAP conversion). (Nikita)
. Fixed bug #77025 (mb_strpos throws Unknown encoding or conversion error).
(Nikita)
. Fixed bug #77165 (mb_check_encoding crashes when argument given an empty
array). (Nikita)
- Mysqlnd:
. Fixed bug #76386 (Prepared Statement formatter truncates fractional seconds
from date/time column). (Victor Csiky)
- ODBC:
. Removed support for ODBCRouter. (Kalle)
. Removed support for Birdstep. (Kalle)
. Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
(Jon Allen)
- Opcache:
. Fixed bug #76466 (Loop variable confusion). (Dmitry, Laruence, Nikita)
. Fixed bug #76463 (var has array key type but not value type). (Laruence)
. Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion
`!(zval_gc_flags((str)->gc)). (Nikita, Laruence)
. Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string
offset"). (Dmitry)
. Fixed bug #77058 (Type inference in opcache causes side effects). (Nikita)
. Fixed bug #77092 (array_diff_key() - segmentation fault). (Nikita)
- OpenSSL:
. Added openssl_pkey_derive function. (Jim Zubov)
. Add min_proto_version and max_proto_version ssl stream options as well as
related constants for possible TLS protocol values. (Jakub Zelenka)
- PCRE:
. Implemented https://wiki.php.net/rfc/pcre2-migration. (Anatol, Dmitry)
. Upgrade PCRE2 to 10.32. (Anatol)
. Fixed bug #75355 (preg_quote() does not quote # control character).
(Michael Moravec)
. Fixed bug #76512 (\w no longer includes unicode characters). (cmb)
. Fixed bug #76514 (Regression in preg_match makes it fail with
PREG_JIT_STACKLIMIT_ERROR). (Anatol)
. Fixed bug #76909 (preg_match difference between 7.3 and < 7.3). (Anatol)
- PDO_DBlib:
. Implemented FR #69592 (allow 0-column rowsets to be skipped automatically).
(fandrieu)
. Expose TDS version as \PDO::DBLIB_ATTR_TDS_VERSION attribute on \PDO
instance. (fandrieu)
. Treat DATETIME2 columns like DATETIME. (fandrieu)
. Fixed bug #74243 (allow locales.conf to drive datetime format). (fandrieu)
- PDO_Firebird:
. Fixed bug #74462 (PDO_Firebird returns only NULLs for results with boolean
for FIREBIRD >= 3.0). (Dorin Marcoci)
- PDO_OCI:
. Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized
before PHP-FPM sets it up). (Ingmar Runge)
- PDO SQLite
. Add support for additional open flags
- pgsql:
. Added new error constants for pg_result_error(): PGSQL_DIAG_SCHEMA_NAME,
PGSQL_DIAG_TABLE_NAME, PGSQL_DIAG_COLUMN_NAME, PGSQL_DIAG_DATATYPE_NAME,
PGSQL_DIAG_CONSTRAINT_NAME and PGSQL_DIAG_SEVERITY_NONLOCALIZED. (Kalle)
. Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT
TIMEZONE' data type). (Andy Gajetzki)
- phar:
. Fixed bug #74991 (include_path has a 4096 char limit in some cases).
(bwbroersma)
. Fixed bug #65414 (deal with leading slash when adding files correctly).
(bishopb)
- readline:
. Added completion_append_character and completion_suppress_append options
to readline_info() if linked against libreadline. (krageon)
- Session:
. Fixed bug #74941 (session fails to start after having headers sent).
(morozov)
- SimpleXML:
. Fixed bug #54973 (SimpleXML casts integers wrong). (Nikita)
. Fixed bug #76712 (Assignment of empty string creates extraneous text node).
(cmb)
- Sockets:
. Fixed bug #67619 (Validate length on socket_write). (thiagooak)
- SOAP:
. Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
(villfa)
. Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is
used). (Anton Artamonov)
. Fixed bug #50675 (SoapClient can't handle object references correctly).
(Cameron Porter)
. Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault). (cmb)
. Fixed bug #77141 (Signedness issue in SOAP when precision=-1). (cmb)
- SPL:
. Fixed bug #74977 (Appending AppendIterator leads to segfault).
(Andrew Nester)
. Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach
loop). (jhdxr)
. Fixed bug #74372 (autoloading file with syntax error uses next autoloader,
may hide parse error). (Nikita)
. Fixed bug #75878 (RecursiveTreeIterator::setPostfix has wrong signature).
(cmb)
. Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr)
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
(carusogabriel)
- SQLite3:
. Updated bundled libsqlite to 3.24.0. (cmb)
- Standard:
. Added is_countable() function. (Gabriel Caruso)
. Added support for the SameSite cookie directive, including an alternative
signature for setcookie(), setrawcookie() and session_set_cookie_params().
(Frederik Bosch, pmmaga)
. Remove superfluous warnings from inet_ntop()/inet_pton(). (daverandom)
. Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
Philip Sharp)
. Fixed unserialize(), to disable creation of unsupported data structures
through manually crafted strings. (Dmitry)
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
that getrandom() is missing). (sarciszewski)
. Fixed bug #74719 (fopen() should accept NULL as context). (Alexander Holman)
. Fixed bug #69948 (path/domain are not sanitized in setcookie). (cmb)
. Fixed bug #75996 (incorrect url in header for mt_rand). (tatarbj)
. Added hrtime() function, to get high resolution time. (welting)
. Fixed bug #48016 (stdClass::__setState is not defined although var_export()
uses it). (Andrea)
. Fixed bug #76136 (stream_socket_get_name should enclose IPv6 in brackets).
(seliver)
. Fixed bug #76688 (Disallow excessive parameters after options array).
(pmmaga)
. Fixed bug #76713 (Segmentation fault caused by property corruption).
(Laruence)
. Fixed bug #76755 (setcookie does not accept "double" type for expire time).
(Laruence)
. Fixed bug #76674 (improve array_* failure messages exposing what was passed
instead of an array). (carusogabriel)
. Fixed bug #76803 (ftruncate changes file pointer). (Anatol)
. Fixed bug #76818 (Memory corruption and segfault). (Remi)
. Fixed bug #77081 (ftruncate() changes seek pointer in c mode). (cmb, Anatol)
- Testing:
. Implemented FR #62055 (Make run-tests.php support --CGI-- sections). (cmb)
- Tidy:
. Support using tidyp instead of tidy. (devnexen)
. Fixed bug #74707 (Tidy has incorrect ReflectionFunction param counts for
functions taking tidy). (Gabriel Caruso)
. Fixed arginfo for tidy::__construct(). (Tyson Andre)
- Tokenizer:
. Fixed bug #76437 (token_get_all with TOKEN_PARSE flag fails to recognise
close tag). (Laruence)
. Fixed bug #75218 (Change remaining uncatchable fatal errors for parsing
into ParseError). (Nikita)
. Fixed bug #76538 (token_get_all with TOKEN_PARSE flag fails to recognise
close tag with newline). (Nikita)
. Fixed bug #76991 (Incorrect tokenization of multiple invalid flexible
heredoc strings). (Nikita)
- XML:
. Fixed bug #71592 (External entity processing never fails). (cmb)
- Zlib:
. Added zlib/level context option for compress.zlib wrapper. (Sara)
08 Nov 2018, PHP 7.2.12
- Core:
. Fixed bug #76846 (Segfault in shutdown function after memory limit error).
(Nikita)
. Fixed bug #76946 (Cyclic reference in generator not detected). (Nikita)
. Fixed bug #77035 (The phpize and ./configure create redundant .deps file).
(Peter Kokot)
. Fixed bug #77041 (buildconf should output error messages to stderr)
(Mizunashi Mana)
- Date:
. Upgraded timelib to 2017.08. (Derick)
. Fixed bug #75851 (Year component overflow with date formats "c", "o", "r"
and "y"). (Adam Saponara)
. Fixed bug #77007 (fractions in `diff()` are not correctly normalized).
(Derick)
- FCGI:
. Fixed #76948 (Failed shutdown/reboot or end session in Windows). (Anatol)
. Fixed bug #76954 (apache_response_headers removes last character from header
name). (stodorovic)
- FTP:
. Fixed bug #76972 (Data truncation due to forceful ssl socket shutdown).
(Manuel Mausz)
- intl:
. Fixed bug #76942 (U_ARGUMENT_TYPE_MISMATCH). (anthrax at unixuser dot org)
- Reflection:
. Fixed bug #76936 (Objects cannot access their private attributes while
handling reflection errors). (Nikita)
. Fixed bug #66430 (ReflectionFunction::invoke does not invoke closure with
object scope). (Nikita)
- Sodium:
. Some base64 outputs were truncated; this is not the case any more.
(jedisct1)
. block sizes >= 256 bytes are now supposed by sodium_pad() even
when an old version of libsodium has been installed. (jedisct1)
. Fixed bug #77008 (sodium_pad() could read (but not return nor write)
uninitialized memory when trying to pad an empty input). (jedisct1)
- Standard:
. Fixed bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace).
(Pierrick)
- Tidy:
. Fixed bug #77027 (tidy::getOptDoc() not available on Windows). (cmb)
- XML:
. Fixed bug #30875 (xml_parse_into_struct() does not resolve entities). (cmb)
. Add support for getting SKIP_TAGSTART and SKIP_WHITE options. (cmb)
- XMLRPC:
. Fixed bug #75282 (xmlrpc_encode_request() crashes). (cmb)
11 Oct 2018, PHP 7.2.11
- Core:
. Fixed bug #76800 (foreach inconsistent if array modified during loop).
(Dmitry)
. Fixed bug #76901 (method_exists on SPL iterator passthrough method corrupts
memory). (Nikita)
- CURL:
. Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected).
(Pierrick)
- iconv:
. Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
(cmb)
- Opcache:
. Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
(Anatol)
. Fixed bug #76796 (Compile-time evaluation of disabled function in opcache
causes segfault). (Nikita)
- POSIX:
. Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb)
- Reflection:
. Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod).
(cmb)
- Standard:
. Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open
data connection). (Ville Hukkamäki)
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
stream_socket_client). (Ville Hukkamäki)
. Fixed bug #75533 (array_reduce is slow when $carry is large array).
(Manabu Matsui)
- XMLRPC:
. Fixed bug #76886 (Can't build xmlrpc with expat). (Thomas Petazzoni, cmb)
- Zlib:
. Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed).
(Martin Burke, cmb)
13 Sep 2018, PHP 7.2.10
- Core:
. Fixed bug #76754 (parent private constant in extends class memory leak).
(Laruence)
. Fixed bug #72443 (Generate enabled extension). (petk)
. Fixed bug #75797 (Memory leak when using class_alias() in non-debug mode).
(Massimiliano Braglia)
- Apache2:
. Fixed bug #76582 (Apache bucket brigade sometimes becomes invalid). (stas)
- Bz2:
. Fixed arginfo for bzcompress. (Tyson Andre)
- gettext:
. Fixed bug #76517 (incorrect restoring of LDFLAGS). (sji)
- iconv:
. Fixed bug #68180 (iconv_mime_decode can return extra characters in a
header). (cmb)
. Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers).
(cmb)
. Fixed bug #60494 (iconv_mime_decode does ignore special characters). (cmb)
. Fixed bug #55146 (iconv_mime_decode_headers() skips some headers). (cmb)
- intl:
. Fixed bug #74484 (MessageFormatter::formatMessage memory corruption with
11+ named placeholders). (Anatol)
- libxml:
. Fixed bug #76777 ("public id" parameter of libxml_set_external_entity_loader
callback undefined). (Ville Hukkamäki)
- mbstring:
. Fixed bug #76704 (mb_detect_order return value varies based on argument
type). (cmb)
- Opcache:
. Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar
file). (Laruence)
- OpenSSL:
. Fixed bug #76705 (unusable ssl => peer_fingerprint in
stream_context_create()). (Jakub Zelenka)
- phpdbg:
. Fixed bug #76595 (phpdbg man page contains outdated information).
(Kevin Abel)
- SPL:
. Fixed bug #68825 (Exception in DirectoryIterator::getLinkTarget()). (cmb)
. Fixed bug #68175 (RegexIterator pregFlags are NULL instead of 0). (Tim
Siebels)
- Standard:
. Fixed bug #76778 (array_reduce leaks memory if callback throws exception).
(cmb)
- zlib:
. Fixed bug #65988 (Zlib version check fails when an include/zlib/ style dir
is passed to the --with-zlib configure option). (Jay Bonci)
. Fixed bug #76709 (Minimal required zlib library is 1.2.0.4). (petk)
16 Aug 2018, PHP 7.2.9
- Calendar:
. Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset).
(cmb)
- Filter:
. Fixed bug #76366 (References in sub-array for filtering breaks the filter).
(ZiHang Gao)
- PDO_Firebird:
. Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis)
- PDO_PgSQL:
. Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option).
(Anatol)
- SQLite3:
. Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle).
(cmb)
- Standard:
. Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb)
. Fixed bug #68553 (array_column: null values in $index_key become incrementing
keys in result). (Laruence)
. Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`).
(cmb)
- Zip:
. Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)).
(Timur Ibragimov)
19 Jul 2018, PHP 7.2.8
- Core:
. Fixed bug #76534 (PHP hangs on 'illegal string offset on string references
with an error handler). (Laruence)
. Fixed bug #76520 (Object creation leaks memory when executed over HTTP).
(Nikita)
. Fixed bug #76502 (Chain of mixed exceptions and errors does not serialize
properly). (Nikita)
- Date:
. Fixed bug #76462 (Undefined property: DateInterval::$f). (Anatol)
- EXIF:
. Fixed bug #76409 (heap use after free in _php_stream_free). (cmb)
. Fixed bug #76423 (Int Overflow lead to Heap OverFlow in
exif_thumbnail_extract of exif.c). (Stas)
. Fixed bug #76557 (heap-buffer-overflow (READ of size 48) while reading exif
data). (Stas)
- FPM:
. Fixed bug #73342 (Vulnerability in php-fpm by changing stdin to
non-blocking). (Nikita)
- GMP:
. Fixed bug #74670 (Integer Underflow when unserializing GMP and possible
other classes). (Nikita)
- intl:
. Fixed bug #76556 (get_debug_info handler for BreakIterator shows wrong
type). (cmb)
- mbstring:
. Fixed bug #76532 (Integer overflow and excessive memory usage
in mb_strimwidth). (MarcusSchwarz)
- Opcache:
. Fixed bug #76477 (Opcache causes empty return value).
(Nikita, Laruence)
- PGSQL:
. Fixed bug #76548 (pg_fetch_result did not fetch the next row). (Anatol)
- phpdbg:
. Fix arginfo wrt. optional/required parameters. (cmb)
- Reflection:
. Fixed bug #76536 (PHP crashes with core dump when throwing exception in
error handler). (Laruence)
. Fixed bug #75231 (ReflectionProperty#getValue() incorrectly works with
inherited classes). (Nikita)
- Standard:
. Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys).
(Laruence)
. Fixed bug #71848 (getimagesize with $imageinfo returns false). (cmb)
- Win32:
. Fixed bug #76459 (windows linkinfo lacks openbasedir check). (Anatol)
- ZIP:
. Fixed bug #76461 (OPSYS_Z_CPM defined instead of OPSYS_CPM).
(Dennis Birkholz, Remi)
07 Jun 2018, PHP 7.2.7
- Core:
. Fixed bug #76337 (segfault when opcache enabled + extension use
zend_register_class_alias). (xKhorasan)
- CLI Server:
. Fixed bug #76333 (PHP built-in server does not find files if root path
contains special characters). (Anatol)
- OpenSSL:
. Fixed bug #76296 (openssl_pkey_get_public does not respect open_basedir).
(Erik Lax, Jakub Zelenka)
. Fixed bug #76174 (openssl extension fails to build with LibreSSL 2.7).
(Jakub Zelenka)
- SPL:
. Fixed bug #76367 (NoRewindIterator segfault 11). (Laruence)
- Standard:
. Fixed bug #76410 (SIGV in zend_mm_alloc_small). (Laruence)
. Fixed bug #76335 ("link(): Bad file descriptor" with non-ASCII path).
(Anatol)
24 May 2018, PHP 7.2.6
- EXIF:
. Fixed bug #76164 (exif_read_data zend_mm_heap corrupted). (cmb)
- FPM:
. Fixed bug #76075 --with-fpm-acl wrongly tries to find libacl on FreeBSD.
(mgorny)
- intl:
. Fixed bug #74385 (Locale::parseLocale() broken with some arguments).
(Anatol)
- Opcache:
. Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp). (Dmitry)
. Fixed bug #76275 (Assertion failure in file cache when unserializing empty
try_catch_array). (Nikita)
. Fixed bug #76281 (Opcache causes incorrect "undefined variable" errors).
(Nikita)
- Reflection:
. Fixed arginfo of array_replace(_recursive) and array_merge(_recursive).
(carusogabriel)
- Session:
. Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start