Skip to content

Commit 110e0a5

Browse files
committedJun 14, 2015
Merge branch 'master' into throwable-interface
# Conflicts: # Zend/zend_language_scanner.c # Zend/zend_language_scanner.l # ext/simplexml/tests/SimpleXMLElement_xpath.phpt
2 parents 5c54bf0 + 6cb7b48 commit 110e0a5

File tree

348 files changed

+19373
-14081
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

348 files changed

+19373
-14081
lines changed
 

‎CONTRIBUTING.md‎

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Contributing to PHP
2+
3+
Anybody who programs in PHP can be a contributing member of the community that
4+
develops and deploys it; the task of deploying PHP, documentation and
5+
associated websites is a never ending one. With every release, or release
6+
candidate comes a wave of work, which takes a lot of organization and
7+
co-ordination.
8+
9+
## Pull requests
10+
11+
PHP welcomes pull requests to [add tests](#writing-tests), fix bugs and to
12+
implement RFCs. Please be sure to include tests as appropriate!
13+
14+
If you are fixing a bug, then please submit your PR against the lowest branch
15+
of PHP that the bug affects, or the oldest fully supported version (the first
16+
green branch on
17+
[the supported version page](http://php.net/supported-versions.php). For
18+
example, at the time of writing in mid-2015, this is PHP 5.5, which corresponds
19+
to the `PHP-5.5` branch in Git. Please also make sure you add a link to the PR
20+
in the bug on [the bug tracker](https://bugs.php.net/).
21+
22+
Pull requests to implement RFCs should be submitted against `master`.
23+
24+
## Filing bugs
25+
26+
Bugs can be filed on the [PHP bug tracker](https://bugs.php.net/). If this is
27+
the first time you've filed a bug, we suggest reading the
28+
[guide to reporting a bug](https://bugs.php.net/how-to-report.php).
29+
30+
Where possible, please include a self-contained reproduction case!
31+
32+
## Feature requests
33+
34+
Feature requests are generally submitted in the form of
35+
[Requests for Comment](https://wiki.php.net/rfc/howto), ideally accompanied by
36+
[pull requests](#pull-requests). You can find the extremely large list of RFCs
37+
that have been previously considered on the
38+
[PHP Wiki](https://wiki.php.net/rfc).
39+
40+
You may want to read
41+
[The Mysterious PHP RFC Process](https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process)
42+
for additional notes on the best way to approach submitting an RFC.
43+
44+
## Writing tests
45+
46+
We love getting new tests! PHP is a huge project and improving code coverage is
47+
a huge win for every PHP user.
48+
49+
[Our QA site includes a page detailing how to write test cases.](http://qa.php.net/write-test.php)
50+
Please note that the section on submitting pull requests is outdated: in
51+
addition to the process listed there, you can also
52+
[submit pull requests](#pull-requests).
53+
54+
## Writing documentation
55+
56+
There are two ways to contribute to the PHP manual. You can edit the manual and
57+
send patches anonymously via [the online editor](https://edit.php.net/), or you
58+
can check the XML source out from Subversion and edit that and build it
59+
[per the instructions on the documentation site](http://doc.php.net/tutorial/).
60+
Patches created that way should be sent to the
61+
[documentation mailing list](mailto:phpdoc@lists.php.net).
62+
63+
## Getting help
64+
65+
If you are having trouble contributing to PHP, or just want to talk to a human
66+
about what you're working on, you can contact us via the
67+
[internals mailing list](mailto:internals@lists.php.net), or the
68+
[documentation mailing list](mailto:phpdoc@lists.php.net) for documentation
69+
issues.
70+
71+
Although not a formal channel, you can also find a number of core developers on
72+
the #php.pecl channel on [EFnet](http://www.efnet.org/). Similarly, many
73+
documentation writers can be found on #php.doc.

‎Makefile.global‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,5 +130,18 @@ distclean: clean
130130
fi
131131
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
132132

133-
.PHONY: all clean install distclean test
133+
prof-gen:
134+
CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-generate all
135+
136+
prof-clean:
137+
find . -name \*.lo -o -name \*.o | xargs rm -f
138+
find . -name \*.la -o -name \*.a | xargs rm -f
139+
find . -name \*.so | xargs rm -f
140+
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
141+
142+
prof-use:
143+
CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-use all
144+
145+
146+
.PHONY: all clean install distclean test prof-gen prof-clean prof-use
134147
.NOEXPORT:

‎NEWS‎

Lines changed: 60 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,40 @@
1-
PHP NEWS
1+
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? 20??, PHP 7.0.0
3+
25 Jun 2015, PHP 7.0.0 Alpha 2
44

5-
- CLI server:
6-
. Refactor MIME type handling to use a hash table instead of linear search.
7-
(Adam)
8-
. Update the MIME type list from the one shipped by Apache HTTPD. (Adam)
9-
. Added support for SEARCH WebDav method. (Mats Lindh)
5+
- Core:
6+
. Fixed bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33
7+
extensions are loaded). (Laruence)
8+
. Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name).
9+
(Laruence)
10+
. Fixed bug #69761 (Serialization of anonymous classes should be prevented).
11+
(Laruence)
12+
. Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation
13+
fault). (Christoph M. Becker)
14+
. Fixed bug #69781 (phpinfo() reports Professional Editions of Windows
15+
7/8/8.1/10 as "Business"). (Christian Wenz)
16+
17+
- mysqlnd:
18+
. Fixed Bug #69796 (mysqli_stmt::fetch doesn't assign null values to
19+
bound variables). (Laruence);
20+
21+
- Curl:
22+
. Fixed bug #69831 (Segmentation fault in curl_getinfo). (im dot denisenko at
23+
yahoo dot com)
24+
25+
- PDO_pgsql:
26+
. Fixed bug #69752 (PDOStatement::execute() leaks memory with DML
27+
Statements when closeCuror() is u). (Philip Hofstetter)
28+
29+
11 Jun 2015, PHP 7.0.0 Alpha 1
1030

1131
- Core:
32+
. Fixed bug #69767 (Default parameter value with wrong type segfaults).
33+
(cmb, Laruence)
34+
. Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency
35+
? with ===). (Dmitry, Laruence)
36+
. Fixed bug #69758 (Item added to array not being removed by array_pop/shift
37+
). (Laruence)
1238
. Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method').
1339
(Julien, Aaron Piotrowski)
1440
. Fixed bug #69485 (Double free on zend_list_dtor). (Laruence)
@@ -77,7 +103,16 @@
77103
. Implemented the RFC `Constructor behaviour of internal classes`. (Dan, Dmitry)
78104
. Implemented the RFC `Fix "foreach" behavior`. (Dmitry)
79105
. Implemented the RFC `Generator Delegation`. (Bob)
80-
. Implemented the RFC ` Anonymous Class Support`. (Joe, Nikita, Dmitry)
106+
. Implemented the RFC `Anonymous Class Support`. (Joe, Nikita, Dmitry)
107+
. Implemented the RFC `Context Sensitive Lexer`. (Marcio Almada)
108+
. Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink).
109+
(Jan Starke, Anatol)
110+
111+
- CLI server:
112+
. Refactor MIME type handling to use a hash table instead of linear search.
113+
(Adam)
114+
. Update the MIME type list from the one shipped by Apache HTTPD. (Adam)
115+
. Added support for SEARCH WebDav method. (Mats Lindh)
81116

82117
- Curl:
83118
. Fixed bug #68937 (Segfault in curl_multi_exec). (Laruence)
@@ -104,6 +139,7 @@
104139

105140
- GD:
106141
. Made fontFetch's path parser thread-safe. (Sara)
142+
. Removed T1Lib support. (Kalle)
107143

108144
- Fileinfo:
109145
. Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB)
@@ -117,7 +153,7 @@
117153
. Implement request #67106 (Split main fpm config). (Elan Ruusamäe, Remi)
118154

119155
- FTP:
120-
. Fixed bug #69082 FTPS support on Windows
156+
. Fixed bug #69082 (FTPS support on Windows). (Anatol)
121157

122158
- Intl:
123159
. Removed deprecated aliases datefmt_set_timezone_id() and
@@ -135,12 +171,18 @@
135171
- LiteSpeed:
136172
. Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang)
137173

174+
- libxml:
175+
. Fixed handling of big lines in error messages with libxml >= 2.9.0.
176+
(Christoph M. Becker)
177+
138178
- Mcrypt:
139179
. Fixed possible read after end of buffer and use after free. (Dmitry)
140180
. Removed mcrypt_generic_end() alias. (Nikita)
141181
. Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb(). (Nikita)
142182

143183
- Opcache:
184+
. Fixed bug #69688 (segfault with eval and opcache fast shutdown).
185+
(Laruence)
144186
. Added experimental (disabled by default) file based opcode cache.
145187
(Dmitry, Laruence, Anatol)
146188
. Fixed bug with try blocks being removed when extended_info opcode
@@ -181,6 +223,8 @@
181223
- Reflection
182224
. Fixed inheritance chain of Reflector interface. (Tjerk)
183225
. Added ReflectionGenerator class. (Bob)
226+
. Added reflection support for return types and type declarations. (Sara,
227+
Matteo)
184228

185229
- Session:
186230
. Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
@@ -198,13 +242,14 @@
198242
nor curruption state). (Julien)
199243
. Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME
200244
breaks the RecursiveIterator). (Paul Garvin)
201-
. Fixed bug #68479 (Added escape parameter to SplFileObject::fputcsv). (Salathe)
202245

203246
- Sqlite3:
204247
. Fixed bug #68260 (SQLite3Result::fetchArray declares wrong
205248
required_num_args). (Julien)
206249

207250
- Standard:
251+
. Fixed bug #69723 (Passing parameters by reference and array_column).
252+
(Laruence)
208253
. Fixed bug #69523 (Cookie name cannot be empty). (Christoph M. Becker)
209254
. Fixed bug #69325 (php_copy_file_ex does not pass the argument).
210255
(imbolk at gmail dot com)
@@ -220,7 +265,11 @@
220265
. Fixed bug #65272 (flock() out parameter not set correctly in windows).
221266
(Daniel Lowrey)
222267
. Added preg_replace_callback_array function. (Wei Dai)
223-
. Deprecated salt option to password_hash. (Anthony)
268+
. Deprecated salt option to password_hash. (Anthony)
269+
. Fixed bug #69686 (password_verify reports back error on PHP7 will null
270+
string). (Anthony)
271+
. Added Windows support for getrusage(). (Kalle)
272+
. Removed hardcoded limit on number of pipes in proc_open(). (Tony)
224273

225274
- Streams:
226275
. Fixed bug #68532 (convert.base64-encode omits padding bytes).

‎UPGRADING‎

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,10 @@ Other
461461
IntlDateFormatter::setTimeZoneID(). Use datefmt_set_timezone() and
462462
IntlDateFormatter::setTimeZone() instead.
463463

464+
- libxml:
465+
. Added LIBXML_BIGLINES parser option. It's available starting with libxml 2.9.0
466+
and adds suppport for line numbers >16-bit in the error reporting.
467+
464468
- Mcrypt
465469
. Removed deprecated mcrypt_generic_end() alias in favor of
466470
mcrypt_generic_deinit().
@@ -488,7 +492,7 @@ Other
488492

489493
- PCRE:
490494
. Removed support for /e (PREG_REPLACE_EVAL) modifier. Use
491-
preg_reaplace_callback() instead.
495+
preg_replace_callback() instead.
492496

493497
- PDO_pgsql:
494498
. Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
@@ -530,6 +534,12 @@ Other
530534
(RFC: https://wiki.php.net/rfc/combined-comparison-operator)
531535
. Added the yield from operator for delegating Generators like coroutines.
532536
(RFC: https://wiki.php.net/rfc/generator-delegation)
537+
. Reserved keywords can now be used in various new contexts.
538+
(RFC: https://wiki.php.net/rfc/context_sensitive_lexer)
539+
. Added support for scalar type declatarations and strict mode using
540+
declare(strict_types=1) (RFC: https://wiki.php.net/rfc/scalar_type_hints_v5)
541+
. Added support for cryptographically secure user land RNG
542+
(RFC: https://wiki.php.net/rfc/easy_userland_csprng)
533543

534544
- OpenSSL
535545
. Added "alpn_protocols" SSL context option allowing encrypted client/server
@@ -538,7 +548,12 @@ Other
538548
accessible through stream_get_meta_data() output.
539549

540550
- Reflection
541-
. Added a ReflectionGenerator class (yield from Traces, current file/line etc.)
551+
. Added a ReflectionGenerator class (yield from Traces, current file/line,
552+
etc.)
553+
. Added a ReflectionType class to better support the new return type and
554+
scalar type declarations features. The new ReflectionParameter::getType()
555+
and ReflectionFunctionAbstract::getReturnType() methods both return an
556+
instance of ReflectionType.
542557

543558
========================================
544559
3. Changes in SAPI modules
@@ -575,6 +590,10 @@ Other
575590
acceptable classes:
576591
unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]);
577592

593+
- proc_open():
594+
The maximum number of pipes used by proc_open() was previously limited by
595+
hardcoded value of 16. This limit is now removed and the number of pipes is
596+
effectively limited by the amount of memory available to PHP.
578597

579598
========================================
580599
6. New Functions
@@ -611,15 +630,25 @@ Other
611630
- sapi/continuity
612631
- sapi/isapi
613632
- sapi/milter
633+
- sapi/nsapi
614634
- sapi/phttpd
615635
- sapi/pi3web
616636
- sapi/roxen
617637
- sapi/thttpd
618638
- sapi/tux
619639
- sapi/webjames
620640
- ext/mssql
641+
- ext/mysql
621642
- ext/sybase_ct
622-
For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
643+
- ext/ereg
644+
645+
For more details see
646+
647+
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
648+
https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
649+
650+
NOTE NSAPI was not voted in the RFC, however it was removed afterwards. It turned
651+
out, that the corresponding SDK isn't available anymore.
623652

624653
========================================
625654
9. Other Changes to Extensions
@@ -643,6 +672,23 @@ For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
643672
. ZLIB_BLOCK
644673
. ZLIB_FINISH
645674

675+
- GD
676+
. T1Lib support removed, thus lifting the optional dependency on T1Lib, the
677+
following is therefore not available anymore:
678+
679+
Functions:
680+
- imagepsbbox()
681+
- imagepsencodefont()
682+
- imagepsextendedfont()
683+
- imagepsfreefont()
684+
- imagepsloadfont()
685+
- imagepsslantfont()
686+
- imagepstext()
687+
688+
Resources:
689+
- 'gd PS font'
690+
- 'gd PS encoding'
691+
646692
========================================
647693
11. Changes to INI File Handling
648694
========================================
@@ -659,6 +705,7 @@ For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
659705
- Core
660706
. Support for native 64 bit integers in 64 bit builds.
661707
. Support for large files in 64 bit builds.
708+
. Support for getrusage()
662709

663710
- ftp
664711
. The ftp extension is always shipped shared

0 commit comments

Comments
 (0)