forked from php/web-php
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog-5.php
10937 lines (10329 loc) · 595 KB
/
ChangeLog-5.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
// $Id$
$_SERVER['BASE_PAGE'] = 'ChangeLog-5.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc';
site_header("PHP 5 ChangeLog", array("current" => "docs", 'css' => array('changelog.css'), 'layout_span' => 12));
function bugfix($number) { echo "Fixed bug "; bugl($number); }
function bugl($number) { echo "<a href=\"http://bugs.php.net/$number\">#$number</a>"; }
function peclbugfix($number) { echo "Fixed PECL bug "; bugl($number); }
function peclbugl($number) { echo "<a href=\"http://pecl.php.net/bugs/bug.php?id=$number\">#$number</a>"; }
?>
<h1>PHP 5 ChangeLog</h1>
<section class="version" id="5.5.6"><!-- {{{ 5.5.6 -->
<h3>Version 5.5.6</h3>
<b>14-Nov-2013</b>
<ul><li>Core:
<ul>
<li>Improved performance of array_merge() and func_get_args() by eliminating useless copying.</li>
<li><?php bugfix(65947); ?> (basename is no more working after fgetcsv in certain situation).</li>
<li><?php bugfix(65939); ?> (Space before ";" breaks php.ini parsing).</li>
<li><?php bugfix(65911); ?> (scope resolution operator - strange behavior with $this).</li>
<li><?php bugfix(65936); ?> (dangling context pointer causes crash).</li>
</ul></li>
<li>FPM:
<ul>
<li>Changed default listen() backlog to 65535.</li>
</ul></li>
<li>JSON:
<ul>
<li><?php bugfix(64874); ?> (json_decode handles whitespace incorrectly).</li>
</ul></li>
<li>MySQLi:
<ul>
<li><?php bugfix(66043); ?> (Segfault calling bind_param() on mysqli).</li>
</ul></li>
<li>OPCache:
<ul>
<li>Increased limit for opcache.max_accelerated_files to 1,000,000.</li>
<li>Fixed issue #115 (path issue when using phar).</li>
<li>Fixed issue #149 (Phar mount points not working with OPcache enabled).</li>
</ul></li>
<li>ODBC:
<ul>
<li><?php bugfix(65950); ?> (Field name truncation if the field name is bigger than 32 characters).</li>
</ul></li>
<li>PDO:
<ul>
<li><?php bugfix(66033); ?> (Segmentation Fault when constructor of PDO statement throws an exception).</li>
<li><?php bugfix(65946); ?> (sql_parser permanently converts values bound to strings).</li>
</ul></li>
<li>Standard:
<ul>
<li><?php bugfix(64760); ?> (var_export() does not use full precision for floating-point numbers).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.4.22"><!-- {{{ 5.4.22 -->
<h3>Version 5.4.22</h3>
<b>14-Nov-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(65911); ?> (scope resolution operator - strange behavior with $this).</li>
</ul></li>
<li>CLI server:
<ul>
<li><?php bugfix(65818); ?> (Segfault with built-in webserver and chunked transfer encoding).</li>
</ul></li>
<li>Exif:
<ul>
<li>Fixed crash on unknown encoding.</li>
</ul></li>
<li>FTP:
<ul>
<li><?php bugfix(65667); ?> (ftp_nb_continue produces segfault).</li>
</ul></li>
<li>ODBC:
<ul>
<li><?php bugfix(65950); ?> (Field name truncation if the field name is bigger than 32 characters).</li>
</ul></li>
<li>Sockets:
<ul>
<li><?php bugfix(65808); ?> (the socket_connect() won't work with IPv6 address).</li>
</ul></li>
<li>Standard:
<ul>
<li><?php bugfix(64760); ?> (var_export() does not use full precision for floating-point numbers).</li>
</ul></li>
<li>XMLReader:
<ul>
<li><?php bugfix(51936); ?> (Crash with clone XMLReader).</li>
<li><?php bugfix(64230); ?> (XMLReader does not suppress errors).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.5.5"><!-- {{{ 5.5.5 -->
<h3>Version 5.5.5</h3>
<b>17-Oct-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(64979); ?> (Wrong behavior of static variables in closure generators).</li>
<li><?php bugfix(65322); ?> (compile time errors won't trigger auto loading).</li>
<li><?php bugfix(65821); ?> (By-ref foreach on property access of string offset segfaults).</li>
</ul></li>
<li>CLI Server:
<ul>
<li><?php bugfix(65633); ?> (built-in server treat some http headers as case-sensitive).</li>
<li><?php bugfix(65818); ?> (Segfault with built-in webserver and chunked transfer encoding).</li>
<li>Added application/pdf to PHP CLI Web Server mime types</li>
</ul></li>
<li>Datetime:
<ul>
<li><?php bugfix(64157); ?> (DateTime::createFromFormat() reports confusing error message).</li>
<li><?php bugfix(65502); ?> (DateTimeImmutable::createFromFormat returns DateTime).</li>
<li><?php bugfix(65548); ?> (Comparison for DateTimeImmutable doesn't work).</li>
</ul></li>
<li>DBA:
<ul>
<li><?php bugfix(65708); ?> (dba functions cast $key param to string in-place, bypassing copy on write).</li>
</ul></li>
<li>Filter:
<ul>
<li>Add RFC 6598 IPs to reserved addresses.</li>
<li><?php bugfix(64441); ?> (FILTER_VALIDATE_URL rejects fully qualified domain names).</li>
</ul></li>
<li>FTP:
<ul>
<li><?php bugfix(65667); ?> (ftp_nb_continue produces segfault).</li>
</ul></li>
<li>GD:
<ul>
<li>Ensure that the defined interpolation method is used with the generic scaling methods.</li>
</ul></li>
<li>IMAP:
<ul>
<li><?php bugfix(65721); ?> (configure script broken in 5.5.4 and 5.4.20 when enabling imap).</li>
</ul></li>
<li>OPCache:
<ul>
<li><?php bugfix(65845); ?> (Error when Zend Opcache Optimizer is fully enabled).</li>
<li><?php bugfix(65665); ?> (Exception not properly caught when opcache enabled).</li>
<li><?php bugfix(65510); ?> (5.5.2 crashes in _get_zval_ptr_ptr_var).</li>
<li>Fixed issue #135 (segfault in interned strings if initial memory is too low).</li>
<li>Added function opcache_compile_file() to load PHP scripts into cache without execution.</li>
<li>Added support for GNU Hurd.</li>
</ul></li>
<li>Sockets:
<ul>
<li><?php bugfix(65808); ?> (the socket_connect() won't work with IPv6 address).</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(64782); ?> (SplFileObject constructor make $context optional / give it a default value).</li>
</ul></li>
<li>Standard:
<ul>
<li><?php bugfix(61548); ?> content-type must appear at the end of headers for 201 Location to work in http.</li>
</ul></li>
<li>XMLReader:
<ul>
<li><?php bugfix(51936); ?> Crash with clone XMLReader.</li>
<li><?php bugfix(64230); ?> XMLReader does not suppress errors.</li>
</ul></li>
<li>Build system:
<ul>
<li><?php bugfix(51076); ?> Race condition in shtool's mkdir -p implementation.</li>
<li><?php bugfix(62396); ?> 'make test' crashes starting with 5.3.14 (missing gzencode()).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.4.21"><!-- {{{ 5.4.21 -->
<h3>Version 5.4.21</h3>
<b>17-Oct-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(65322); ?> (compile time errors won't trigger auto loading).</li>
</ul></li>
<li>CLI server:
<ul>
<li><?php bugfix(65633); ?> (built-in server treat some http headers as case-sensitive).</li>
</ul></li>
<li>Datetime:
<ul>
<li><?php bugfix(64157); ?> (DateTime::createFromFormat() reports confusing error message).</li>
</ul></li>
<li>DBA extension:
<ul>
<li><?php bugfix(65708); ?> (dba functions cast $key param to string in-place, bypassing copy on write).</li>
</ul></li>
<li>Filter:
<ul>
<li>Add RFC 6598 IPs to reserved addresses.</li>
<li><?php bugfix(64441); ?> (FILTER_VALIDATE_URL rejects fully qualified domain names).</li>
</ul></li>
<li>IMAP:
<ul>
<li><?php bugfix(65721); ?> (configure script broken in 5.5.4 and 5.4.20 when enabling imap).</li>
</ul></li>
<li>Standard:
<ul>
<li><?php bugfix(61548); ?> (content-type must appear at the end of headers for 201 Location to work in http).</li>
</ul></li>
<li>Build system:
<ul>
<li><?php bugfix(62396); ?> ('make test' crashes starting with 5.3.14 (missing gzencode())).</li>
</ul></li>
</ul>
<!-- }}} -->
</section>
<section class="version" id="5.5.4"><!-- {{{ 5.5.4 -->
<h3>Version 5.5.4</h3>
<b>19-Sep-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(60598); ?> (cli/apache sapi segfault on objects manipulation).</li>
<li>Improved fputcsv() to allow specifying escape character.</li>
<li><?php bugfix(65483); ?> (quoted-printable encode stream filter incorrectly encoding spaces).</li>
<li><?php bugfix(65470); ?> (Segmentation fault in zend_error() with --enable-dtrace).</li>
<li><?php bugfix(65490); ?> (Duplicate calls to get lineno & filename for DTRACE_FUNCTION_*).</li>
<li><?php bugfix(65225); ?> (PHP_BINARY incorrectly set).</li>
<li><?php bugfix(62692); ?> (PHP fails to build with DTrace). </li>
<li><?php bugfix(61759); ?> (class_alias() should accept classes with leading backslashes). </li>
<li><?php bugfix(46311); ?> (Pointer aliasing issue results in miscompile on gcc4.4). </li>
</ul></li>
<li>cURL:
<ul>
<li><?php bugfix(65458); ?> (curl memory leak).</li>
</ul></li>
<li>Datetime:
<ul>
<li><?php bugfix(65554); ?> (createFromFormat broken when weekday name is followed by some delimiters).</li>
<li><?php bugfix(65564); ?> (stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer).</li>
</ul></li>
<li>OPCache:
<ul>
<li><?php bugfix(65561); ?> (Zend Opcache on Solaris 11 x86 needs ZEND_MM_ALIGNMENT=4).</li>
</ul></li>
<li>Openssl:
<ul>
<li><?php bugfix(64802); ?> (openssl_x509_parse fails to parse subject properly in some cases).</li>
</ul></li>
<li>Session:
<ul>
<li><?php bugfix(65475); ?> (Session ID is not initialized properly when strict session is enabled).</li>
<li><?php bugfix(51127); ?> and <?php bugl(65359); ?>, FR <?php bugl(25630); ?>/<?php bugl(43980); ?>/<?php bugl(54383); ?> (Added php_serialize session serialize handler that uses plain serialize())</li>
</ul></li>
<li>Standard:
<ul>
<li> Fix issue with return types of password API helper functions. Found via static analysis by cjones.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.4.20"><!-- {{{ 5.4.20 -->
<h3>Version 5.4.20</h3>
<b>19-Sep-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(60598); ?> (cli/apache sapi segfault on objects manipulation).</li>
<li><?php bugfix(65579); ?> (Using traits with get_class_methods causes segfault).</li>
<li><?php bugfix(65490); ?> (Duplicate calls to get lineno & filename for DTRACE_FUNCTION_*).</li>
<li><?php bugfix(65483); ?> (quoted-printable encode stream filter incorrectly encoding spaces).</li>
<li><?php bugfix(65481); ?> (shutdown segfault due to serialize).</li>
<li><?php bugfix(65470); ?> (Segmentation fault in zend_error() with --enable-dtrace).</li>
<li><?php bugfix(65372); ?> (Segfault in gc_zval_possible_root when return reference fails).</li>
<li><?php bugfix(65304); ?> (Use of max int in array_sum).</li>
<li><?php bugfix(65291); ?> (get_defined_constants() causes PHP to crash in a very limited case).</li>
<li><?php bugfix(65225); ?> (PHP_BINARY incorrectly set).</li>
<li>Improved fix for bug <?php bugl(63186); ?> (compile failure on netbsd).</li>
<li><?php bugfix(62692); ?> (PHP fails to build with DTrace).</li>
<li><?php bugfix(61759); ?> (class_alias() should accept classes with leading backslashes).</li>
<li><?php bugfix(61345); ?> (CGI mode - make install don't work).</li>
<li>Cherry-picked some DTrace build commits (allowing builds on Linux, bug <?php bugl(62691); ?> and bug <?php bugl(63706); ?>) from PHP 5.5 branch.</li>
<li><?php bugfix(61268); ?> (--enable-dtrace leads make to clobber Zend/zend_dtrace.d)</li>
</ul></li>
<li>cURL:
<ul>
<li><?php bugfix(65458); ?> (curl memory leak).</li>
</ul></li>
<li>Datetime:
<ul>
<li><?php bugfix(65554); ?> (createFromFormat broken when weekday name is followed by some delimiters)</li>
<li><?php bugfix(65564); ?> (stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer)</li>
</ul></li>
<li>Openssl:
<ul>
<li><?php bugfix(64802); ?> (openssl_x509_parse fails to parse subject properly in some cases).</li>
</ul></li>
<li>Session:
<ul>
<li><?php bugfix(62129); ?> (rfc1867 crashes php even though turned off).</li>
<li><?php bugfix(50308); ?> (session id not appended properly for empty anchor tags).</li>
<li>Fixed possible buffer overflow under Windows. Note: Not a security fix.</li>
<li>Changed session.auto_start to PHP_INI_PERDIR.</li>
</ul></li>
<li>SOAP:
<ul>
<li><?php bugfix(65018); ?> (SoapHeader problems with SoapServer).</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(65328); ?> (Segfault when getting SplStack object Value).</li>
</ul></li>
<li>PDO:
<ul>
<li><?php bugfix(64953); ?> (Postgres prepared statement positional parameter casting).</li>
</ul></li>
<li>Phar:
<ul>
<li><?php bugfix(65028); ?> (Phar::buildFromDirectory creates corrupt archives for some specific contents).</li>
</ul></li>
<li>Pgsql:
<ul>
<li><?php bugfix(65336); ?> (pg_escape_literal/identifier() silently returns false).</li>
<li><?php bugfix(62978); ?> (Disallow possible SQL injections with pg_select()/pg_update() /pg_delete()/pg_insert()).</li>
</ul></li>
<li>Zlib:
<ul>
<li><?php bugfix(65391); ?> (Unable to send vary header user-agent when ob_start('ob_gzhandler') is called).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.5.3"><!-- {{{ 5.5.3 -->
<h3>Version 5.5.3</h3>
<b>22-Aug-2013</b>
<ul><li>Openssl:
<ul>
<li>Fixed UMR in fix for CVE-2013-4248.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.4.19"><!-- {{{ 5.4.19 -->
<h3>Version 5.4.19</h3>
<b>22-Aug-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(64503); ?> (Compilation fails with error: conflicting types for 'zendparse').</li>
</ul></li>
<li>Openssl:
<ul>
<li>Fixed UMR in fix for CVE-2013-4248.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.5.2"><!-- {{{ 5.5.2 -->
<h3>Version 5.5.2</h3>
<b>15-Aug-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(65372); ?> (Segfault in gc_zval_possible_root when return reference fails).</li>
<li>Fixed value of FILTER_SANITIZE_FULL_SPECIAL_CHARS constant (previously was erroneously set to FILTER_SANITIZE_SPECIAL_CHARS value). </li>
<li><?php bugfix(65304); ?> (Use of max int in array_sum).</li>
<li><?php bugfix(65291); ?> (get_defined_constants() causes PHP to crash in a very limited case).</li>
<li><?php bugfix(62691); ?> (solaris sed has no -i switch).</li>
<li><?php bugfix(61345); ?> (CGI mode - make install don't work).</li>
<li><?php bugfix(61268); ?> (--enable-dtrace leads make to clobber Zend/zend_dtrace.d).</li>
</ul></li>
<li>DOM:
<ul>
<li>Added flags option to DOMDocument::schemaValidate() and DOMDocument::schemaValidateSource(). Added LIBXML_SCHEMA_CREATE flag.</li>
</ul></li>
<li>OPcache:
<ul>
<li>Added opcache.restrict_api configuration directive that may limit usage of OPcahce API functions only to patricular script(s).</li>
<li>Added support for glob symbols in blacklist entries (?, *, **).</li>
<li><?php bugfix(65338); ?> (Enabling both php_opcache and php_wincache AVs on shutdown).</li>
</ul></li>
<li>Openssl:
<ul>
<li>Fixed handling null bytes in subjectAltName (CVE-2013-4248).</li>
</ul></li>
<li>PDO_mysql:
<ul>
<li><?php bugfix(65299); ?> (pdo mysql parsing errors).</li>
</ul></li>
<li>Phar:
<ul>
<li><?php bugfix(65028); ?> (Phar::buildFromDirectory creates corrupt archives for some specific contents).</li>
</ul></li>
<li>Pgsql:
<ul>
<li><?php bugfix(62978); ?> (Disallow possible SQL injections with pg_select()/pg_update() /pg_delete()/pg_insert()).</li>
<li><?php bugfix(65336); ?> (pg_escape_literal/identifier() silently returns false).</li>
</ul></li>
<li>Sessions:
<ul>
<li>Implemented strict sessions RFC (https://wiki.php.net/rfc/strict_sessions) which protects against session fixation attacks and session collisions (CVE-2011-4718).</li>
<li>Fixed possible buffer overflow under Windows. Note: Not a security fix.</li>
<li>Changed session.auto_start to PHP_INI_PERDIR.</li>
</ul></li>
<li>SOAP:
<ul>
<li><?php bugfix(65018); ?> (SoapHeader problems with SoapServer).</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(65328); ?> (Segfault when getting SplStack object Value).</li>
<li>Added RecursiveTreeIterator setPostfix and getPostifx methods.</li>
<li><?php bugfix(61697); ?> (spl_autoload_functions returns lambda functions incorrectly).</li>
</ul></li>
<li>Streams:
<ul>
<li><?php bugfix(65268); ?> (select() implementation uses outdated tick API).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.4.18"><!-- {{{ 5.4.18 -->
<h3>Version 5.4.18</h3>
<b>15-Aug-2013</b>
<ul><li>Core:
<ul>
<li>Fixed value of FILTER_SANITIZE_FULL_SPECIAL_CHARS constant (previously was erroneously set to FILTER_SANITIZE_SPECIAL_CHARS value).</li>
<li><?php bugfix(65254); ?> (Exception not catchable when exception thrown in autoload with a namespace).</li>
<li><?php bugfix(65108); ?> (is_callable() triggers Fatal Error).</li>
<li><?php bugfix(65088); ?> (Generated configure script is malformed on OpenBSD).</li>
<li><?php bugfix(62964); ?> (Possible XSS on "Registered stream filters" info).</li>
<li><?php bugfix(62672); ?> (Error on serialize of ArrayObject).</li>
<li><?php bugfix(62475); ?> (variant_* functions causes crash when null given as an argument).</li>
<li><?php bugfix(60732); ?> (php_error_docref links to invalid pages).</li>
<li><?php bugfix(65226); ?> (chroot() does not get enabled).</li>
</ul></li>
<li>CGI:
<ul>
<li><?php bugfix(65143); ?> (Missing php-cgi man page).</li>
</ul></li>
<li>CLI server:
<ul>
<li><?php bugfix(65066); ?> (Cli server not responsive when responding with 422 http status code).</li>
</ul></li>
<li>CURL:
<ul>
<li><?php bugfix(62665); ?> (curl.cainfo doesn't appear in php.ini).</li>
</ul></li>
<li>FPM:
<ul>
<li><?php bugfix(63983); ?> (enabling FPM borks compile on FreeBSD).</li>
</ul></li>
<li>FTP:
<ul>
<li><?php bugfix(65228); ?> (FTPs memory leak with SSL).</li>
</ul></li>
<li>GMP:
<ul>
<li><?php bugfix(65227); ?> (Memory leak in gmp_cmp second parameter).</li>
</ul></li>
<li>Imap:
<ul>
<li><?php bugfix(64467); ?> (Segmentation fault after imap_reopen failure).</li>
</ul></li>
<li>Intl:
<ul>
<li><?php bugfix(62759); ?> (Buggy grapheme_substr() on edge case).</li>
<li><?php bugfix(61860); ?> (Offsets may be wrong for grapheme_stri* functions).</li>
</ul></li>
<li>mysqlnd:
<ul>
<li>Fixed segfault in mysqlnd when doing long prepare. </li>
</ul></li>
<li>ODBC:
<ul>
<li><?php bugfix(61387); ?> (NULL valued anonymous column causes segfault in odbc_fetch_array).</li>
</ul></li>
<li>Openssl:
<ul>
<li>Fixed handling null bytes in subjectAltName (CVE-2013-4248).</li>
</ul></li>
<li>PDO:
<ul>
<li>Allowed PDO_OCI to compile with Oracle Database 12c client libraries.</li>
</ul></li>
<li>PDO_dblib:
<ul>
<li><?php bugfix(65219); ?> (PDO/dblib not working anymore ("use dbName" not sent)).</li>
</ul></li>
<li>PDO_pgsql:
<ul>
<li>Fixed meta data retrieve when OID is larger than 2^31.</li>
</ul></li>
<li>Phar:
<ul>
<li><?php bugfix(65142); ?> (Missing phar man page).</li>
</ul></li>
<li>Session:
<ul>
<li><?php bugfix(62535); ?> ($_SESSION[$key]["cancel_upload"] doesn't work as documented).</li>
<li><?php bugfix(35703); ?> (when session_name("123") consist only digits, should warning).</li>
<li><?php bugfix(49175); ?> (mod_files.sh does not support hash bits).</li>
</ul></li>
<li>Sockets:
<ul>
<li>Implemented FR <?php bugl(63472); ?> (Setting SO_BINDTODEVICE with socket_set_option).</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(65136); ?> (RecursiveDirectoryIterator segfault).</li>
<li><?php bugfix(61828); ?> (Memleak when calling Directory(Recursive)Iterator /Spl(Temp)FileObject ctor twice).</li>
<li><?php bugfix(60560); ?> (SplFixedArray un-/serialize, getSize(), count() return 0, keys are strings).</li>
</ul></li>
<li>XML:
<ul>
<li><?php bugfix(65236); ?> (heap corruption in xml parser, CVE-2013-4113).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.5.1"><!-- {{{ 5.5.1 -->
<h3>Version 5.5.1</h3>
<b>18-Jul-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(65254); ?> (Exception not catchable when exception thrown in autoload with a namespace).</li>
<li><?php bugfix(65088); ?> (Generated configure script is malformed on OpenBSD).</li>
<li><?php bugfix(65108); ?> (is_callable() triggers Fatal Error).</li>
<li><?php bugfix(65035); ?> (yield / exit segfault).</li>
<li><?php bugfix(65161); ?> (Generator + autoload + syntax error = segfault).</li>
<li><?php bugfix(65226); ?> (chroot() does not get enabled).</li>
<li>hex2bin() raises E_WARNING for invalid hex string.</li>
</ul></li>
<li>OPcache:
<ul>
<li><?php bugfix(64827); ?> (Segfault in zval_mark_grey (zend_gc.c)).</li>
<li>OPcache is now compatible with LiteSpeed SAPI.</li>
</ul></li>
<li>CGI:
<ul>
<li><?php bugfix(65143); ?> (Missing php-cgi man page).</li>
</ul></li>
<li>CLI server:
<ul>
<li><?php bugfix(65066); ?> (Cli server not responsive when responding with 422 http status code).</li>
</ul></li>
<li>DateTime:
<ul>
<li><?php bugfix(65184); ?> (strftime() returns insufficient-length string under multibyte locales).</li>
</ul></li>
<li>GD:
<ul>
<li><?php bugfix(65070); ?> (bgcolor does not use the same format as the input image with imagerotate).</li>
<li><?php bugfix(65060); ?> (imagecreatefrom... crashes with user streams).</li>
<li><?php bugfix(65084); ?> (imagecreatefromjpeg fails with URL).</li>
<li>Fix gdImageCreateFromWebpCtx and use same logic to load WebP image that other formats.</li>
</ul></li>
<li>Intl:
<ul>
<li>Add IntlCalendar::setMinimalDaysInFirstWeek()/intlcal_set_minimal_days_in_first_week().</li>
<li>Fixed trailing space in name of constant IntlCalendar::FIELD_FIELD_COUNT.</li>
<li><?php bugfix(62759); ?> (Buggy grapheme_substr() on edge case).</li>
<li><?php bugfix(61860); ?> (Offsets may be wrong for grapheme_stri* functions).</li>
</ul></li>
<li>OCI8:
<ul>
<li>Bump PECL package info version check to allow PECL installs with PHP 5.5+.</li>
</ul></li>
<li>PDO:
<ul>
<li>Allowed PDO_OCI to compile with Oracle Database 12c client libraries.</li>
</ul></li>
<li>Pgsql:
<ul>
<li>pg_unescape_bytea() raises E_WARNING for invalid inputs.</li>
</ul></li>
<li>Phar:
<ul>
<li><?php bugfix(65142); ?> (Missing phar man page).</li>
</ul></li>
<li>Session:
<ul>
<li>Added optional create_sid() argument to session_set_save_handler(), SessionHandler and new SessionIdInterface.</li>
</ul></li>
<li>Sockets:
<ul>
<li><?php bugl(63472); ?>Setting SO_BINDTODEVICE with socket_set_option.</li>
<li>Allowed specifying paths in the abstract namespace for the functions socket_bind(), socket_connect() and socket_sendmsg().</li>
<li><?php bugfix(65260); ?>sendmsg() ancillary data construction for SCM_RIGHTS is faulty.</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(65136); ?>RecursiveDirectoryIterator segfault.</li>
<li><?php bugfix(61828); ?>Memleak when calling Directory(Recursive)Iterator/Spl(Temp)FileObject ctor twice.</li>
</ul></li>
<li>CGI/FastCGI SAPI:
<ul>
<li>Added PHP_FCGI_BACKLOG, overrides the default listen backlog.</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.3.27"><!-- {{{ 5.3.27 -->
<h3>Version 5.3.27</h3>
<b>11-Jul-2013</b>
<ul><li>Core:
<ul>
<li><?php bugfix(64966); ?> (segfault in zend_do_fcall_common_helper_SPEC).</li>
<li><?php bugfix(64960); ?> (Segfault in gc_zval_possible_root).</li>
<li><?php bugfix(64934); ?> (Apache2 TS crash with get_browser()).</li>
<li><?php bugfix(63186); ?> (compile failure on netbsd).</li>
</ul></li>
<li>DateTime:
<ul>
<li><?php bugfix(53437); ?> (Crash when using unserialized DatePeriod instance).</li>
</ul></li>
<li>PDO_firebird:
<ul>
<li><?php bugfix(64037); ?> (Firebird return wrong value for numeric field).</li>
<li><?php bugfix(62024); ?> (Cannot insert second row with null using parametrized query).</li>
</ul></li>
<li>PDO_pgsql:
<ul>
<li><?php bugfix(64949); ?> (Buffer overflow in _pdo_pgsql_error).</li>
</ul></li>
<li>pgsql:
<ul>
<li><?php bugfix(64609); ?> (pg_convert enum type support).</li>
</ul></li>
<li>SPL:
<ul>
<li><?php bugfix(64997); ?> (Segfault while using RecursiveIteratorIterator on 64-bits systems).</li>
</ul></li>
<li>XML:
<ul>
<li><?php bugfix(65236); ?> (heap corruption in xml parser).</li>
</ul></li>
</ul>
<!-- }}} --></section>
<section class="version" id="5.5.0"><!-- {{{ 5.5.0 -->
<h3>Version 5.5.0</h3>
<b>20-Jun-2013</b>
<ul>
<li>Drop support for bison < 2.4 when building PHP from GIT source</li>
</ul>
<ul>
<li>Improved Zend Engine:
<ul>
<li>Added ARMv7/v8 versions of various Zend arithmetic functions that are implemented using inline assembler</li>
<li>Added systemtap support by enabling systemtap compatible dtrace probes on linux</li>
<li>Optimized access to temporary and compiled VM variables. 8% less memory reads</li>
<li>The VM stacks for passing function arguments and syntaticaly nested calls
were merged into a single stack. The stack size needed for op_array
execution is calculated at compile time and preallocated at once. As result
all the stack push operations don't require checks for stack overflow
any more</li>
</ul></li>
</ul>
<ul>
<li>General improvement:
<ul>
<li>Added generators and coroutines.</li>
<li>Added "finally" keyword. </li>
<li>Added simplified password hashing API.</li>
<li>Added support for constant array/string dereferencing.</li>
<li>Added Class Name Resolution As Scalar Via "class" Keyword</li>
<li>Added support for using empty() on the result of function calls and other expressions</li>
<li>Added support for non-scalar Iterator keys in foreach</li>
<li>Added support for list in foreach</li>
</ul></li>
</ul>
<ul>
<li>Core:
<ul>
<li>Added Zend Opcache extension and enable building it by default.</li>
<li>Added array_column function which returns a column in a multidimensional array</li>
<li>Added boolval()</li>
<li>Added "Z" option to pack/unpack</li>
<li>Added optional second argument for assert() to specify custom message</li>
<li>Added support for changing the process's title in CLI/CLI-Server SAPIs. The implementation is more robust that the proctitle PECL module</li>
<li>Improve set_exception_handler while doing reset</li>
<li>Return previous handler when passing NULL to set_error_handler and set_exception_handler</li>
<li>Implemented <?php bugl(64175); ?> (Added HTTP codes as of RFC 6585)</li>
<li>Implemented <?php bugl(60738); ?> (Allow 'set_error_handler' to handle NULL)</li>
<li>Implemented <?php bugl(60524); ?> (specify temp dir by php.ini)</li>
<li>Implemented <?php bugl(46487); ?> (Dereferencing process-handles no longer waits on those processes)</li>
<li><?php bugfix(65051); ?> (count() off by one inside unset())</li>
<li><?php bugfix(64988); ?> (Class loading order affects E_STRICT warning)</li>
<li><?php bugfix(64966); ?> (segfault in zend_do_fcall_common_helper_SPEC)</li>
<li><?php bugfix(64960); ?> (Segfault in gc_zval_possible_root)</li>
<li><?php bugfix(64936); ?> (doc comments picked up from previous scanner run)</li>
<li><?php bugfix(64934); ?> (Apache2 TS crash with get_browser())</li>
<li><?php bugfix(64879); ?> (Heap based buffer overflow in quoted_printable_encode, CVE 2013-2110)</li>
<li><?php bugfix(64853); ?> (Use of no longer available ini directives causes crash on TS build)</li>
<li><?php bugfix(64821); ?> (Custom Exceptions crash when internal properties overridden)</li>
<li><?php bugfix(64720); ?> (SegFault on zend_deactivate).</li>
<li><?php bugfix(64677); ?> (execution operator `` stealing surrounding arguments)</li>
<li><?php bugfix(64660); ?> (Segfault on memory exhaustion within function definition)</li>
<li><?php bugfix(64578); ?> (debug_backtrace in set_error_handler corrupts zend heap: segfault)</li>
<li><?php bugfix(64565); ?> (copy doesn't report failure on partial copy)</li>
<li><?php bugfix(64555); ?> (foreach no longer copies keys if they are interned)</li>
<li><?php bugfix(47675); ?> and <?php bugfix(64577); ?> (fd leak on Solaris)</li>
<li><?php bugfix(64544); ?> (Valgrind warnings after using putenv)</li>
<li><?php bugfix(64515); ?> (Memoryleak when using the same variablename 2times in function declaration)</li>
<li><?php bugfix(64503); ?> (Compilation fails with error: conflicting types for 'zendparse')</li>
<li><?php bugfix(64239); ?> (Debug backtrace changed behavior since 5.4.10 or 5.4.11)</li>
<li><?php bugfix(64523); ?> allow XOR in php.ini</li>
<li><?php bugfix(64354); ?> (Unserialize array of objects whose class can't be autoloaded fail)</li>
<li><?php bugfix(64370); ?> (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT'])</li>
<li><?php bugfix(64166); ?> (quoted-printable-encode stream filter incorrectly discarding whitespace)</li>
<li><?php bugfix(64142); ?> (dval to lval different behavior on ppc64)</li>
<li><?php bugfix(64135); ?> (Exceptions from set_error_handler are not always propagated)</li>
<li><?php bugfix(63980); ?> (object members get trimmed by zero bytes)</li>
<li><?php bugfix(63874); ?> (Segfault if php_strip_whitespace has heredoc)</li>
<li><?php bugfix(63830); ?> (Segfault on undefined function call in nested generator)</li>
<li><?php bugfix(63822); ?> (Crash when using closures with ArrayAccess)</li>
<li><?php bugfix(61681); ?> (Malformed grammar)</li>
<li><?php bugfix(61038); ?> (unpack("a5", "str\0\0") does not work as expected)</li>
<li><?php bugfix(61025); ?> (__invoke() visibility not honored)</li>
<li><?php bugfix(60833); ?> (self, parent, static behave inconsistently case-sensitive)</li>
<li><?php bugfix(52126); ?> timestamp for mail.log</li>
<li><?php bugfix(49348); ?> (Uninitialized ++$foo->bar; does not cause a notice)</li>
<li><?php bugfix(23955); ?> allow specifying Max-Age attribute in setcookie()</li>
<li><?php bugfix(18556); ?> (Engine uses locale rules to handle class names)</li>
<li>Fix undefined behavior when converting double variables to integers. The double is now always rounded towards zero, the remainder of its division by 2^32 or 2^64 (depending on sizeof(long)) is calculated and it's made signed assuming a two's complement representation</li>
</ul></li>
</ul>
<ul>
<li>Removed legacy features:
<ul>
<li>Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), zend_logo_guid()</li>
<li>Drop Windows XP and 2003 support</li>
</ul></li>
</ul>
<ul>
<li>Apache2 Handler SAPI:
<ul>
<li>Enabled Apache 2.4 configure option for Windows.</li>
</ul></li>
</ul>
<ul>
<li>Calendar:
<ul>
<li><?php bugfix(64895); ?> (Integer overflow in SndToJewish).</li>
<li><?php bugfix(54254); ?> (cal_from_jd returns month = 6 when there is only one Adar).</li>
</ul></li>
</ul>
<ul>
<li>CLI server:
<ul>
<li><?php bugfix(64128); ?> (buit-in web server is broken on ppc64).</li>
</ul></li>
</ul>
<ul>
<li>CURL:
<ul>
<li>Remove curl stream wrappers.</li>
<li>Implemented <?php bugl(46439); ?> - added CURLFile for safer file uploads</li>
<li>Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND,
CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS,
CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE,
CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH,
CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE,
CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE,
CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING,
CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE,
CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT,
CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME,
CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC,
CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE,
CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM,
CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ,
CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT,
CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING,
CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL</li>
<li><?php bugfix(55635); ?> (CURLOPT_BINARYTRANSFER no longer used. The constant
still exists for backward compatibility but is doing nothing)</li>
<li><?php bugfix(54995); ?> (Missing CURLINFO_RESPONSE_CODE support)</li>
<li>Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror
curl_pause, curl_reset, curl_share_close, curl_share_init,
curl_share_setopt curl_strerror and curl_unescape</li>
<li>Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION,
CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE,
CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL</li>
</ul></li>
</ul>
<ul>
<li>DateTime:
<ul>
<li>Added DateTimeImmutable - a variant of DateTime that only returns the
modified state instead of changing itself.</li>
<li><?php bugfix(64825); ?> (Invalid free when unserializing DateTimeZone).</li>
<li><?php bugfix(64359); ?> (strftime crash with VS2012)</li>
<li><?php bugfix(62852); ?> (Unserialize Invalid Date causes crash)</li>
<li><?php bugfix(61642); ?> (modify("+5 weekdays") returns Sunday)</li>
<li><?php bugfix(60774); ?> (DateInterval::format("%a") is always zero when an
interval is created using the createFromDateString method)</li>
<li><?php bugfix(54567); ?> (DateTimeZone serialize/unserialize)</li>
<li><?php bugfix(53437); ?> (Crash when using unserialized DatePeriod instance)</li>
</ul></li>
</ul>
<ul>
<li>dba:
<ul>
<li><?php bugfix(62489); ?> (dba_insert not working as expected)</li>
</ul></li>
</ul>
<ul>
<li>Filter:
<ul>
<li>Implemented <?php bugl(49180); ?> added MAC address validation.</li>
</ul></li>
</ul>
<ul>
<li>Fileinfo:
<ul>
<li>Upgraded libmagic to 5.14.</li>
<li><?php bugfix(64830); ?> (mimetype detection segfaults on mp3 file)</li>
<li><?php bugfix(63590); ?> (Different results in TS and NTS under Windows)</li>
<li><?php bugfix(63248); ?> (Load multiple magic files from a directory under Windows)</li>
</ul></li>
</ul>
<ul>
<li>FPM:
<ul>
<li>Add --with-fpm-systemd option to report health to systemd, and
systemd_interval option to configure this. The service can now use
Type=notify in the systemd unit file.</li>
<li>Ignore QUERY_STRING when sent in SCRIPT_FILENAME</li>
<li>Log a warning when a syscall fails</li>
<li>Implemented <?php bugl(64764); ?> (add support for FPM init.d script)</li>
<li><?php bugfix(64915); ?> (error_log ignored when daemonize=0)</li>
<li><?php bugfix(63999); ?> (php with fpm fails to build on Solaris 10 or 11)</li>
<li>Fixed some possible memory or resource leaks and possible null dereference
detected by code coverity scan</li>
</ul></li>
</ul>
<ul>
<li>GD:
<ul>
<li><?php bugfix(64962); ?> (imagerotate produces corrupted image).</li>
<li><?php bugfix(64961); ?> (segfault in imagesetinterpolation)</li>
<li>Fix build with system libgd >= 2.1 which is now the minimal
version required (as build with previous version is broken).
No change when bundled libgd is used</li>
<li>Upgraded libgd to 2.1</li>
</ul></li>
</ul>
<ul>
<li>hash:
<ul>
<li>Added support for PBKDF2 via hash_pbkdf2().</li>
<li><?php bugfix(64745); ?> (hash_pbkdf2() truncates data when using default length
and hex output)</li>
</ul></li>
</ul>
<ul>
<li>intl:
<ul>
<li>Added UConverter wrapper.</li>
<li>The intl extension now requires ICU 4.0+</li>
<li>Added intl.use_exceptions INI directive, which controls what happens when
global errors are set together with intl.error_level</li>
<li>MessageFormatter::format() and related functions now accepted named
arguments and mixed numeric/named arguments in ICU 4.8+</li>
<li>MessageFormatter::format() and related functions now don't error out when
an insufficient argument count is provided. Instead, the placeholders will
remain unsubstituted</li>
<li>MessageFormatter::parse() and MessageFormat::format() (and their static
equivalents) don't throw away better than second precision in the arguments</li>
<li>IntlDateFormatter::__construct and datefmt_create() now accept for the
$timezone argument time zone identifiers, IntlTimeZone objects, DateTimeZone
objects and NULL</li>
<li>IntlDateFormatter::__construct and datefmt_create() no longer accept invalid
timezone identifiers or empty strings</li>
<li>The default time zone used in IntlDateFormatter::__construct and
datefmt_create() (when the corresponding argument is not passed or NULL is
passed) is now the one given by date_default_timezone_get(), not the
default ICU time zone</li>
<li>The time zone passed to the IntlDateFormatter is ignored if it is NULL and
if the calendar passed is an IntlCalendar object -- in this case, the
IntlCalendar's time zone will be used instead. Otherwise, the time zone
specified in the $timezone argument is used instead. This does not affect
old code, as IntlCalendar was introduced in this version</li>
<li>IntlDateFormatter::__construct and datefmt_create() now accept for the
$calendar argument also IntlCalendar objects</li>
<li>IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false
if the IntlDateFormatter was set up with an IntlCalendar instead of the
constants IntlDateFormatter::GREGORIAN/TRADITIONAL. IntlCalendar did not
exist before this version</li>
<li>IntlDateFormatter::setCalendar() and datefmt_set_calendar() now also accept
an IntlCalendar object, in which case its time zone is taken. Passing a
constant is still allowed, and still keeps the time zone</li>
<li>IntlDateFormatter::setTimeZoneID() and datefmt_set_timezone_id() are
deprecated. Use IntlDateFormatter::setTimeZone() or datefmt_set_timezone()
instead</li>
<li>IntlDateFormatter::format() and datefmt_format() now also accept an
IntlCalendar object for formatting</li>
<li>Added the classes: IntlCalendar, IntlGregorianCalendar, IntlTimeZone,
IntlBreakIterator, IntlRuleBasedBreakIterator and
IntlCodePointBreakIterator</li>
<li>Added the functions: intlcal_get_keyword_values_for_locale(),
intlcal_get_now(), intlcal_get_available_locales(), intlcal_get(),
intlcal_get_time(), intlcal_set_time(), intlcal_add(),
intlcal_set_time_zone(), intlcal_after(), intlcal_before(), intlcal_set(),
intlcal_roll(), intlcal_clear(), intlcal_field_difference(),
intlcal_get_actual_maximum(), intlcal_get_actual_minimum(),
intlcal_get_day_of_week_type(), intlcal_get_first_day_of_week(),
intlcal_get_greatest_minimum(), intlcal_get_least_maximum(),
intlcal_get_locale(), intlcal_get_maximum(),
intlcal_get_minimal_days_in_first_week(), intlcal_get_minimum(),
intlcal_get_time_zone(), intlcal_get_type(),
intlcal_get_weekend_transition(), intlcal_in_daylight_time(),
intlcal_is_equivalent_to(), intlcal_is_lenient(), intlcal_is_set(),
intlcal_is_weekend(), intlcal_set_first_day_of_week(),
intlcal_set_lenient(), intlcal_equals(),
intlcal_get_repeated_wall_time_option(),
intlcal_get_skipped_wall_time_option(),
intlcal_set_repeated_wall_time_option(),
intlcal_set_skipped_wall_time_option(), intlcal_from_date_time(),
intlcal_to_date_time(), intlcal_get_error_code(),
intlcal_get_error_message(), intlgregcal_create_instance(),
intlgregcal_set_gregorian_change(), intlgregcal_get_gregorian_change() and
intlgregcal_is_leap_year()</li>
<li>Added the functions: intltz_create_time_zone(), intltz_create_default(),
intltz_get_id(), intltz_get_gmt(), intltz_get_unknown(),
intltz_create_enumeration(), intltz_count_equivalent_ids(),
intltz_create_time_zone_id_enumeration(), intltz_get_canonical_id(),
intltz_get_region(), intltz_get_tz_data_version(),
intltz_get_equivalent_id(), intltz_use_daylight_time(), intltz_get_offset(),
intltz_get_raw_offset(), intltz_has_same_rules(), intltz_get_display_name(),
intltz_get_dst_savings(), intltz_from_date_time_zone(),
intltz_to_date_time_zone(), intltz_get_error_code(),
intltz_get_error_message()</li>
<li>Added the methods: IntlDateFormatter::formatObject(),
IntlDateFormatter::getCalendarObject(), IntlDateFormatter::getTimeZone(),
IntlDateFormatter::setTimeZone()</li>
<li>Added the functions: datefmt_format_object(), datefmt_get_calendar_object(),
datefmt_get_timezone(), datefmt_set_timezone(),
datefmt_get_calendar_object(), intlcal_create_instance()</li>
</ul></li>
</ul>
<ul>
<li>mbstring:
<ul>
<li><?php bugfix(64769); ?> (mbstring PHPTs crash on Windows x64).</li>
</ul></li>
</ul>
<ul>
<li>MCrypt:
<ul>
<li>mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() now throw E_DEPRECATED.</li>
</ul></li>
</ul>
<ul>
<li>mysql:
<ul>
<li>This extension is now deprecated, and deprecation warnings will be generated
when connections are established to databases via mysql_connect(),
mysql_pconnect(), or through implicit connection: use MySQLi or PDO_MySQL
instead</li>
<li>Dropped support for LOAD DATA LOCAL INFILE handlers when using libmysql.
Known for stability problems</li>
<li>Added support for SHA256 authentication available with MySQL 5.6.6+</li>
</ul></li>
</ul>
<ul>
<li>mysqli:
<ul>
<li>Added mysqli_begin_transaction()/mysqli::begin_transaction(). Implemented
all options, per MySQL 5.6, which can be used with START TRANSACTION, COMMIT
and ROLLBACK through options to mysqli_commit()/mysqli_rollback() and their
respective OO counterparts. They work in libmysql and mysqlnd mode</li>
<li>Added mysqli_savepoint(), mysqli_release_savepoint()</li>
<li><?php bugfix(64726); ?> (Segfault when calling fetch_object on a use_result and DB
pointer has closed)</li>
<li><?php bugfix(64394); ?> (MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS undeclared when
using Connector/C)</li>
</ul></li>
</ul>
<ul>
<li>mysqlnd:
<ul>
<li>Add new begin_transaction() call to the connection object. Implemented all