forked from php/web-php
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog-8.php
5200 lines (4981 loc) · 220 KB
/
ChangeLog-8.php
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
$_SERVER['BASE_PAGE'] = 'ChangeLog-8.php';
include_once __DIR__ . '/include/prepend.inc';
include_once __DIR__ . '/include/changelogs.inc';
$MINOR_VERSIONS = ['8.3', '8.2', '8.1', '8.0'];
changelog_header(8, $MINOR_VERSIONS);
?>
<a id="PHP_8_3"></a>
<section class="version" id="8.3.0"><!-- {{{ 8.3.0 -->
<h3>Version 8.3.0</h3>
<b><?php release_date('23-Nov-2023'); ?></b>
<ul><li>Bcmath:
<ul>
<li>Fixed <?php githubissuel('php/php-src', 11761); ?> (removing trailing zeros from numbers) (jorgsowa)</li>
</ul></li>
<li>CLI:
<ul>
<li>Added pdeathsig to builtin server to terminate workers when the master process is killed.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11104); ?> (STDIN/STDOUT/STDERR is not available for CLI without a script).</li>
<li>Implement <?php githubissuel('php/php-src', 10024); ?> (support linting multiple files at once using php -l).</li>
</ul></li>
<li>Core:
<ul>
<li>Fix <?php githubissuel('php/php-src', 11388); ?> (Allow "final" modifier when importing a method from a trait).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11406); ?> (segfault with unpacking and magic method closure).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 9388); ?> (Improve unset property and __get type incompatibility error message).</li>
<li>SA_ONSTACK is now set for signal handlers to be friendlier to other in-process code such as Go's cgo.</li>
<li>SA_ONSTACK is now set when signals are disabled.</li>
<li>Fix <?php githubissuel('php/php-src', 9649); ?>: Signal handlers now do a no-op instead of crashing when executed on threads not managed by TSRM.</li>
<li>Added shadow stack support for fibers.</li>
<li>Fix bug <?php githubissuel('php/php-src', 9965); ?> (Fix accidental caching of default arguments with side effects).</li>
<li>Implement <?php githubissuel('php/php-src', 10217); ?> (Use strlen() for determining the class_name length).</li>
<li>Fix bug <?php githubissuel('php/php-src', 8821); ?> (Improve line numbers for errors in constant expressions).</li>
<li>Fix bug <?php githubissuel('php/php-src', 10083); ?> (Allow comments between & and parameter).</li>
<li>Zend Max Execution Timers is now enabled by default for ZTS builds on Linux.</li>
<li>Fix bug <?php githubissuel('php/php-src', 10469); ?> (Disallow .. in open_basedir paths set at runtime).</li>
<li>Fix bug <?php githubissuel('php/php-src', 10168); ?>, <?php githubissuel('php/php-src', 10582); ?> (Various segfaults with destructors and VM return values).</li>
<li>Fix bug <?php githubissuel('php/php-src', 10935); ?> (Use of trait doesn't redeclare static property if class has inherited it from its parent).</li>
<li>Fix bug <?php githubissuel('php/php-src', 11154); ?> (Negative indices on empty array don't affect next chosen index).</li>
<li>Fix bug <?php githubissuel('php/php-src', 8846); ?> (Implement delayed early binding for classes without parents).</li>
<li>Fix bug #79836 (Segfault in concat_function).</li>
<li>Fix bug #81705 (type confusion/UAF on set_error_handler with concat operation).</li>
<li>Fix <?php githubissuel('php/php-src', 11348); ?> (Closure created from magic method does not accept named arguments).</li>
<li>Fix <?php githubissuel('php/php-src', 11388); ?> (Allow "final" modifier when importing a method from a trait).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11406); ?> (segfault with unpacking and magic method closure).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11507); ?> (String concatenation performance regression in 8.3).</li>
<li>Fixed <?php githubissuel('php/php-src', 11488); ?> (Missing "Optional parameter before required" deprecation on union null type).</li>
<li>Implement the #[\Override] attribute RFC.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11601); ?> (Incorrect handling of unwind and graceful exit exceptions).</li>
<li>Added zend_call_stack_get implementation for OpenBSD.</li>
<li>Add stack limit check in zend_eval_const_expr().</li>
<li>Expose time spent collecting cycles in gc_status().</li>
<li>Remove WeakMap entries whose key is only reachable through the entry value.</li>
<li>Resolve open_basedir paths on INI update.</li>
<li>Fixed oss-fuzz #60741 (Leak in open_basedir).</li>
<li>Fixed segfault during freeing of some incompletely initialized objects due to OOM error (PDO, SPL, XSL).</li>
<li>Introduced Zend guard recursion protection to fix __debugInfo issue.</li>
<li>Fixed oss-fuzz #61712 (assertion failure with error handler during binary op).</li>
<li>Fixed <?php githubissuel('php/php-src', 11847); ?> (DTrace enabled build is broken).</li>
<li>Fixed OSS Fuzz #61865 (Undef variable in ++/-- for declared property that is unset in error handler).</li>
<li>Fixed warning emitted when checking if a user stream is castable.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12123); ?> (Compile error on MacOS with C++ extension when using ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12189); ?> (#[Override] attribute in trait does not check for parent class implementations).</li>
<li>Fixed OSS Fuzz #62294 (Unsetting variable after ++/-- on string variable warning).</li>
<li>Fixed buffer underflow when compiling memoized expression.</li>
<li>Fixed oss-fuzz #63802 (OP1 leak in error path of post inc/dec).</li>
</ul></li>
<li>Curl:
<ul>
<li>Added Curl options and constants up to (including) version 7.87.</li>
</ul></li>
<li>Date:
<ul>
<li>Implement More Appropriate Date/Time Exceptions RFC.</li>
</ul></li>
<li>DOM:
<ul>
<li>Fix bug <?php githubissuel('php/php-src', 8388); ?> (DOMAttr unescapes character reference).</li>
<li>Fix bug <?php githubissuel('php/php-src', 11308); ?> (getElementsByTagName() is O(N^2)).</li>
<li>Fix #79700 (wrong use of libxml oldNs leads to performance problem).</li>
<li>Fix #77894 (DOMNode::C14N() very slow on generated DOMDocuments even after normalisation).</li>
<li>Revert changes to DOMAttr::$value and DOMAttr::$nodeValue expansion.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11500); ?> (Namespace reuse in createElementNS() generates wrong output).</li>
<li>Implemented DOMDocument::adoptNode(). Previously this always threw a "not yet implemented" exception.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 9628); ?> (Implicitly removing nodes from \DOMDocument breaks existing references).</li>
<li>Added DOMNode::contains() and DOMNameSpaceNode::contains().</li>
<li>Added DOMElement::getAttributeNames().</li>
<li>Added DOMNode::getRootNode().</li>
<li>Added DOMElement::className and DOMElement::id.</li>
<li>Added DOMParentNode::replaceChildren().</li>
<li>Added DOMNode::isConnected and DOMNameSpaceNode::isConnected.</li>
<li>Added DOMNode::parentElement and DOMNameSpaceNode::parentElement.</li>
<li>Added DOMNode::isEqualNode().</li>
<li>Added DOMElement::insertAdjacentElement() and DOMElement::insertAdjacentText().</li>
<li>Added DOMElement::toggleAttribute().</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11792); ?> (LIBXML_NOXMLDECL is not implemented or broken).</li>
<li>adoptNode now respects the strict error checking property.</li>
<li>Align DOMChildNode parent checks with spec.</li>
<li><?php bugfix(80927); ?> (Removing documentElement after creating attribute node: possible use-after-free).</li>
<li>Fix various namespace prefix conflict resolution bugs.</li>
<li>Fix calling createAttributeNS() without prefix causing the default namespace of the element to change.</li>
<li>Fixed <?php githubissuel('php/php-src', 11952); ?> (Confusing warning when blocking entity loading via libxml_set_external_entity_loader).</li>
<li>Fix broken cache invalidation with deallocated and reallocated document node.</li>
<li>Fix compile error when php_libxml.h header is included in C++.</li>
<li><?php bugfix(47531); ?> (No way of removing redundant xmlns: declarations).</li>
</ul></li>
<li>Exif:
<ul>
<li>Removed unneeded codepaths in exif_process_TIFF_in_JPEG().</li>
</ul></li>
<li>FFI:
<ul>
<li>Implement <?php githubissuel('php/php-src', 11934); ?> (Allow to pass CData into struct and/or union fields).</li>
</ul></li>
<li>Fileinfo:
<ul>
<li>Upgrade bundled libmagic to 5.43.</li>
<li>Fix <?php githubissuel('php/php-src', 11408); ?> (Unable to build PHP 8.3.0 alpha 1 / fileinfo extension).</li>
</ul></li>
<li>FPM:
<ul>
<li>The status.listen shared pool now uses the same php_values (including expose_php) and php_admin_value as the pool it is shared with.</li>
<li>Added warning to log when fpm socket was not registered on the expected path.</li>
<li><?php bugfix(76067); ?> (system() function call leaks php-fpm listening sockets).</li>
<li>Fixed <?php githubissuel('php/php-src', 12077); ?> (PHP 8.3.0RC1 borked socket-close-on-exec.phpt).</li>
</ul></li>
<li>GD:
<ul>
<li>Removed imagerotate "ignore_transparent" argument since it has no effect.</li>
</ul></li>
<li>Intl:
<ul>
<li>Added pattern format error infos for numfmt_set_pattern.</li>
<li>Added MIXED_NUMBERS and HIDDEN_OVERLAY constants for the Spoofchecker's class.</li>
<li>Updated datefmt_set_timezone/IntlDateformatter::setTimezone returns type. (David Carlier).</li>
<li>Updated IntlBreakInterator::setText return type.</li>
<li>Updated IntlChar::enumCharNames return type.</li>
<li>Removed the BC break on IntlDateFormatter::construct which threw an exception with an invalid locale.</li>
</ul></li>
<li>JSON:
<ul>
<li>Added json_validate().</li>
</ul></li>
<li>LDAP:
<ul>
<li>Deprecate calling ldap_connect() with separate hostname and port.</li>
</ul></li>
<li>LibXML:
<ul>
<li>Fix compile error with -Werror=incompatible-function-pointer-types and old libxml2.</li>
</ul></li>
<li>MBString:
<ul>
<li>mb_detect_encoding is better able to identify the correct encoding for Turkish text.</li>
<li>mb_detect_encoding's "non-strict" mode now behaves as described in the documentation. Previously, it would return false if the same byte (for example, the first byte) of the input string was invalid in all candidate encodings. More generally, it would eliminate candidate encodings from consideration when an invalid byte was seen, and if the same input byte eliminated all remaining encodings still under consideration, it would return false. On the other hand, if all candidate encodings but one were eliminated from consideration, it would return the last remaining one without regard for how many encoding errors might be encountered later in the string. This is different from the behavior described in the documentation, which says: "If strict is set to false, the closest matching encoding will be returned." (Alex Dowad)</li>
<li>mb_strtolower, mb_strtotitle, and mb_convert_case implement conditional casing rules for the Greek letter sigma. For mb_convert_case, conditional casing only applies to MB_CASE_LOWER and MB_CASE_TITLE modes, not to MB_CASE_LOWER_SIMPLE and MB_CASE_TITLE_SIMPLE.</li>
<li>mb_detect_encoding is better able to identify UTF-8 and UTF-16 strings with a byte-order mark.</li>
<li>mb_decode_mimeheader interprets underscores in QPrint-encoded MIME encoded words as required by RFC 2047; they are converted to spaces. Underscores must be encoded as "=5F" in such MIME encoded words.</li>
<li>mb_encode_mimeheader no longer drops NUL (zero) bytes when QPrint-encoding the input string. This previously caused strings in certain text encodings, especially UTF-16 and UTF-32, to be corrupted by mb_encode_mimeheader.</li>
<li>Implement mb_str_pad() RFC.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11514); ?> (PHP 8.3 build fails with --enable-mbstring enabled).</li>
<li>Fix use-after-free of mb_list_encodings() return value.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11992); ?> (utf_encodings.phpt fails on Windows 32-bit).</li>
</ul></li>
<li>mysqli:
<ul>
<li>mysqli_fetch_object raises a ValueError instead of an Exception.</li>
</ul></li>
<li>Opcache:
<ul>
<li>Added start, restart and force restart time to opcache's phpinfo section.</li>
<li>Fix <?php githubissuel('php/php-src', 9139); ?>: Allow FFI in opcache.preload when opcache.preload_user=root.</li>
<li>Made opcache.preload_user always optional in the cli and phpdbg SAPIs.</li>
<li>Allows W/X bits on page creation on FreeBSD despite system settings.</li>
<li>Added memfd api usage, on Linux, for zend_shared_alloc_create_lock() to create an abstract anonymous file for the opcache's lock.</li>
<li>Avoid resetting JIT counter handlers from multiple processes/threads.</li>
<li>Fixed COPY_TMP type inference for references.</li>
</ul></li>
<li>OpenSSL:
<ul>
<li>Added OPENSSL_CMS_OLDMIMETYPE and PKCS7_NOOLDMIMETYPE contants to switch between mime content types.</li>
<li>Fixed <?php githubissuel('php/php-src', 11054); ?>: Reset OpenSSL errors when using a PEM public key.</li>
<li>Added support for additional EC parameters in openssl_pkey_new.</li>
</ul></li>
<li>PCNTL:
<ul>
<li>SA_ONSTACK is now set for pcntl_signal.</li>
<li>Added SIGINFO constant.</li>
</ul></li>
<li>PCRE:
<ul>
<li>Update bundled libpcre2 to 10.42.</li>
</ul></li>
<li>PGSQL:
<ul>
<li>pg_fetch_object raises a ValueError instead of an Exception.</li>
<li>pg_cancel use thread safe PQcancel api instead.</li>
<li>pg_trace new PGSQL_TRACE_SUPPRESS_TIMESTAMPS/PGSQL_TRACE_REGRESS_MODE contants support.</li>
<li>pg_set_error_verbosity adding PGSQL_ERRORS_STATE constant.</li>
<li>pg_convert/pg_insert E_WARNING on type errors had been converted to ValueError/TypeError exceptions.</li>
<li>Added pg_set_error_context_visibility to set the context's visibility within the error messages.</li>
</ul></li>
<li>Phar:
<ul>
<li>Fix memory leak in phar_rename_archive().</li>
</ul></li>
<li>POSIX:
<ul>
<li>Added posix_sysconf.</li>
<li>Added posix_pathconf.</li>
<li>Added posix_fpathconf.</li>
<li>Fixed zend_parse_arg_long's bool pointer argument assignment.</li>
<li>Added posix_eaccess.</li>
</ul></li>
<li>Random:
<ul>
<li>Added Randomizer::getBytesFromString().</li>
<li>Added Randomizer::nextFloat(), ::getFloat(), and IntervalBoundary.</li>
<li>Enable getrandom() for NetBSD (from 10.x).</li>
<li>Deprecate MT_RAND_PHP.</li>
<li>Fix Randomizer::getFloat() returning incorrect results under certain circumstances.</li>
</ul></li>
<li>Reflection:
<ul>
<li>Fix <?php githubissuel('php/php-src', 9470); ?> (ReflectionMethod constructor should not find private parent method).</li>
<li>Fix <?php githubissuel('php/php-src', 10259); ?> (ReflectionClass::getStaticProperties doesn't need null return type).</li>
</ul></li>
<li>SAPI:
<ul>
<li>Fixed <?php githubissuel('php/php-src', 11141); ?> (Could not open input file: should be sent to stderr).</li>
</ul></li>
<li>Session:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11529); ?> (Crash after dealing with an Apache request).</li>
</ul></li>
<li>SimpleXML:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12192); ?> (SimpleXML infinite loop when getName() is called within foreach).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12208); ?> (SimpleXML infinite loop when a cast is used inside a foreach).</li>
<li><?php bugfix(55098); ?> (SimpleXML iteration produces infinite loop).</li>
</ul></li>
<li>Sockets:
<ul>
<li>Added SO_ATTACH_REUSEPORT_CBPF socket option, to give tighter control over socket binding for a cpu core.</li>
<li>Added SKF_AD_QUEUE for cbpf filters.</li>
<li>Added socket_atmark if send/recv needs using MSG_OOB.</li>
<li>Added TCP_QUICKACK constant, to give tigher control over ACK delays.</li>
<li>Added DONTFRAGMENT support for path MTU discovery purpose.</li>
<li>Added AF_DIVERT for raw socket for divert ports.</li>
<li>Added SOL_UPDLITE, UDPLITE_RECV_CSCOV and UDPLITE_SEND_CSCOV for updlite protocol support.</li>
<li>Added SO_RERROR, SO_ZEROIZE and SO_SPLICE netbsd and openbsd constants.</li>
<li>Added TCP_REPAIR for quietly close a connection.</li>
<li>Added SO_REUSEPORT_LB freebsd constant.</li>
<li>Added IP_BIND_ADDRESS_NO_PORT.</li>
</ul></li>
<li>SPL:
<ul>
<li>Fixed <?php githubissuel('php/php-src', 11573); ?> (RecursiveDirectoryIterator::hasChildren is slow).</li>
</ul></li>
<li>Standard:
<ul>
<li>E_NOTICEs emitted by unserialize() have been promoted to E_WARNING.</li>
<li>unserialize() now emits a new E_WARNING if the input contains unconsumed bytes.</li>
<li>Make array_pad's $length warning less confusing.</li>
<li>E_WARNING emitted by strtok in the caase both arguments are not provided when starting tokenisation.</li>
<li>password_hash() will now chain the original RandomException to the ValueError on salt generation failure.</li>
<li>Fix <?php githubissuel('php/php-src', 10239); ?> (proc_close after proc_get_status always returns -1).</li>
<li>Improve the warning message for unpack() in case not enough values were provided.</li>
<li>Fix <?php githubissuel('php/php-src', 11010); ?> (parse_ini_string() now preserves formatting of unquoted strings starting with numbers when the INI_SCANNER_TYPED flag is specified).</li>
<li>Fix <?php githubissuel('php/php-src', 10742); ?> (http_response_code emits no error when headers were already sent).</li>
<li>Added support for rounding negative places in number_format().</li>
<li>Prevent precision loss on formatting decimal integers in number_format().</li>
<li>Added usage of posix_spawn for proc_open when supported by OS.</li>
<li>Added $before_needle argument to strrchr().</li>
<li>Fixed <?php githubissuel('php/php-src', 11982); ?> (str_getcsv returns null byte for unterminated enclosure).</li>
<li>Fixed str_decrement() on "1".</li>
</ul></li>
<li>Streams:
<ul>
<li><?php bugfix(51056); ?>: blocking fread() will block even if data is available.</li>
<li>Added storing of the original path used to open xport stream.</li>
<li>Implement <?php githubissuel('php/php-src', 8641); ?> (STREAM_NOTIFY_COMPLETED over HTTP never emitted).</li>
<li>Fix bug <?php githubissuel('php/php-src', 10406); ?> (fgets on a redis socket connection fails on PHP 8.3).</li>
<li>Implemented <?php githubissuel('php/php-src', 11242); ?> (_php_stream_copy_to_mem: Allow specifying a maximum length without allocating a buffer of that size).</li>
<li><?php bugfix(52335); ?> (fseek() on memory stream behavior different than file).</li>
<li><?php bugfix(76857); ?> (Can read "non-existant" files).</li>
</ul></li>
<li>XSLTProcessor:
<ul>
<li><?php bugfix(69168); ?> (DomNode::getNodePath() returns invalid path).</li>
</ul></li>
<li>ZIP:
<ul>
<li>zip extension version 1.22.0 for libzip 1.10.0.</li>
<li>add new error macros (ER_DATA_LENGTH and ER_NOT_ALLOWED).</li>
<li>add new archive global flags (ER_AFL_*).</li>
<li>add ZipArchive::setArchiveFlag and ZipArchive::getArchiveFlag methods.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<a id="PHP_8_2"></a>
<section class="version" id="8.2.13"><!-- {{{ 8.2.13 -->
<h3>Version 8.2.13</h3>
<b><?php release_date('23-Nov-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Fixed double-free of non-interned enum case name.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12457); ?> (Incorrect result of stripos with single character needle).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12468); ?> (Double-free of doc_comment when overriding static property via trait).</li>
<li>Fixed segfault caused by weak references to FFI objects.</li>
<li>Fixed max_execution_time: don't delete an unitialized timer.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12558); ?> (Arginfo soft-breaks with namespaced class return type if the class name starts with N).</li>
</ul></li>
<li>DOM:
<ul>
<li>Fix registerNodeClass with abstract class crashing.</li>
<li>Add missing NULL pointer error check.</li>
<li>Fix validation logic of php:function() callbacks.</li>
</ul></li>
<li>Fiber:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11121); ?> (ReflectionFiber segfault).</li>
</ul></li>
<li>FPM:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 9921); ?> (Loading ext in FPM config does not register module handlers).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12232); ?> (FPM: segfault dynamically loading extension without opcache).</li>
<li><?php bugfix(76922); ?> (FastCGI terminates conn after FCGI_GET_VALUES).</li>
</ul></li>
<li>Intl:
<ul>
<li>Removed the BC break on IntlDateFormatter::construct which threw an exception with an invalid locale.</li>
</ul></li>
<li>Opcache:
<ul>
<li>Added warning when JIT cannot be enabled.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8143); ?> (Crashes in zend_accel_inheritance_cache_find since upgrading to 8.1.3 due to corrupt on-disk file cache).</li>
</ul></li>
<li>OpenSSL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12489); ?> (Missing sigbio creation checking in openssl_cms_verify).</li>
</ul></li>
<li>PCRE:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11374); ?> (Backport upstream fix, Different preg_match result with -d pcre.jit=0).</li>
</ul></li>
<li>SOAP:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12392); ?> (Segmentation fault on SoapClient::__getTypes).</li>
<li><?php bugfix(66150); ?> (SOAP WSDL cache race condition causes Segmentation Fault).</li>
<li><?php bugfix(67617); ?> (SOAP leaves incomplete cache file on ENOSPC).</li>
<li>Fix incorrect uri check in SOAP caching.</li>
<li>Fix segfault and assertion failure with refcounted props and arrays.</li>
<li>Fix potential crash with an edge case of persistent encoders.</li>
<li><?php bugfix(75306); ?> (Memleak in SoapClient).</li>
</ul></li>
<li>Streams:
<ul>
<li><?php bugfix(75708); ?> (getimagesize with "&$imageinfo" fails on StreamWrappers).</li>
</ul></li>
<li>XMLReader:
<ul>
<li>Add missing NULL pointer error check.</li>
</ul></li>
<li>XMLWriter:
<ul>
<li>Add missing NULL pointer error check.</li>
</ul></li>
<li>XSL:
<ul>
<li>Add missing module dependency.</li>
<li>Fix validation logic of php:function() callbacks.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.12"><!-- {{{ 8.2.12 -->
<h3>Version 8.2.12</h3>
<b><?php release_date('26-Oct-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12207); ?> (memory leak when class using trait with doc block).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12215); ?> (Module entry being overwritten causes type errors in ext/dom).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12273); ?> (__builtin_cpu_init check).</li>
<li><?php bugfix(80092); ?> (ZTS + preload = segfault on shutdown).</li>
</ul></li>
<li>CLI:
<ul>
<li>Ensure a single Date header is present.</li>
</ul></li>
<li>CType:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11997); ?> (ctype_alnum 5 times slower in PHP 8.1 or greater).</li>
</ul></li>
<li>DOM:
<ul>
<li>Restore old namespace reconciliation behaviour.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8996); ?> (DOMNode serialization on PHP ^8.1).</li>
</ul></li>
<li>Fileinfo:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11891); ?> (fileinfo returns text/xml for some svg files).</li>
</ul></li>
<li>Filter:
<ul>
<li>Fix explicit FILTER_REQUIRE_SCALAR with FILTER_CALLBACK (ilutov)</li>
</ul></li>
<li>Hash:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12186); ?> (segfault copying/cloning a finalized HashContext).</li>
</ul></li>
<li>Intl:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12243); ?> (segfault on IntlDateFormatter::construct).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12282); ?> (IntlDateFormatter::construct should throw an exception on an invalid locale).</li>
</ul></li>
<li>MySQLnd:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12297); ?> (PHP Startup: Invalid library (maybe not a PHP library) 'mysqlnd.so' in Unknown on line).</li>
</ul></li>
<li>Opcache:
<ul>
<li>Fixed opcache_invalidate() on deleted file.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12380); ?> (JIT+private array property access inside closure accesses private property in child class).</li>
</ul></li>
<li>PCRE:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11956); ?> (Backport upstream fix, PCRE regular expressions with JIT enabled gives different result).</li>
</ul></li>
<li>SimpleXML:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12170); ?> (Can't use xpath with comments in SimpleXML).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12223); ?> (Entity reference produces infinite loop in var_dump/print_r).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12167); ?> (Unable to get processing instruction contents in SimpleXML).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12169); ?> (Unable to get comment contents in SimpleXML).</li>
</ul></li>
<li>Streams:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12190); ?> (binding ipv4 address with both address and port at 0).</li>
</ul></li>
<li>XML:
<ul>
<li>Fix return type of stub of xml_parse_into_struct().</li>
<li>Fix memory leak when calling xml_parse_into_struct() twice.</li>
</ul></li>
<li>XSL:
<ul>
<li>Fix type error on XSLTProcessor::transformToDoc return value with SimpleXML.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.11"><!-- {{{ 8.2.11 -->
<h3>Version 8.2.11</h3>
<b><?php release_date('28-Sep-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11937); ?> (Constant ASTs containing objects).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11790); ?> (On riscv64 require libatomic if actually needed).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11876); ?>: ini_parse_quantity() accepts invalid quantities.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12073); ?> (Segfault when freeing incompletely initialized closures).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12060); ?> (Internal iterator rewind handler is called twice).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 12102); ?> (Incorrect compile error when using array access on TMP value in function call).</li>
</ul></li>
<li>DOM:
<ul>
<li>Fix memory leak when setting an invalid DOMDocument encoding.</li>
</ul></li>
<li>Iconv:
<ul>
<li>Fixed build for NetBSD which still uses the old iconv signature.</li>
</ul></li>
<li>Intl:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 12020); ?> (intl_get_error_message() broken after MessageFormatter::formatMessage() fails).</li>
</ul></li>
<li>MySQLnd:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10270); ?> (Invalid error message when connection via SSL fails: "trying to connect via (null)").</li>
</ul></li>
<li>ODBC:
<ul>
<li>Fixed memory leak with failed SQLPrepare.</li>
<li>Fixed persistent procedural ODBC connections not getting closed.</li>
</ul></li>
<li>SimpleXML:
<ul>
<li><?php bugfix(52751); ?> (XPath processing-instruction() function is not supported).</li>
</ul></li>
<li>SPL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11972); ?> (RecursiveCallbackFilterIterator regression in 8.1.18).</li>
</ul></li>
<li>SQLite3:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11878); ?> (SQLite3 callback functions cause a memory leak with a callable array).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.10"><!-- {{{ 8.2.10 -->
<h3>Version 8.2.10</h3>
<b><?php release_date('31-Aug-2023'); ?></b>
<ul><li>CLI:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11716); ?> (cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10964); ?> (Improve man page about the built-in server).</li>
</ul></li>
<li>Date:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11416); ?> (Crash with DatePeriod when uninitialised objects are passed in).</li>
</ul></li>
<li>Core:
<ul>
<li>Fixed strerror_r detection at configuration time.</li>
<li>Fixed trait typed properties using a DNF type not being correctly bound.</li>
<li>Fixed trait property types not being arena allocated if copied from an internal trait.</li>
<li>Fixed deep copy of property DNF type during lazy class load.</li>
<li>Fixed memory freeing of DNF types for non arena allocated types.</li>
</ul></li>
<li>DOM:
<ul>
<li>Fix DOMEntity field getter bugs.</li>
<li>Fix incorrect attribute existence check in DOMElement::setAttributeNodeNS.</li>
<li>Fix DOMCharacterData::replaceWith() with itself.</li>
<li>Fix empty argument cases for DOMParentNode methods.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11791); ?> (Wrong default value of DOMDocument::xmlStandalone).</li>
<li>Fix json_encode result on DOMDocument.</li>
<li>Fix manually calling __construct() on DOM classes.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11830); ?> (ParentNode methods should perform their checks upfront).</li>
<li>Fix viable next sibling search for replaceWith.</li>
<li>Fix segfault when DOMParentNode::prepend() is called when the child disappears.</li>
</ul></li>
<li>FFI:
<ul>
<li>Fix leaking definitions when using FFI::cdef()->new(...).</li>
</ul></li>
<li>Hash:
<ul>
<li>Fix use-of-uninitialized-value in hash_pbkdf2(), fix missing $options parameter in signature.</li>
</ul></li>
<li>MySQLnd:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11440); ?> (authentication to a sha256_password account fails over SSL).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11438); ?> (mysqlnd fails to authenticate with sha256_password accounts using passwords longer than 19 characters).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11550); ?> (MySQL Statement has a empty query result when the response field has changed, also Segmentation fault).</li>
<li>Fixed invalid error message "Malformed packet" when connection is dropped.</li>
</ul></li>
<li>Opcache:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11715); ?> (opcache.interned_strings_buffer either has no effect or opcache_get_status() / phpinfo() is wrong).</li>
<li>Avoid adding an unnecessary read-lock when loading script from shm if restart is in progress.</li>
</ul></li>
<li>PCNTL:
<ul>
<li>Revert behaviour of receiving SIGCHLD signals back to the behaviour before 8.1.22.</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(81992); ?> (SplFixedArray::setSize() causes use-after-free).</li>
</ul></li>
<li>Standard:
<ul>
<li>Prevent int overflow on $decimals in number_format.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11870); ?> (Fix off-by-one bug when truncating tempnam prefix) (athos-ribeiro)</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.9"><!-- {{{ 8.2.9 -->
<h3>Version 8.2.9</h3>
<b><?php release_date('03-Aug-2023'); ?></b>
<ul><li>Build:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11522); ?> (PHP version check fails with '-' separator).</li>
</ul></li>
<li>CLI:
<ul>
<li>Fix interrupted CLI output causing the process to exit.</li>
</ul></li>
<li>Core:
<ul>
<li>Fixed oss-fuzz #60011 (Mis-compilation of by-reference nullsafe operator).</li>
<li>Fixed line number of JMP instruction over else block.</li>
<li>Fixed use-of-uninitialized-value with ??= on assert.</li>
<li>Fixed oss-fuzz #60411 (Fix double-compilation of arrow-functions).</li>
<li>Fixed build for FreeBSD before the 11.0 releases.</li>
</ul></li>
<li>Curl:
<ul>
<li>Fix crash when an invalid callback function is passed to CURLMOPT_PUSHFUNCTION.</li>
</ul></li>
<li>Date:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11368); ?> (Date modify returns invalid datetime).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11600); ?> (Can't parse time strings which include (narrow) non-breaking space characters).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11854); ?> (DateTime:createFromFormat stopped parsing datetime with extra space).</li>
</ul></li>
<li>DOM:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11625); ?> (DOMElement::replaceWith() doesn't replace node with DOMDocumentFragment but just deletes node or causes wrapping <></> depending on libxml2 version).</li>
</ul></li>
<li>Fileinfo:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11298); ?> (finfo returns wrong mime type for xz files).</li>
</ul></li>
<li>FTP:
<ul>
<li>Fix context option check for "overwrite".</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10562); ?> (Memory leak and invalid state with consecutive ftp_nb_fget).</li>
</ul></li>
<li>GD:
<ul>
<li>Fix most of the external libgd test failures.</li>
</ul></li>
<li>Intl:
<ul>
<li>Fix memory leak in MessageFormatter::format() on failure.</li>
</ul></li>
<li>Libxml:
<ul>
<li>Fixed bug GHSA-3qrf-m4j2-pcrr (Security issue with external entity loading in XML without enabling it). (CVE-2023-3823)</li>
</ul></li>
<li>MBString:
<ul>
<li>Fix <?php githubissuel('php/php-src', 11300); ?> (license issue: restricted unicode license headers).</li>
</ul></li>
<li>Opcache:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10914); ?> (OPCache with Enum and Callback functions results in segmentation fault).</li>
<li>Prevent potential deadlock if accelerated globals cannot be allocated.</li>
</ul></li>
<li>PCNTL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11498); ?> (SIGCHLD is not always returned from proc_open).</li>
</ul></li>
<li>PDO:
<ul>
<li>Fix <?php githubissuel('php/php-src', 11587); ?> (After php8.1, when PDO::ATTR_EMULATE_PREPARES is true and PDO::ATTR_STRINGIFY_FETCHES is true, decimal zeros are no longer filled).</li>
</ul></li>
<li>PDO SQLite:
<ul>
<li>Fix <?php githubissuel('php/php-src', 11492); ?> (Make test failure: ext/pdo_sqlite/tests/bug_42589.phpt).</li>
</ul></li>
<li>Phar:
<ul>
<li>Add missing check on EVP_VerifyUpdate() in phar util.</li>
<li>Fixed bug GHSA-jqcx-ccgc-xwhv (Buffer mismanagement in phar_dir_read()). (CVE-2023-3824)</li>
</ul></li>
<li>PHPDBG:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 9669); ?> (phpdbg -h options doesn't list the -z option).</li>
</ul></li>
<li>Session:
<ul>
<li>Removed broken url support for transferring session ID.</li>
</ul></li>
<li>Standard:
<ul>
<li>Fix serialization of RC1 objects appearing in object graph twice.</li>
</ul></li>
<li>Streams:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11735); ?> (Use-after-free when unregistering user stream wrapper from itself).</li>
</ul></li>
<li>SQLite3:
<ul>
<li>Fix replaced error handling in SQLite3Stmt::__construct.</li>
</ul></li>
<li>XMLReader:
<ul>
<li>Fix <?php githubissuel('php/php-src', 11548); ?> (Argument corruption when calling XMLReader::open or XMLReader::XML non-statically with observer active).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.8"><!-- {{{ 8.2.8 -->
<h3>Version 8.2.8</h3>
<b><?php release_date('06-Jul-2023'); ?></b>
<ul><li>CLI:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11246); ?> (cli/get_set_process_title fails on MacOS).</li>
</ul></li>
<li>Core:
<ul>
<li>Fixed build for the riscv64 architecture/GCC 12.</li>
</ul></li>
<li>Curl:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11433); ?> (Unable to set CURLOPT_ACCEPT_ENCODING to NULL).</li>
</ul></li>
<li>Date:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11455); ?> (Segmentation fault with custom object date properties).</li>
</ul></li>
<li>DOM:
<ul>
<li>Fixed bugs <?php githubissuel('php/php-src', 11288); ?> and <?php githubissuel('php/php-src', 11289); ?> and <?php githubissuel('php/php-src', 11290); ?> and <?php githubissuel('php/php-src', 9142); ?> (DOMExceptions and segfaults with replaceWith).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10234); ?> (Setting DOMAttr::textContent results in an empty attribute value).</li>
<li>Fix return value in stub file for DOMNodeList::item.</li>
<li>Fix spec compliance error with '*' namespace for DOMDocument::getElementsByTagNameNS.</li>
<li>Fix DOMElement::append() and DOMElement::prepend() hierarchy checks.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11347); ?> (Memory leak when calling a static method inside an xpath query).</li>
<li><?php bugfix(67440); ?> (append_node of a DOMDocumentFragment does not reconcile namespaces).</li>
<li><?php bugfix(81642); ?> (DOMChildNode::replaceWith() bug when replacing a node with itself).</li>
<li><?php bugfix(77686); ?> (Removed elements are still returned by getElementById).</li>
<li><?php bugfix(70359); ?> (print_r() on DOMAttr causes Segfault in php_libxml_node_free_list()).</li>
<li><?php bugfix(78577); ?> (Crash in DOMNameSpace debug info handlers).</li>
<li>Fix lifetime issue with getAttributeNodeNS().</li>
<li>Fix "invalid state error" with cloned namespace declarations.</li>
<li><?php bugfix(55294); ?> and #47530 and #47847 (various namespace reconciliation issues).</li>
<li><?php bugfix(80332); ?> (Completely broken array access functionality with DOMNamedNodeMap).</li>
</ul></li>
<li>Opcache:
<ul>
<li>Fix allocation loop in zend_shared_alloc_startup().</li>
<li>Access violation on smm_shared_globals with ALLOC_FALLBACK.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11336); ?> (php still tries to unlock the shared memory ZendSem with opcache.file_cache_only=1 but it was never locked).</li>
</ul></li>
<li>OpenSSL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 9356); ?> Incomplete validation of IPv6 Address fields in subjectAltNames (James Lucas, Jakub Zelenka).</li>
</ul></li>
<li>PCRE:
<ul>
<li>Fix preg_replace_callback_array() pattern validation.</li>
</ul></li>
<li>PGSQL:
<ul>
<li>Fixed intermittent segfault with pg_trace.</li>
</ul></li>
<li>Phar:
<ul>
<li>Fix cross-compilation check in phar generation for FreeBSD.</li>
</ul></li>
<li>SPL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11338); ?> (SplFileInfo empty getBasename with more than one slash).</li>
</ul></li>
<li>Standard:
<ul>
<li>Fix access on NULL pointer in array_merge_recursive().</li>
<li>Fix exception handling in array_multisort().</li>
</ul></li>
<li>SQLite3:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11451); ?> (Invalid associative array containing duplicate keys).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.7"><!-- {{{ 8.2.7 -->
<h3>Version 8.2.7</h3>
<b><?php release_date('08-Jun-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11152); ?> (Unable to alias namespaces containing reserved class names).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 9068); ?> (Conditional jump or move depends on uninitialised value(s)).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11189); ?> (Exceeding memory limit in zend_hash_do_resize leaves the array in an invalid state).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11063); ?> (Compilation error on old GCC versions).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11222); ?> (foreach by-ref may jump over keys during a rehash).</li>
</ul></li>
<li>Date:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11281); ?> (DateTimeZone::getName() does not include seconds in offset).</li>
</ul></li>
<li>Exif:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10834); ?> (exif_read_data() cannot read smaller stream wrapper chunk sizes).</li>
</ul></li>
<li>FPM:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10461); ?> (PHP-FPM segfault due to after free usage of child->ev_std(out|err)).</li>
<li><?php bugfix(64539); ?> (FPM status page: query_string not properly JSON encoded).</li>
<li>Fixed memory leak for invalid primary script file handle.</li>
</ul></li>
<li>Hash:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11180); ?> (hash_file() appears to be restricted to 3 arguments).</li>
</ul></li>
<li>LibXML:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11160); ?> (Few tests failed building with new libxml 2.11.0).</li>
</ul></li>
<li>MBString:
<ul>
<li>Fix bug <?php githubissuel('php/php-src', 11217); ?> (Segfault in mb_strrpos / mb_strripos when using negative offset and ASCII encoding).</li>
</ul></li>
<li>Opcache:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11134); ?> (Incorrect match default branch optimization).</li>
<li>Fixed too wide OR and AND range inference.</li>
<li>Fixed missing class redeclaration error with OPcache enabled.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11245); ?> (In some specific cases SWITCH with one default statement will cause segfault).</li>
</ul></li>
<li>PCNTL:
<ul>
<li>Fixed maximum argument count of pcntl_forkx().</li>
</ul></li>
<li>PGSQL:
<ul>
<li>Fixed parameter parsing of pg_lo_export().</li>
</ul></li>
<li>Phar:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11099); ?> (Generating phar.php during cross-compile can't be done).</li>
</ul></li>
<li>Soap:
<ul>
<li>Fixed bug GHSA-76gg-c692-v2mw (Missing error check and insufficient random bytes in HTTP Digest authentication for SOAP). (CVE-2023-3247)</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8426); ?> (make test fail while soap extension build).</li>
</ul></li>
<li>SPL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11178); ?> (Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18)).</li>
</ul></li>
<li>Standard:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11138); ?> (move_uploaded_file() emits open_basedir warning for source file).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11274); ?> (POST/PATCH request switches to GET after a HTTP 308 redirect).</li>
</ul></li>
<li>Streams:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10031); ?> ([Stream] STREAM_NOTIFY_PROGRESS over HTTP emitted irregularly for last chunk of data).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11175); ?> (Stream Socket Timeout).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11177); ?> (ASAN UndefinedBehaviorSanitizer when timeout = -1 passed to stream_socket_accept/stream_socket_client).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.6"><!-- {{{ 8.2.6 -->
<h3>Version 8.2.6</h3>
<b><?php release_date('11-May-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Fix inconsistent float negation in constant expressions.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8841); ?> (php-cli core dump calling a badly formed function).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10737); ?> (PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11028); ?> (Heap Buffer Overflow in zval_undefined_cv.).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 11108); ?> (Incorrect CG(memoize_mode) state after bailout in ??=).</li>
</ul></li>
<li>Date:
<ul>
<li>Fixed bug where the diff() method would not return the right result around DST changeover for date/times associated with a timezone identifier.</li>
<li>Fixed out-of-range bug when converting to/from around the LONG_MIN unix timestamp.</li>
</ul></li>
<li>DOM:
<ul>
<li><?php bugfix(80602); ?> (Segfault when using DOMChildNode::before()).</li>
<li>Fixed incorrect error handling in dom_zvals_to_fragment().</li>
</ul></li>
<li>Exif:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 9397); ?> (exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index).</li>
</ul></li>
<li>Intl:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 11071); ?> (TZData version not displayed anymore).</li>
</ul></li>
<li>PCRE:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10968); ?> (Segfault in preg_replace_callback_array()).</li>
</ul></li>
<li>Reflection:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10983); ?> (State-dependant segfault in ReflectionObject::getProperties).</li>
</ul></li>
<li>SPL:
<ul>
<li>Handle indirect zvals and use up-to-date properties in SplFixedArray::__serialize.</li>
</ul></li>
<li>Standard:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10990); ?> (mail() throws TypeError after iterating over $additional_headers array by reference).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 9775); ?> (Duplicates returned by array_unique when using enums).</li>
</ul></li>
<li>Streams:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10406); ?> (feof() behavior change for UNIX based socket resources).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.5"><!-- {{{ 8.2.5 -->
<h3>Version 8.2.5</h3>
<b><?php release_date('13-Apr-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Added optional support for max_execution_time in ZTS/Linux builds (Kévin Dunglas)</li>
<li>Fixed use-after-free in recursive AST evaluation.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8646); ?> (Memory leak PHP FPM 8.1).</li>
<li>Re-add some CTE functions that were removed from being CTE by a mistake.</li>
<li>Remove CTE flag from array_diff_ukey(), which was added by mistake.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10801); ?> (Named arguments in CTE functions cause a segfault).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8789); ?> (PHP 8.0.20 (ZTS) zend_signal_handler_defer crashes on apache).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10015); ?> (zend_signal_handler_defer crashes on apache shutdown).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10810); ?> (Fix NUL byte terminating Exception::__toString()).</li>
<li>Fix potential memory corruption when mixing __callStatic() and FFI.</li>
</ul></li>
<li>Date:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10747); ?> (Private and protected properties in serialized Date* objects throw).</li>
</ul></li>
<li>FPM:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10611); ?> (fpm_env_init_main leaks environ).</li>
<li>Destroy file_handle in fpm_main.</li>
<li><?php bugfix(74129); ?> (Incorrect SCRIPT_NAME with apache ProxyPassMatch when spaces are in path).</li>
</ul></li>
<li>FTP:
<ul>
<li>Propagate success status of ftp_close().</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10521); ?> (ftp_get/ftp_nb_get resumepos offset is maximum 10GB).</li>
</ul></li>
<li>IMAP:
<ul>
<li>Fix build failure with Clang 16.</li>
</ul></li>
<li>MySQLnd:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 8979); ?> (Possible Memory Leak with SSL-enabled MySQL connections).</li>
</ul></li>
<li>Opcache:
<ul>
<li>Fixed build for macOS to cater with pkg-config settings.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 8065); ?> (opcache.consistency_checks > 0 causes segfaults in PHP >= 8.1.5 in fpm context).</li>
</ul></li>
<li>OpenSSL:
<ul>
<li>Add missing error checks on file writing functions.</li>
</ul></li>
<li>PDO Firebird:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10908); ?> (Bus error with PDO Firebird on RPI with 64 bit kernel and 32 bit userland).</li>
</ul></li>
<li>Phar:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10766); ?> (PharData archive created with Phar::Zip format does not keep files metadata (datetime)).</li>
<li>Add missing error checks on EVP_MD_CTX_create() and EVP_VerifyInit().</li>
</ul></li>
<li>PDO ODBC:
<ul>
<li>Fixed missing and inconsistent error checks on SQLAllocHandle.</li>
</ul></li>
<li>PGSQL:
<ul>
<li>Fixed typo in the array returned from pg_meta_data (extended mode).</li>
</ul></li>
<li>SPL:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10519); ?> (Array Data Address Reference Issue).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10907); ?> (Unable to serialize processed SplFixedArrays in PHP 8.2.4).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10844); ?> (ArrayIterator allows modification of readonly props).</li>
</ul></li>
<li>Standard:
<ul>
<li>Fixed bug <?php githubissuel('php/php-src', 10885); ?> (stream_socket_server context leaks).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10052); ?> (Browscap crashes PHP 8.1.12 on request shutdown (apache2)).</li>
<li>Fixed oss-fuzz #57392 (Buffer-overflow in php_fgetcsv() with \0 delimiter and enclosure).</li>
<li>Fixed undefined behaviour in unpack().</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="8.2.4"><!-- {{{ 8.2.4 -->
<h3>Version 8.2.4</h3>
<b><?php release_date('16-Mar-2023'); ?></b>
<ul><li>Core:
<ul>
<li>Fixed incorrect check condition in ZEND_YIELD.</li>
<li>Fixed incorrect check condition in type inference.</li>
<li>Fix incorrect check in zend_internal_call_should_throw().</li>
<li>Fixed overflow check in OnUpdateMemoryConsumption.</li>
<li>Fixed bug <?php githubissuel('php/php-src', 9916); ?> (Entering shutdown sequence with a fiber suspended in a Generator emits an unavoidable fatal error or crashes).</li>
<li>Fixed bug <?php githubissuel('php/php-src', 10437); ?> (Segfault/assertion when using fibers in shutdown function after bailout).</li>
<li>Fixed SSA object type update for compound assignment opcodes.</li>