forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
2541 lines (2517 loc) · 142 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? ? ??? 200?, Version 5.0.0
- Moved extensions to PECL (http://pear.php.net/): (James, Tal)
. ext/fribidi
- Fixed dirname() and strip_tags() to be binary-safe. (Moriyoshi)
- Fixed bug #22386 (Using browscap causes segfault). (Jay)
- Fixed bug #22895 (PHP cli outputs errors in text AND html). (Marcus)
- Fixed bug #22059 (ftp_chdir causes segfault). (Sara)
- Fixed bug #21985 and #22064 (various mb_send_mail() issues). (Moriyoshi)
- Fixed bug #21600 (Assign by reference function call changes variable contents).
(Zeev)
- Fixed bug #21007 (html_errors off text-only output in phpinfo). (Marcus)
- Fixed bug #20442 (upgraded bundled expat to 1.95.5). (Ilia)
- Fixed bug #20155 (xmlrpc compile problem with ZE2). (Derick, Jan Schneider)
- Changed the length parameter in fgetss() to be optional. (Moriyoshi)
- Changed ini parser to allow for handling of quoted multi-line values. (Ilia)
- Changed get_extension_funcs() to return list of the built-in Zend Engine
functions if "zend" is specified as the module name. (Ilia)
- Changed is_executable() to be available also on Windows. (Shane)
- Changed array_search() to accept also objects as a needle. (Moriyoshi)
- Changed ext/mcrypt to require libmcrypt version 2.5.6 or greater. (Derick)
- Changed uniqid() parameters to be optional and allow any prefix length. (Marcus)
- Added opendir and url_stat methods to ftp wrapper. (Sara)
- Added IPv6 support to ext/sockets. (Sara)
- Added context options to http_fopen_wrapper 'method', 'header', 'content'. (Sara)
- Added domdocument->create_document_fragment() and documentfragment->open_mem()
methods to domxml. (Rob Richards, Chregu)
- Added domelement->set_attribute_node() method (bug #17638). (Rob Richards)
- Added optional parameter to get_browser() to make it return an array. (Jay)
- Added optional parameter to openssl_sign() to specify the hashing algorithm.
([email protected], Derick)
- Added file_put_contents() function. (Sterling)
- Added "mail_force_extra_paramaters" php.ini option which forces the addition
of the specified parameters to be passed as extra parameters to the sendmail
binary. These parameters will always replace the value of the 5th parameter
to mail(), even in safe mode. (Derick)
- Added new "transport" layer for sockets and associated functions. (Wez)
. stream_socket_client() - similar to fsockopen(), but more powerful.
. stream_socket_server() - Creates a server socket.
. stream_socket_accept() - Accept a client connection.
. stream_socket_get_name() - Get local or remote name of socket.
. generic crypto interface for streams (supports dynamic loading of OpenSSL)
- Added stream_copy_to_stream() function. (Wez)
- Added memory mapping support under win32 to improve performance of
readfile(), fpassthru() and some internal streams operations. (Wez)
- Added DBA handler 'inifile' to support ini files. (Marcus)
- Added input filter support. See README.input_filter. (Rasmus)
- Added "session.hash_function" and "session.hash_bits_per_character". (Sascha)
- Added lightweight streaming input abstraction to the Zend Engine scanners
that provides uniform support for include()'ing data from PHP streams across
all platforms (Wez, Zend Engine).
- Added optional parameter to sha1(), sha1_file(), md5() and md5_file() which
makes them return the digest as binary data. (Michael Bretterklieber, Derick)
- Added proc_nice() function. Changes priority of the current process. (Ilia)
- Added pcntl_getpriority() and pcntl_setpriority() functions. (Ilia)
- Added idate(), date_sunrise() and date_sunset() functions. (Moshe Doron)
- Added long options into CLI & CGI (e.g. --version). (Marcus)
- Added strpbrk() function. Searches a string for a list of characters. (Ilia)
- Added stream_get_line() function. Reads either the specified number of bytes
or until the ending string is found. (Ilia)
- Added optional parameter to mkdir() to make directory creation recursive. (Ilia)
- Added optional parameter to file() which makes the result array not contain
the line endings and to skip empty lines. (Ilia)
- Added get_headers() function. Returns headers sent by the server of
the specified URL. (Ilia)
- Added str_split() function. Breaks down a string into an array of elements
based on length. (Ilia)
- Added array_walk_recursive() function. (Ilia)
- Added new command line parameters -B, -F, -R and -E which allow to process stdin
line by line (See 'php -h' or 'man php' for more). (Marcus)
- Added string.base64 stream filter. (Moriyoshi)
- Added domxml_node_get_path(). (Lukas Schröder)
- Added iconv related functions. (Moriyoshi)
. iconv_strlen()
. iconv_substr()
. iconv_strpos()
. iconv_strrpos()
. iconv_mime_decode()
. iconv_mime_encode()
- Added new range() functionality. (Ilia)
. Support for float modifier.
. Detection of numeric values inside strings passed as high & low.
. Proper handle the situations where high == low.
- Added imagefilter() function. Allows application of various filters.
Only available with bundled GD. (Pierre-Alain Joye, Ilia)
- Added antialiased drawing support to bundled GD. (Pierre-Alain Joye, Ilia)
. imageantialias($im, $flag) to (de)active antialias
. imageline antialias support
. imagepolygon antialias support
17 Feb 2003, Version 4.3.1
- Fixed serious security vulnerability in CGI SAPI. (Shane)
27 Dec 2002, Version 4.3.0
- Added sha1() and sha1_file() for US Secure Hash Algorithm 1. (Stefan Esser)
- Make PHP_AUTH_* variables not available in safe mode under Apache when an
external basic auth mechanism is used. (Philip)
- Aliased dba_popen() to dba_open() until 4.3.2 when persistent STDIO streams
are introduced. (Andrei)
- Fixed a security bug in the bundled MySQL library. (Georg, Stefan)
- If you don't specify building any other SAPI "make install" will install the
CGI SAPI binary in {PREFIX}/bin/php. If you want to install CLI SAPI in that
location use "make install-cli" after "make install" or add --disable-cgi
to your configure options. In the Windows distribution CLI SAPI is included
in the "cli" folder. (Edin)
- Removed extensions: (Jan, Jani, Sebastian)
. ext/aspell
. ext/ccvs
. ext/icap
. sapi/fastcgi
. sapi/fhttpd
- Moved extensions to PECL (http://pear.php.net/): (James, Derick, George)
. ext/vpopmail
. ext/cybermut
. ext/cybercash
- ZLIB extension is now built-in in the Windows distribution.
External extension (php_zlib.dll) has been removed. (Edin)
- Fixed a crash when using invalid color index with imagecolortransparent().
(Pierre-Alain Joye)
- Fixed bug #20987 (no handling for client certificates). (Ilia)
- Fixed bug #21039 (crash when not supplying an IV to mcrypt_generic_init).
(Derick)
- Fixed bug #20936 (openssl_pkey_get was broken). ([email protected], Wez)
- Fixed bug #20927 (wordwrap crash). (Ilia)
- Fixed bug #20796 (when register_globals is on & arrays with same names are
passed via get/post/cookie the data inside $_GET/$_POST/$_COOKIE can would be
corrupted). (Ilia)
- Fixed bug #20725 (if the upload directory cannot be written to, the POST data
after the uploaded file is lost). (Ilia)
- Fixed bug #20865 (array_key_exists() fails to find NULL key). (Ilia)
- Fixed bug #20812 (ftp_get returned NULL on success, instead of TRUE). (Ilia)
- Fixed bug #20785 (crash when using pdf_open_memory_image() to load a
true-color image). (Ilia)
- Fixed a crash when converting between true-color images (png/jpeg) and
gd1/gd2 image formats, png/jpeg -> gd1/gd2 -> png/jpeg conversion now
works correctly. (Ilia, Pierre-Alain Joye)
- Fixed a memory leak in the bundled GD library inside
gdImageTrueColorToPalette(). (Ilia)
- Fixed bug #12776 (array_walk crash). (Moriyoshi)
- Fixed bug #20934 (htmlspecialchars returns latin1 from UTF-8). (Moriyoshi)
- Fixed bugs #20270, #15702, #18600 (segfaults in ext/java). (Tony J. White)
- Made bcmath extension thread safe. (Sander)
- Fixed bug #19566 (get_declared_classes() segfaults). (Moriyoshi, Marcus, Andi)
- Fixed bug #20381 (array_merge_recursive mangles input arrays). (Moriyoshi)
- Added -n command switch to cli and cgi version which allows to skip php.ini
parsing at startup. (Marcus, Wez)
- Fixed bug #19689 (absolute paths like /test/dir/ not working correctly).
(Ilia)
- Added "neutral" language entry to mbstring spec. (Moriyoshi)
- Changed bundled gd library to consider php.ini option memory_limit. (Marcus)
- Modified log() to accept multiple bases. (Jason)
- Fixed bugs #16190/18746 (ext/db: flatfile support with windows). (Marcus)
- Added gd_info() which returns an array of gd support information. (Marcus)
- Implemented features/changes requested in Bug #16960 (Timm):
. Added a new function sybase_unbuffered_query()
. Added a new function sybase_fetch_assoc()
. Added sybase_set_message_handler() which enables users to handle
server messages in a callback function
. Added an ini entry for deadlock retries - retrying deadlocks can cause
transaction state to break (sybct.deadlock_retry_count,
defaults to -1 "forever").
. Fixed sybase_fetch_object() not to return objects with numeric members
. Fixed issues with identical fieldnames
. Made sybase_fetch_*() functions return correct datatypes
. Made phpinfo() section more verbose
. Made sybase_query() error messages more verbose
- Fixed bug #19935 (made OpenSSL file system operations abide by safe_mode
& open_basedir restrictions). (Ilia)
- Fixed bug #18868 (improved the check for availability of realpath()). (Ilia)
- Fixed width/height detection of bmp images using getimagesize() function on
big endian systems and added code to retrieve bmp bit depth. (Ilia)
- Fixed bug #20035 (line counting error when script starts with #! in
cgi/cli/fastcgi sapis). (Ilia)
- Fixed bug #20235 (incorrect handling of symlinks on ZTS build). (Ilia)
- Added sanity checks to headers_sent() & image_type_to_mime_type(). (Ilia)
- Added an aditional parameter to the jdtojewish() function which makes
the function return the symbolic hebrew name. (Moshe Doron, Derick)
- Fixed bug #20169 (implode() clobbers first argument). (Moriyoshi)
- Improved dba extension (Marcus)
. Added dba_handlers() that returns an array of installed handlers and
dba_list() that returns an associative array of open database files.
. Added bundled cdb support wich can be activated by --with-cdb without a
path. The bundled version supports cdb_make that allows writing cdb files.
. Added optional skip parameter to dba_fetch() to support multiple key-value
pairs with the same key for cdb handler.
. Added locking for those handlers that do not have their own locking.
. Added support for magic_quotes_runtime php.ini option.
. Added flatfile support what finally makes ext/db deprecated.
- Added imagerotate() which is available only when bundled libgd is used.
(Pierre-Alain Joye, Ilia)
- Fixed bug #17497 (mssql extension crashes if magic_quotes_runtime is on).
(Sterling)
- Remove $_FILES from $_REQUEST (import_request_variables is not modified),
this didn't work properly in the first place, and added confusion. (Sterling)
- Fix the socket_read() function on win32 to work in normal mode (reading to
the end of a line), as well as binary mode. (Sterling)
- Fixed bug #20110 (added sanity check to prevent include/require functions
from trying to include directories). (Ilia)
- Fixed bug #20108 (segmentation fault on printf("%1.1s", "string")). (Ilia)
- Added dbx_escape_string() function to dbx module. (Marc)
- Added Oracle (oci8) support to dbx module. (Marc)
- Updated FDF extension to work with Adode fdftk 5.0. (Hartmut)
- Added mb_strtolower() and mb_strtoupper(). (Moriyoshi)
- Fixed an infinite loop in setlocale() when only invalid locale names
were passed in the array. (patch by Pal Loberg, [email protected])
- Fixed bugs #19156 and #19544 (COM extension leaks memory and keeps
components referenced). (Harald)
- Added fribidi_get_charsets() and fribidi_charset_info() functions. (Tal)
- Added Oracle TIMESTAMP type to oci8 extension. (Thies)
- Fixed fgets($fp) to read until EOL when length parameter is not set. (Wez)
- Changed registry entries under "HKLM\SOFTWARE\PHP\Per Directory Values" to
work also with administrative directives such as safe_mode, open_basedir,
etc. (Claudio Felber)
- Added str_word_count() function which counts words inside a string. (Ilia)
- Added PGSQL_CONNECT_FORCE_NEW option to pg_connect() (Yasuo)
- Added ICONV_IMPL and ICONV_VERSION constants to iconv extension to
indicate which iconv implementation is used. (Moriyoshi)
- Fixed bug #4232 (Added %e & %E support to printf/sprintf). (Ilia)
- Fixed bug #17580 (Allow ini parser to parse files >16K). (Ilia)
- Fixed bug #19649 (Sanity checks for browscap.ini parser). (Ilia)
- Added experimental patch to address problem with floats on various locales.
(Bug #17079). (Ilia)
- Fixed bug #19280 (imap_header fails with many To: addresses). (Ilia)
- Added mb_regex_set_options(). The Options parameters of various mbregex
functions are now deprecated. (Moriyoshi)
- Fixed bug #19482 (Segfault with PCRE and locale). (Andrei)
- Made ImageTruecolorToPalette() in bundled GD2 library actually work. (Rasmus)
- Fixed ImageCopy() in bundled GD2 library to handle copying from truecolor to
palette-based. (Wez, Rasmus)
- Added read-only GIF support for bundled GD2 library. (Rasmus)
- Made several adjustments to xslt extension (David Viner, Lehnar, Melvyn)
. Added xslt_set_object and xslt_setopt function
. Changed backend interaction with Sablotron library
. Fixed leak with error_print
. Made xslt_make_array() always set NULL on last index to signal array end.
- Changed the glue argument in implode() to be optional. If not specified,
defaults to "". (Sterling)
- Fixed fields argument to contain correct info for xslt_set_error_handler().
(Patch by Lenar Lohmus)
- Added --with-config-file-scan-dir compile-time switch which specifies a
directory which will be scanned for *.ini files. (Rasmus)
- Added ob_get_clean() and ob_get_flush(). (Yasuo)
- Added ftp_ssl_connect() to ext/ftp for FTP over SSL support. (Stefan Esser)
- Made a few additions and changes to Apache 2 sapi. (Ilia)
. Added apache_response_headers(), apache_note(), apache_getenv() and
apache_setenv() functions.
. Added more detailed error reporting to apache_lookup_uri() and virtual().
. Renamed getallheaders() to apache_request_headers() and made an alias for BC.
. Added php_apache_sapi_getenv() and php_apache_sapi_get_stat().
. Added syntax-highlighting handling (.phps)
- Fixed strstr(), strchr() and strrchr() to be binary safe. (Andrey)
- Added array_diff_assoc() and array_intersect_assoc(). (Andrey)
- Fixed bug #17825 (ob_start() chunk size option didn't work well). (Yasuo)
- Fixed output buffer infinite loop when buffer_size became 0. (Marcus, Wez)
- Added getopt() for parsing command line options and arguments. (Jon)
- Added pg_fetch_assoc(), pg_fetch_all(), pg_ping(), pg_meta_data(), pg_convert(),
pg_insert(), pg_select(), pg_update(), pg_delete(), pg_result_seek(),
pg_unescape_bytea(), pg_get_notify() and pg_get_pid(). (Yasuo)
- Fixed bug #17281 (Sanity checks for encoding sessions). (Ilia)
- Fixed bug #16995 and #19392 (Prevent crash if $HTTP_SESSION_VARS != ARRAY).
(Ilia)
- Fixed bug #19292 (open_basedir restriction problem). (Rasmus)
- Fixed bug #19366 (gdImageFill crashes when x & y are outside of
the image's boundries). (Ilia)
- Fixed bug #13936 (__FILE__ constant didn't contain full path). (Ilia)
- PHP now has a new stream system that allows it to do some clever stuff with
fopen() and fsockopen(). As a result:
. URL wrappers natively supports https:// URLs if you have compiled
OpenSSL support into PHP (shared extension does not support this).
. Added support for fopen("ftps://...", ...) which allows to connect to FTP
servers via SSL. (Stefan Esser)
. fsockopen() adds support for ssl:// and tls:// connections via TCP/IP
. copy($srcfilename, $destfilename) can now be used with URL wrappers
. zlib wrappers/streams can be used even on systems without fopencookie()
. Changed 'zlib:' fopen wrapper to 'compress.zlib://' and deprecate
'zlib:' to avoid ambiguities when filenames have ':' characters. (Wez)
. Added 'compress.bzip2://' stream and wrapper support.
. Added user-space streams - it is now possible to define a class in PHP
code and register it as a URL wrapper. (stream_register_wrapper)
. Most extensions now support streams when passing files, which means
that those extensions will now also support URL wrappers. (Wez)
. Added URL-wrapper support to exif. (Marcus)
. Added memory stream support. (Marcus)
. Renamed:
socket_set_timeout() -> stream_set_timeout()
socket_set_blocking() -> stream_set_blocking()
set_file_buffer() -> stream_set_write_buffer()
socket_get_status() -> stream_get_meta_data()
As these functions can (in theory) work on any type of stream. (Wez)
. Raw POST data is now available as "php://input" stream. (Hartmut)
. fopen("php://output", "wb") returns a stream that writes to the output
buffer (like echo and print). (Wez)
. Added stream_context_create(), stream_context_set_params() and
stream_context_set_option and added an optional fourth parameter to
fopen() which accepts a stream context. Contexts allow sharing of
information between streams (a kind of "session") and setting
notification callbacks. (Wez)
. Made the "User-Agent" header sent by http:// and https:// wrappers
configurable in php.ini or via a stream context. (Sterling)
. Added stream_filter_prepend() and stream_filter_append() which apply
a filter to either the top or the bottom of a stream filter stack.
Implemented "string.rot13" filter as an example; more filters are
expected to follow in later releases and other extensions. (Wez)
. Added stream_select() which works like socket_select but works on
streams returned by fopen(), fsockopen() and pfsockopen() instead. (Wez)
. Added STDIN, STDOUT and STDERR constants for CLI sapi reflecting opened
streams to their respective standard I/O counterparts. (Edin)
. Added php.ini option "auto_detect_line_endings" which enables PHP to
detect Macintosh, Unix and Dos end-of-line characters in fgets() and
file(). Fixes bugs #16521 and #16708. (Wez)
. Fixed include(), require() and GD functions to work with remote files
under win32.
Fixed bug #18609 (ImageCreateFromJPEG can't fetch from a URL). (Wez)
- Fixed bug #18022 (fopen does not work with php://stdin anymore on Solaris).
(Wez)
- Added php.ini option "default_socket_timeout" to set the timeout limit for
PHP network streams. (kalowsky, [email protected], Wez)
- Added file_get_contents() which returns the contents of a file as a string.
This function also supports the URL wrappers. (Wez)
- Fixed bug #19595 (Missing functions for GD2 format handling). (Edin)
- Fixed bug #19633 (Wrong directories in ext/ldap/config.m4). (Derick)
- Fixed bugs #17274 and #19627 (segfault in sem_remove). (Wez)
- Added mb_convert_case() function to the mbstring extension which can convert
strings between upper, lower and title case using Unicode mappings.
Fixed bug #19257 (strtolower & strtoupper does not work for UTF-8 strings).
(Wez)
- Fixed bug #18521 (htmlentities didn't warn about unsupported charsets). (Wez)
- Fixed bug #11643 (Session related, fix SID redefinition). (Ilia)
- Fixed bug #18556 (Scripting Engine, problem with locales like tr_TR). (Ilia)
- Changed y2k_compliance to default to 1 now. (Sascha)
- Added platform independent socket error constants for better error handling. (Jason)
- Update output of phpinfo() to use more CSS to reduce the file size, do
proper HTML escaping, and make it XHTML compliant. (Colin)
- Fixed compile errors in the FriBidi extension (Bug #16414). (Tal)
- Fixed bugs #7472, #12120 and #12989 as well as other potential problems
with strip_tags() function. (Ilia)
- Fixed bugs #17570 and #17957 (Regexps related). (Andrei, Ilia)
- Fixed bugs #18167 and #16859 (SEGV with session_decode). (Ilia)
- Fixed bugs #19573 and #13472 (Session, XHTML compliance and trans_sid).
(Sascha)
- Fixed bug #19570 (last character was missing in get_html_translation_table).
(Wez)
- Upgraded PCRE to version 3.9. (Wez)
- Fixed bug in OCIResult() which returned garbage when called on
empty result-sets. (Thies)
- Added ability to use Perl-style ${n} subpattern references in the
replacement string for preg_replace() (bug #18442). (Andrei)
- Fixed array_merge_recursive() to avoid problems with merging cyclical
arrays (bug #16064). (Andrei)
- Made function_exists() work properly with disabled functions. (Andrei)
- Added ability to extract() variables as references via OR'able EXTR_REFS
flag. (Andrei)
- Fixed a build failure with the OCI8 extension on Tru64.
(Patch by Michael Mauch, [email protected])
- Added --disable-all configure option. (Jani)
- Backported debug_backtrace() from ZendEngine2. (Thies)
- Added html-free phpinfo() output for CLI. (Jan)
- Fixed socket_recvfrom() to be binary safe. (Jason)
- Changed mail() to use escape_shell_cmd() to allow multiple extra parameters
to the invocation of the mailer as used in the fifth parameter. (Derick)
- Changed cURL extension to require cURL version 7.9.8 (Derick)
- Added zend_execute_internal which is called like zend_execute but for
internal functions. (Thies)
- Changed pg_connection_status(), pg_connection_reset(), pg_connection_busy(),
pg_result_status() and pg_result_error() to silently return FALSE when
resource is not passed to them. (Yasuo)
- Fixed some mysql compile failures on 64 bit-OS. (Georg)
- Added warnings for deprecated mysql functions:
. mysql_create_db()
. mysql_drop_db()
. mysql_escape_string()
- Added XsltObject->result_dump_mem($result) for returning xslt-result directly
into a string and XsltObject->result_dump_file($result,$file[,$compression])
for dumping into a file. ([email protected], chregu)
- Made mime_magic and ZIP extensions available on Windows. (Edin)
- Added xslt_backend_version() and xslt_backend_name() for getting
information about the processor backend. (chregu)
- Added ImageColorMatch() and ImageLayerEffect() functions which are only
available when using the bundled GD library. (ttoohey)
- Made major improvents to the pcntl extension. (Jason)
. Greatly improved performance (signal callback mechanism uses ticks)
. Implemented object signal callback ability by using array($obj, $method)
. Added a restart parameter to pcntl_signal, which allows you to disable
the default of system call restarting
- Changed DomNode->next_sibling() and DomNode->previous_sibling() to return
NULL instead of false (W3C specs). (chregu)
- Changed DomNode->insert_before() and DomNode->append_child() to conform to
W3C specs (moving not copying nodes, accepting NULL as 2nd param). (chregu)
- Added DomNode->set_namespace(uri[,prefix]) (chregu)
- Fixed shuffle() to properly generate all possibilities. (Patch provided by
Adam <[email protected]>)
- Fixed DomNode->insert_before() to behave according to W3C spec
ie. new_child is moved, not copied. (chregu)
- Added some namespace support with DomNode->add_namespace(uri, prefix)
and DomDocument->create_element_ns(uri, nodename) (chregu)
- Added optional parameter to DomElement->node_name() for retrieving fully
qualified name (ie. namespace prefix). (chregu)
- Changed DomNode->child_nodes() to return empty array instead of false if no
child nodes are found. (chregu)
- Fixed a bug with handling the Expect header. (Patch by [email protected])
- Fixed a bug in ODBC where closing the module caused a crash in the Windows
executable. (kalowsky)
- Fixed memory leaks in pack() and unpack(). (Patch by [email protected])
- Added URLs to error messages which direct to a page describing the error or
function in question. (Derick, Wez, Marcus)
- Added odbc_data_source() functionality to identify DB ServerName, and a
description of it gathered from the DSN. (kalowsky)
- Fixed copy() to return TRUE with 0 byte files. (Patch by [email protected])
- Added ob_list_handlers() which returns an array of all active output
handlers. (Marcus)
- Added mbstring encoding/decoding "HTML-ENTITIES". (Marcus)
- Added parameter 'L' for mb_http_input() to retrieve input encoding as a
comma separated string. (Marcus)
- Added the ability for declare() compiler modifications to occur globally
by using an empty statement. (Jason, Zend Engine)
i.e.
//Globally enables the ticks modifier for the whole program
declare (ticks=1);
//Enables the ticks modifier for just the lexical block containing
//"statement".
declare (ticks=1) {
statement;
}
- Brought strtotime() "next" keyword handling in line with documentation and
its glibc cousin. (Rasmus)
- Fixed str_rot13() to not mangle source string. (Rasmus)
- Fixed imap_get_quota() to work with multiple returned resources as per
the RFC 2087 and bug #14673. (kalowsky, Sander Steffann)
- Added MarkerNote decoding to exif_read_data() for several Cameras. (Marcus)
- Disabled zlib.output_compression for "image/" content-type
headers which can be changed during script execution. (Stefan)
- Added new asynchronous FTP functions. (Stefan)
- Added optional 5th parameter to FTP functions to support resuming. (Stefan)
- Added optional 2nd parameter to print_r() to make it return the variable
representation instead of echoing it. (Derick)
- Added mysql_ping(), mysql_real_escape_string(), mysql_character_set_name(),
mysql_thread_id(), mysql_stat() and mysql_list_processes(). (Zak, Georg)
- Added safe_mode & open_basedir checks for pg_lo_export(). (Yasuo)
- Added open_basedir check for pg_lo_import(). (Yasuo)
- Fixed infinite recursion crash bug in ticks. (Jason)
- Added php.ini option "mysql.connect_timeout" to set the timeout limit for
mysql_connect() and mysql_pconnect(). (Georg)
- Added optional parameter "flags" to mysql_connect() and mysql_pconnect()
which can be used to set usage of idle timeout and different protocols,
SSL and compressed. (Georg)
- Added automatic rollback to ext/mysql for non committed transactions. (Georg)
- Fixed cases where preg_split() incorrectly terminated final element if it
contained null bytes. (Andrei)
- Added persistent connections/pipelining to thttpd. (Sascha)
- Fixed two potential blocking issues in thttpd. (Sascha)
- Fixed broken header file detection on Solaris. (Sascha)
- Improved nss/socket-related symbol/library detection. (Jani, Sascha)
- Made iconv() work well with both libiconv and libgconv. (Moriyoshi, Yasuo)
- Fixed socket_set_timeout() on win32. (Jason, Edin, Jani)
- Added domxml_node_namespace_uri(). (Rui Lopes)
- Fixed win32 memory leak in /ext/sockets that would occur on any error
condition. Also fixed host resolution error messages on win32. (Jason)
- Added optional 3rd parameter 'recursive' to ftp_rawlist() which will
do 'LIST -R' instead of 'LIST'. (Jani)
- Changed getimagesize() to always set unknown fields to 0 and added support
for iff imagetype. (Marcus)
- Added runtime Apache2 thread check to ensure we don't run a non-threaded
PHP inside a threaded Apache2 MPM. (Rasmus)
- Made getimagesize() and exif_read_data() to return also the mime-type and
exif_thumbnail() to return also the image-type. (Marcus)
- Added image_type_to_mime_type() which converts image-types to mime-types.
(Marcus)
- Made GD functions to only exist if they are available in libgd. Now the
availability can be tested with function_exists(). (Derick)
- Added an optional parameter to the header() function which overrides the HTTP
response code. (Derick)
- Changed the order of which modules are unloaded to the reverse order of
which they were loaded. (Derick, Zend Engine)
- Added preliminary SAX-Input support. It's now possible to build a DomDocument
with SAX-Events. (chregu)
- Bundled GD library 2.0.1 with php (ext/gd/libgd) (Rasmus, Jani, Markus, Edin)
- Fixed bug with Apache which let PHP_AUTH_* variables to be set when
external basic auth mechanism was used. (Jani)
- Fixed bzopen() crash in thread-safe mode. (Andrei)
- Added better error-messages (3rd parameter) and validating of DTDs (2nd
parameter) to domxml_open_mem() and domxml_open_file(). (Christian)
- Added domxml_doc_validate() for validating existing DomDocuments with a DTD.
(Christian)
- Added ability to capture string offsets in preg_match_*() results.
(David Brown, Andrei)
- Fixed set_error_handler() to accept methods as callbacks and also report
invalid callbacks. (Andrei)
- Fixed a memory corruption bug in overload extension. (Andrei)
- Fixed error handling in fsockopen() on win32. (Jason)
- Added win32 support for the timeout parameter of fsockopen(). (Jason)
- Fixed shuffle() to provide equal distribution of values. (Andrei)
- Added --with-mysql-sock configure option which can be used to override
the unix socket location. (e.g. NFS compiles, etc.) (James Cox)
- Fixed is_a() to properly work on extension registered classes. (Andrei)
- Added new constants: PHP_PREFIX and PHP_SHLIB_SUFFIX. (Stig)
- Added pctnl_alarm() function. (Edin)
- If zlib.output_compression is enabled and a page is compressed
a "Vary: Accept-Encoding" header is now added. (Stefan)
- Renamed getallheaders() to apache_request_headers() and kept getallheaders()
as an alias to it. Also added apache_response_headers() which returns the
current response headers from Apache. (Rasmus)
- Added missing AddRef() calls in the COM extension. This should fix weird
behaviour (in particular with ADODB). (Harald)
- Fixed segfault in version_compare(). (Stig)
- Added compressed Flash MX files support to getimagesize(). (Derick)
- Added ability to capture string offsets in preg_split() results.
(David Brown, Andrei)
- Fixed a crash bug in token_get_all(). (Andrei)
- Implemented glob() for Unix/Win32. (Hartmut, Edin, Markus)
- Added domxml_doc_set_root() to change the root node. (Lukas Schroeder)
- Fixed a crash bug in stripslashes() when working in sybase mode. (Rasmus)
- Added experimental support for Simplified Chinese, Traditional Chinese and
Korean encodings into mbstring. (Rui)
- Misc. Win32 mail() enhancements: support 'From:' header ([email protected]),
support Bcc header, case-insensitive headers, enhanced error reporting,
automatic proper line ending conversion, fixed crash with Cc, fixed buffer
overflows with $header. (Markus)
- Improved IMAP extension performance. ([email protected],
[email protected], Jon)
- Added optional 5th parameter to domxml_xslt_process(). When set, profiling
information is saved to the specified file. (chregu)
- Added MD5 support for crypt() on Windows. (Edin)
- Fixed resource bug in LDAP extension. (Stig Venaas)
- Fixed crash in output buffering when buffer is overwritten in a callback.
(Yasuo)
- Added output_add_rewrite_var() and output_remove_rewrite_var() to inject
and remove variables from the URL-Rewriter. (Thies)
- The Windows build can now be configured more comfortably, for example
when dealing with built-in extensions. (Sebastian)
- Added large OID value (2^31 to 2^32) support for pg_lo_import(),
pg_lo_unlink(), pg_lo_open() and pg_lo_export(). (Yasuo)
- Fixed mixing OCIPlogon() and OCINLogon() to not leak Oracle-Sessions. (Thies)
- Added php.ini options for EXIF extension to encode and decode Unicode/JIS
user comments. (Marcus)
- Changed the "-c" CLI/CGI option to allow both 'filename' and
'path to php.ini'. (Yasuo)
- Added version information to the .dll and .exe files created under Windows.
(jtate)
- Added __FUNCTION__ and __CLASS__ constants. (Jani, Zend Engine)
- Added optional 2nd parameter for pg_result_status() to specify return type.
(Yasuo)
- Added "log_errors_max_len" php.ini option which controls maximum length for
error messages. (Marcus)
- Added "ignore_repeated_errors" and "ignore_repeated_source" php.ini options
which can be used to disable logging of repeated error messages. (Marcus)
- Made pg_last_notice() work correctly. (Yasuo)
- Added "pgsql.ignore_notice" and "pgsql.log_notice" php.ini options. (Yasuo)
- Added "zlib.output_compression_level" php.ini option. (Stig)
- Added support for --with-apxs build on Mac OS X / Darwin. (markonen)
- Added support for dynamically loaded extensions on OS X / Darwin.
NOTE: This requires Apache 1.3.25 or later. (kalowsky, markonen)
- Fixed CR/LF processing in quoted_printable_decode() on Win32. (kir)
- Made crack extension available on Win32. Cracklib libraries for Win32 are
available at http://www.jtatesoftware.com/cracklib/. (jtate)
- Added mysql_info() function. (Jan)
- Added mysql_list_processes() and mysql_stat() functions. (Georg)
- Fixed memory allocation problem on systems that have iconv() support in libc.
(Yasuo)
- Made var_dump() handle recursive structures better. (Yasuo, Derick)
- Added exif_imagetype() function. (Marcus)
- New improved build system. Among other improvements, replaces the slow
recursive make with one global Makefile and eases the integration of proper
dependencies. Automake is only needed for its aclocal tool. The build
process is now more portable and less resource-consuming. (Sascha)
06 Sep 2002, Version 4.2.3
- Disabled the fifth parameter in mail() when safe-mode is turned on. (Derick)
- Enable UTF8 modifier support for PCRE on win32. (Wez, Edin)
- Enabled strcoll() on win32. (Markus)
- Fixed possible ASCII control char injection in mail(). (Stefan Esser)
- Fixed a potential crash bug in import_request_variables() (Zeev)
- Fixed several problems with directory functions on Windows. (Steph)
- Fixed xbithack bug in Apache module. (Rasmus)
- Fixed a bug that prevented touch() from working on various platforms. (Steph)
- Fixed ob_gzhandler()'s handling of requests that do have the Accept-Encoding
header, but do not allow compression. (Zeev)
- Fixed several bugs in the multithreaded version that could cause random parse
errors, especially on machines with multiple CPUs. (Zeev, Zend Engine)
- Fixed a build problem in bcmath. (Alan)
- Fixed several bzip2 issues. (Andrei, kalowsky)
- Fixed several COM issues. (Harald)
- Various exif fixes. (Marcus)
- Fixed domxml_xslt_process() and domxml_get_element_by_id() and several
other issues in DOMXML. (Christian)
- Fixed DOMXML crash on removing previously created attributes. (Christian)
- Fixed crash when converting $GLOBALS to an object. (Zeev, Zend Engine)
- Fixed ImageCreateFromGD2Part() (Jani)
- Fixed a build issue in the IMAP extension under IRIX. (kalowsky)
- Fixed a bug in imap_last_error() (Jani)
- Various mbstring fixes. (Yasuo, Rui)
- Fixed a build problem in the mcal extension. (Jani)
- Made MySQL rollback open transactions when the request ends. (Georg)
- Fixed a crash in the shutdown order of the ODBC module. (kalowsky)
- Fixed PCRE build problems. ([email protected])
- Fixed a crash in pg_lo_write() (Yasuo)
- Fixed posix_isatty() and posix_ttyname(). (Markus)
- Fixed accidental pg_lo_import() API change. (Yasuo)
- Fixed ereg_replace() crash when the backreference number was greater than the
number of captured subpatterns. ([email protected])
- Fixed array_rand() on thread-safe platforms such as Windows. (Edin)
- Report the right exit code after a call to exit(). (Edin)
22 Jul 2002, Version 4.2.2
- Fixed serious security vulnerability. (Stefan Esser)
13 May 2002, Version 4.2.1
- Added safe-mode checks to show_source(), parse_ini_file() and rmdir(). Also
fixed security problems with safe_mode_include_dir directive. (Rasmus)
- Changed HTTP upload code to accept 0 byte file uploads. (Zeev)
- Major update of domxml. New functions, better DOM compliance and bug fixes:
* Changed the old $node->append_child() to $node->append_sibling() since
the new append_child() behaves correctly (= W3C standard).
* Added domxml functions:
. domxml_elem_get_elements_by_tagname()
. domxml_doc_get_elements_by_tagname()
. domxml_doc_get_element_by_id()
. domxml_elem_remove_attribute()
. domxml_elem_get_attribute_node()
* Fixed a segfault in domxml_unlink().
* Added formatting option to domxml_dump_mem().
(Uwe, jtate, Chregu)
- Fixed a bug in socket_select() that could cause unexpected behavior when
using a statement like $w = $e = array($sock); This change unfortunately
prevents the use of constant values (e.g. NULL) for the socket array
paramaters. Instead, use a temporary variable or an expression with the
leftmost member being a temporary variable. ex.:
socket_select($w, $r, $e = NULL, 10); (Jason)
- Fixed crashes in the session serializer. (Stas)
- Fixed malformed atime/mtime with touch(). (Yasuo)
- Fixed a couple of bugs in array_sum() and array_merge(). (Andrei)
- Fixed SJIS directory name handling under Windows. (Rui)
- Fixed empty mb_output_handler() output when Content-Type is specified.
(Yasuo)
- Fixed the false logic in ext/session which made SID constant not to be
defined when cookies are disabled. (Sascha)
- Fixed possible crash bug in HTTP uploads. (Patch: Lucas Schroeder)
- Fixed possible NULL-pointer dereferencing in the COM extension which
caused 'Error in php_OLECHAR_to_char()' warnings on various places.
Also modified the API to consistently return NULL in case of an error.
(Alan, Harald)
- Fixed a bug in the COM extension that caused outproc servers to 'hang'
because of a missing Release() call. (Alan, Harald)
22 Apr 2002, Version 4.2.0
- ATTENTION!! register_globals defaults to 'off' now !!!
- Note: Apache2 support is EXPERIMENTAL.
- PostgreSQL functions are renamed, but all old function names are available.
Old function names will be available long enough. User can safely use old
function names. (Yasuo)
- Moved ext/mailparse to PECL. See http://thebrainroom.com/opensource/php/
for more information and to download the extension. (Wez/Jim)
- Fixed pg_last_notice() crash. (Yasuo)
- Modified the mysql extension to disable 'LOAD LOCAL' when safe mode is
enabled. (Jason)
- Added CLI (command line interface) sapi which is more suitable for writing
shell scripts. Some of the differences to CGI sapi are: no HTTP headers,
plain text error messages, does not change working directory, have a new -r
option which executes a piece of PHP code directly from the commmand line, etc.
(Edin)
- Fixed HTTP file upload support to handle big files better. (Jani)
- Major modifications to the Sockets Extension and its API (Jason):
. Fixed numerous bugs.
. Added automatic host lookup capability to all functions that take addr's.
example: socket_connect($sock, 'www.yahoo.com', 80);
. Corrected and standardized host lookup errors
. Modified socket_recv() behavior. [$r=socket_recv($sock, $buf, $len, $flags)]
. Added socket_set_block() which changes a socket into blocking IO mode
. Modified socket_last_error() to not clear the last error
. Added socket_clear_error() which clears the last error on a socket
. Removed all code pertaining to fd_sets (socket_fd_*)
. Modified/Improved socket_select() to accept array of resources instead of
fd_sets. example:
<?php
$wfds=$rfds=array($sock1, $sock2, $sock3, $sock7);
$r=socket_select($rfds, $wfds, NULL, 1);
print "Ready to read:\n"; var_dump($rfds);
?>
- Fixed segfault in ibase_close() if user does not free the resultset.
Bugs #15419, #15992. (daniela)
- Added optional 3rd parameter "int encoding_mode" to gzencode() and fixed
parameters to conform documentation. (Stefan)
- Changed read_exif_data() to be an alias of exif_read_data(). (Marcus)
- Added exif_tagname() function which returns the names of tags and
exif_thumbnail() function to extract embedded thumbnails. (Marcus)
- Fixed iconv support with FreeBSD. (kalowsky)
- Cleaned up the posix extension: (Markus)
. Removed unwanted warning messages
. Added posix_errno() and posix_strerror() for fetching error messages
. Changed the way posix_getgrnam() and posix_getgrgid() return their values
(breaks BC but makes more sense)
. Does not include functions in symbol table which aren't supported on host
system.
- Added TIFF support for getimagesize() and read_exif_data(). (Marcus)
- Changed the Velocis extension namespace to Birdstep to reflect new product
name. Added aliases for BC. (James)
- Added safe_mode checks for opendir(). (jflemer)
- Changed the 2nd parameter in pgsql_fetch_*() functions to support NULL if
all 3 parameters are supplied, but you do not want to provide a row number.
(Derick)
- Improved iconv() when using libc's iconv. (Yasuo)
- Added PHP_SAPI constant which contains the name of running SAPI. (Edin)
- Added ob_get_status() which returns an array of buffers with their status.
(Yasuo)
- Fixed a crash bug in ob_end_*() functions. ob_end_*() will not delete
buffers that may not be deleted. (Yasuo)
- Added 3rd parameter "bool erase" to ob_start(). If FALSE, the buffer may not
be deleted until script finishes. (Yasuo)
- Changed ob_*() functions to return TRUE for success, FALSE for failure.
(Yasuo)
- Added sybase_ct support to dbx module. (Marc)
- Fixed error message handling with PostgreSQL 7.2. (Rui)
- Added object aggregation capability, see aggregation_*() functions. (Andrei)
- Added debug_zval_dump() which works similarly to var_dump, but displays
extra internal information such as refcounts and true type names. (Jason)
- Added Andrei's tokenizer extension. (Stig)
- Fixed a bug in the COM extension which caused php to crash in
php_COM_get_ids_of_names(). (Paul, Harald)
- Removed ext/satellite. It is now part of PEAR. (eriksson)
- Changed php.ini directive 'safe_mode_include_dir' to accept a (semi)colon
separated path (like 'include_path') rather than a single directory.
(jflemer)
- Added is_a() function that can be used to test whether object is of a certain
class or is derived from it. (Andrei, Zend Engine)
- Added optional parameter to highlight_string() and highlight_file() which
makes these functions to return a highlighted string instead of dumping
it to standard output. (Derick)
- Added EXTR_IF_EXISTS and EXTR_PREFIX_IF_EXISTS flags to extract(). (Rasmus)
- Fixed a segfault in pg_pconnect(). If PostgreSQL server is restarted, broken
connection is detected and reconnected. (Yasuo)
- Fixed --enable-safe-mode configure option. (Yasuo)
- Added function domxml_dump_node($doc,$node). Dumps a node plus all children
into a string. (chregu)
- Added function domxml_node_get_content(). (chregu)
- Added function domxml_dump_file($filename,[$compression]). Dumps XML to
a file and uses compression, if specified. (chregu)
- Added exslt integration to domxml extension (http://exslt.org for details).
Configure with --with-dom-exslt[=DIR] (and --with-dom-xslt).
(chregu,jaroslaw)
- Fixed session_unset() to not touch any globals if register_globals is off.
(Thies)
- Added 3 new optional parameters to OCIFetchStatement(). They control
the number of rows to skip at the beginning of the cursor, the
maximun numer of rows that should be fetched and the format of the
returned array. (Thies)
- Updated the XSLT extension to support Sablotron 0.8. (Petr Cimprich)
- Fixed a bug in preg_match() and preg_match_all() when matching strings
contain null bytes. (Andrei)
- Added xpath_register_ns() function. This makes it possible to issue XPath
queries with namespaces like for example: "//namespace:sampletag".
(Chris Jarecki)
- Added multi-byte enabled regular expression functions. (Rui)
- Added optional second parameter to count() which can be used to specify
either normal or recursive counting. (patch by Vlad Bosinceanu <[email protected]>)
- Added mb_get_info() to get internal settings of mbstring. (Rui)
- Added async query functions to PostgreSQL module. (Yasuo)
- Added pg_copy_to()/pg_copy_from() for PostgreSQL module. (Youichi, Yasuo)
- Added IPv6 support for FTP extension. (Stig Venaas)
- Improved the speed of wordwrap() significantly. (Jim)
- Fixed pow()'s incorrect behaviour when dealing with powers of 0. (Jim)
- Added is_finite(), is_infinite() and is_nan(). (Jim)
- Fixed segfault in wordwrap() when wrapping to zero width and using
multi-character break or trying to force cut (bug #12768). (Jim)
- Fixed several bugs in dbase extension (dbase_pack() truncate file to right
size, fix 6852 #1 and 6852 #2). (Vlad)
- Fixed bug in krsort() where an extra character was being compared. (Andi)
- Fixed bug that made pspell include pspell.h from a wrong location. (Vlad)
- Added function overload in mbstring to add multibyte support for
string and mail functions. (Rui)
- Added flags parameter to preg_grep(). The only flag currently is
PREG_GREP_INVERT that will make the function return entries that
did not match. (Andrei)
- Fixed several crash bugs in the xslt extension. (Markus, Derick)
- Fixed problem with dbase not returning very large (larger than long)
integers properly. (Vlad)
- Added concepts to IRCG: bailout-on-trivial issue, write output to
files, fetch a resource upon connection end. (Sascha)
- Fixed POST-related bugs in thttpd, added QUERY_STRING, HTTP_HOST,
HTTP_ACCEPT_LANGUAGE to the script environment, improved patch
to send correct MIME types, and added support for /nocache/. (Sascha)
- Fixed several bugs and memleaks in the domxml extension. (Markus)
- Added var_export() which outputs a representation of a variable as reusable
PHP code. (Derick)
- Added -w option to the CGI-version to strip all comments and whitespace
from the script. (Thies)
- Added support for SO_RCVTIMEO and SO_SNDTIMEO to ext/sockets. (Jason)
- Added ob_get_level() which returns the nesting level of the output buffering
mechanism. (Yasuo, Derick)
- Added ob_flush() and ob_clean() functions which flush and clean an output
buffer without destroying the buffer. (Derick)
- Added new optional parameter to mysql_connect() which forces a new database
link to be created. (Markus, Derick)
- Added ldap_sort() function. (Stig Venaas)
- Added md5_file() function which calculates the MD5 sum of a file.
Patch by Alessandro Astarita <[email protected]> (Derick)
- Added support for parsing recordsets contained in WDDX packets. (Andrei)
- Renamed key_exists() to array_key_exists(). (Derick)
- Fixed ImageColorsForIndex() and ImageColorAt() to work for TrueColor
images. (Rasmus)
- Added support for bind_textdomain_codeset(). ([email protected])
- Added generic Win 32 API extension. (jmoore)
- Removed warning message about NONEXISTENT character set from mysql_connect()
when the server's default character set != latin1. (Mysql Team)
- Added Direct I/O extension for lowlevel access to the POSIX layer. (Sterling)
- Added SAPI module for the WebJames server on RISC OS. (Alex Waugh)
- Fixed ldap_add() and ldap_modify() functions to throw a warning with illegal
value arrays. Previously segfaulted or added wrong value. (Stig Venaas)
- Added udm_check_charset() function into mnoGoSearch extension. (gluke)
- Fixed mnoGoSearch extension to support mnogosearch-3.2.x. (gluke)
- Made fbsql_num_rows() to return the correct value on all select statements.
(Frank)
- Added array_chunk() function which splits an array into chunks of specified
size. (Andrei)
- Fixed $HTTP_RAW_POST_DATA to be populated on a missing content-type when
always_populate_raw_post_data is on. (Rasmus)
- Added session_cache_expire() function. (patch by [email protected]) (Andrei)
- Added array_fill() function. (Rasmus)
- Made Authorization header to be hidden from phpinfo() output in safe_mode.
(Rasmus)
- Re-instated safe-mode realm mangling. (Rasmus)
- Fixed a bug in preg_replace() that would change the type of the replacement
array entries to string. (Andrei)
- Added user-space object overloading extension. (Andrei)
- Added ldap_start_tls() function. (Stig Venaas, patch by [email protected])
- Changed rand() and mt_rand() to be seed automatically if srand() or
mt_srand() has not been called. (Sterling)
- Changed the seed options to srand() and mt_srand() to be optional. If the
seed is not specified the most random seed possible is generated. (Sterling)
- Added array_change_key_case() function which returns an array with all
string keys lowercased or uppercased. (Edin)
- Added parameter to ircg_pconnect to suppress treating non-fatal errors
as fatal, and added conversion of Windows quotes to ". (Sascha)
- Added pcntl_exec() function which behaves similar to the system execve.
(Jason)
- Fixed segfault and check for truecolor image in ImageColorAt(). (Rasmus)
- Fixed nl2br() to handle all styles of line-endings in one string.
(Boian, Derick)
- Added mcrypt_generic_deinit() to replace mcrypt_generic_end(). (Derick)
- Added apache_setenv() function for injecting variables into Apache's
subprocess_env table. (Rasmus)
- Added support for 'int', 'bool', 'float' and 'null' in settype(). (Jeroen)
- Added IPv6 support to gethostbyaddr().
(Patch by Matthias Wimmer <[email protected]> and venaas)
- Fixed LONG_VARCHAR type crashing in ODBC extension. Patch by Walter Franzini.
(kalowsky)
- Changed in_array() and search_array() to allow the needle to be an array
in itself. (Andrei)
- Added ini_get_all() function which returns all registered ini entries
or entries for the specified extension. (Jani)
- Added mailparse_uudecode_all() which extracts all uuencoded attachments.
(Wez)
- Added support for chinese encodings in htmlentities() and htmlspecialchars().
(Patch by Alan Knowles <[email protected]> and Wez)
- Improved support for autoconf-2.50+/libtool 1.4b+. (Jan Kneschke, Sascha)
27 Feb 2002, Version 4.1.2
- Fixed start up failure when mm save handler is used and there are multiple
SAPIs working at the same time. (Yasuo)
- Fixed the Roxen SAPI. (Yasuo)
- Fixed a buffer overflow in the RFC-1867 file upload code. (Stefan)
- Fixed a crash bug in the session module. (Yasuo)
- Fixed a crash bug in the pspell module. (Yasuo)
- Changed the default output encoding of mbstring 'pass' to fix
initialization problem. (Rui)
26 Dec 2001, Version 4.1.1
- Fixed incompatibility with Windows .NET / IIS 6 - may improve stability
under other versions of IIS. (Zeev)
- Fixed bug that caused crashes or error notices on shutdown on threaded
platforms. (Zeev)
- Fixed several crash bugs in the xslt extension. (Markus, Derick)
- Fixed problem with dbase not returning very large (larger than long)
integers properly. (Vlad)
- Fixed several bugs and memleaks in the domxml extension. (Markus)
- Fixed bug in gmmktime() which was one hour off during standard time -
bug #9878. Patch by [email protected]. (jmoore)
- Fixed bug in gmdate() timezone handling on Windows - bug #13885. (jmoore)
- Fixed several crash bugs in the mcrypt extension. (Derick)
- Made the mcrypt extension compile with the libmcrypt 2.2 series again.
(Sterling)
- Fixed a bug where the is_file() family of functions would in-correctly give
an error when they were given filenames that didn't exist. (Sterling)
- Fixed a bug in the strtotime() function where it was incorrectly recognizing
GMT +0100 and GMT -0100. (Derick)
10 Dec 2001, Version 4.1.0
- Fixed return values for strtok (Bug #13866) (jmoore)
- Worked around a bug in the MySQL client library that could cause PHP to hang
when using unbuffered queries. (Zeev)
- Fixed a bug which caused set_time_limit() to affect all subsequent requests
to running Apache child process. (Zeev)
- Removed the sablotron extension in favor of the new XSLT extension.
(Sterling)
- Fixed a bug in WDDX deserialization that would sometimes corrupt the root
element if it was a scalar one. (Andrei)
- Make ImageColorAt() and ImageColorsForIndex() work with TrueColor images.
(Rasmus)
- Fixed a bug in preg_match_all() that would return results under improper
indices in certain cases. (Andrei)
- Fixed a crash in str_replace() that would happen if search parameter was an
array and one of the replacements resulted in subject string being empty.
(Andrei)
- Fixed MySQL extension to work with MySQL 4.0. (Jani)
- Fixed a crash bug within Cobalt systems. Patch by [email protected]. (Jani)
- Bundled Dan Libby's xmlrpc-epi extension.
- Introduced extension version numbers. (Stig)
- Added version_compare() function. (Stig)
- Fixed pg_last_notice() (could cause random crashes in PostgreSQL
applications, even if they didn't use pg_last_notice()). (Zeev)
- Fixed DOM-XML's error reporting, so E_WARNING errors are given instead of
E_ERROR error's, this allows you to trap errors thrown by DOMXML functions.
(Sterling)
- Fixed a bug in the mcrypt extension, where list destructors were not
properly being allocated. (Sterling)
- Better Interbase blob, null and error handling. (Patch by Jeremy Bettis)
- Fixed a crash bug in array_map() if the input arrays had string or
non-sequential keys. Also modified it so that if a single array is passed,
its keys are preserved in the resulting array. (Andrei)
- Fixed a crash in dbase_replace_record. (Patch by [email protected])
- Fixed a crash in msql_result(). (Zeev)
- Added support for single dimensional SafeArrays and Enumerations.
Added com_isenum() function to check if a component implements an
enumeration. (Alan, Harald)
- Fixed a bug in dbase_get_record() and dbase_get_record_with_names().
boolean fields are now returned correctly.
Patch by Lawrence E. Widman <[email protected]> (Jani)
- Added --version option to php-config. (Stig)
- Improved support for thttpd-2.21b by incorporating patches for all known
bugs. (Sascha)
- Added ircg_get_username, a roomkey argument to ircg_join, error fetching
infrastructure, a tokenizer to speed up message processing, and fixed
a lot of bugs in the IRCG extension. (Sascha)
- Improved speed of the serializer/deserializer. (Thies, Sascha)
- Floating point numbers are better detected when converting from strings.
(Zeev, Zend Engine)
- Replaced php.ini-optimized with php.ini-recommended. As the name implies,
it's warmly recommended to use this file as the basis for your PHP
configuration, rather than php.ini-dist. (Zeev)
- Restore xpath_eval() and php_xpathptr_eval() for 4.0.7. There
are still some known leaks. (Joey)
- Added import_request_variables(), to allow users to safely import form
variables to the global scope (Zeev)
- Introduced a new $_REQUEST array, which includes any GET, POST or COOKIE
variables. Like the other new variables, this variable is also available
regardless of the context. (Andi & Zeev)
- Introduced $_GET, $_POST, $_COOKIE, $_SERVER and $_ENV variables, which
deprecate the old $HTTP_*_VARS arrays. In addition to be much shorter to
type - these variables are also available regardless of the scope, and
there's no need to import them using the 'global' statement. (Andi & Zeev)
- Added vprintf() and vsprintf() functions that allow passing all arguments
after format as an array. (Andrei)
- Added support for GD2 image type for ImageCreateFromString(). (Jani)
- Added ImageCreateFromGD(), ImageCreateFromGD2(), ImageCreateFromGD2part(),
ImageGD() and ImageGD2() functions. (Jani)
- addcslashes now warns when charlist is invalid. The returned string
remained the same (Jeroen)
- Added optional extra argument to gmp_init(). The extra argument
indicates which number base gmp should use when converting a
string to the gmp-number. (Troels)
- Added the Cyrus-IMAP extension, which allows a direct interface to Cyrus'
more advanced capabilities. (Sterling)
- Enhanced read_exif_data() to support multiple comment tags. (Rasmus)
- Fixed a crash bug in array_map() when NULL callback was passed in. (Andrei)
- Change from E_ERROR to E_WARNING in the exif extension (Rasmus)
- New pow() implementation, which returns an integer when possible,
and warnings on wrong input (jeroen)
- Added optional second parameter to trim, chop and ltrim. You can
now specify which characters to trim (jeroen)
- Hugely improved the performance of the thread-safe version of PHP, especially
under Windows (Andi & Zeev)
- Improved request-shutdown performance significantly (Andi & Zeev, Zend
Engine)
- Added a few new math functions. (Jesus)
- Bump bundled expat to 1.95.2 (Thies)
- Improved the stability of OCIPlogon() after a database restart. (Thies)
- Fixed __FILE__ in the CGI & Java servlet modes when used in the main script.
It only worked correctly in included files before this fix (Andi)
- Improved the Zend hash table implementation to be much faster (Andi, Zend
Engine)
- Updated PHP's file open function (used by include()) to check in the calling
script's directory in case the file can't be found in the include_path (Andi)
- Fixed a corruption bug that could cause constants to become corrupted, and
possibly prevent resources from properly being cleaned up at the end of
a request (Zeev)
- Added optional use of Boyer-Moore algorithm to str_replace() (Sascha)
- Fixed and improved shared-memory session storage module (Sascha)
- Add config option (always_populate_raw_post_data) which when enabled
will always populate $HTTP_RAW_POST_DATA regardless of the post mime
type (Rasmus)
- Added support for socket and popen file types to ftp_fput (Jason)
- Fixed various memory leaks in the LDAP extension (Stig Venaas)
- Improved interactive mode - it is now available in all builds of PHP, without
any significant slowdown (Zeev, Zend Engine)
- Fixed crash in iptcparse() if the supplied data was bogus. (Thies)
- Fixed return value for a failed snmpset() - now returns false (Rasmus)
- Added hostname:port support to snmp functions ([email protected], Rasmus)
- Added fdf_set_encoding() function (Masaki YATSU, Rasmus)
- Reversed the destruction-order of resources. This fixes the reported OCI8
"failed to rollback outstanding transactions!" message (Thies, Zend Engine)