Skip to content
forked from php/php-src

sync master #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 261 commits into from
Oct 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
ef9ab91
Use assertion for null-termination string
nikic Sep 21, 2020
c5f93d1
Fix detection of code outside namespace
nikic Sep 21, 2020
9f074a5
Move arm64 job to cron
nikic Sep 21, 2020
4c821cf
Improve default value handling of Exception constructors
kocsismate Sep 19, 2020
8e0789a
Use proper parameter type in Closure::bindTo() signature
nikic Sep 21, 2020
3642592
Remove unnecessary check
nikic Sep 21, 2020
d085a74
Assert on unknown list entry type
nikic Sep 21, 2020
213b666
Synchronize GET_CLASS/GET_CALLED_CLASS opcodes with functions
nikic Sep 21, 2020
e55f0c7
Promote warnings to Error in COM extension
Girgias Sep 16, 2020
6f76817
Remove dead code
nikic Sep 21, 2020
5bb41fa
Promote PDORow property write to Error
nikic Sep 21, 2020
d1bbc39
pg_unescape_bytea() can only fail on OOM
nikic Sep 21, 2020
9746490
Drop some connection retries in IMAP test
Girgias Sep 21, 2020
e95fa3e
Fix a few Iterator signatures
kocsismate Sep 21, 2020
19c8445
Fix mmap copying
cmb69 Sep 21, 2020
6fa2493
Merge branch 'PHP-7.4' into master
cmb69 Sep 21, 2020
3e33e1e
Check linker compatibility directly from HMODULE
cmb69 Aug 5, 2020
68a9075
Remove redundant check
nikic Sep 21, 2020
54f03d3
Promote invalid field to ValueError in pgsql
nikic Sep 21, 2020
edf2296
Make constant redeclaration a warning
nikic Sep 21, 2020
d60c43e
Convert exception instanceof checks to assertions
nikic Sep 21, 2020
fb4554e
Throw warning for failed object to int/float conversion
nikic Sep 21, 2020
8ff2f2f
Return empty array for no rows in pg_fetch_all()
nikic Sep 21, 2020
2b6f5ee
Drop Hex support in numeric strings for Intl collator
Girgias Sep 21, 2020
ddd99a7
Drop -1 mode for collator_is_numeric()
Girgias Sep 21, 2020
5a08577
Fixed incorrect JIT for FETCH_THIS+SEND_REF
dstogov Sep 21, 2020
2ee7e29
Promote count() warning to TypeError
Girgias Sep 21, 2020
4ff2122
Ficed 32-bit JIT (inconsistent CPU stack state)
dstogov Sep 21, 2020
43e58d3
Fixed incorrect assumption about sizeof(zend_reference)
dstogov Sep 21, 2020
57a3fbb
Fixed INIT_METHOD_CALL + IS_VAR + reference in tracing JIT
dstogov Sep 21, 2020
8f3a38d
Fixed minor typo in comment
eltociear Sep 22, 2020
ade57e6
substr_replace() cannot return false
nikic Sep 22, 2020
12e772f
Promote substr_replace warnings
nikic Sep 22, 2020
5d9ab53
Check string bounds in strspn/strcspn
nikic Sep 22, 2020
d0fb2f4
substr_compare() cannot return false
nikic Sep 22, 2020
84be22f
Validate phonemes parameter of metaphone()
nikic Sep 22, 2020
0fbebfd
html_entity_decode() cannot fail
nikic Sep 22, 2020
e547ea4
http_build_query() cannot fail
nikic Sep 22, 2020
f26d855
Skip if https wrapper isn't present
morrisonlevi Sep 22, 2020
aba0ee7
Don't return false for empty string in soundex()
nikic Sep 22, 2020
9ef2c5c
stream_get_transports/wrappers cannot return false
nikic Sep 22, 2020
e60f927
stream_bucket_new() cannot return false
nikic Sep 22, 2020
fdd9018
Support uuencoding empty string
nikic Sep 22, 2020
12d087c
Use C zpp for get_class_vars()
nikic Sep 22, 2020
4000780
Fix #79423: copy command is limited to size of file it can copy
cmb69 Sep 9, 2020
f445e9c
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 22, 2020
d893404
Merge branch 'PHP-7.4' into master
cmb69 Sep 22, 2020
048cc9b
Convert unpack offset warning to ValueError
nikic Sep 22, 2020
de77344
Promote pack/unpack format errors
nikic Sep 22, 2020
35013ac
Skip IMAP test which chokes on ASAN build
Girgias Sep 22, 2020
5ed0602
Fix #76943: Inconsistent stream_wrapper_restore() errors
cmb69 Sep 22, 2020
ff0f6c2
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 22, 2020
544dbe8
Merge branch 'PHP-7.4' into master
cmb69 Sep 22, 2020
1312c41
Fix grapheme out of bounds check
nikic Sep 22, 2020
6436ddb
Handle out-of-bounds offset consistently in grapheme_* API
nikic Sep 22, 2020
73631e5
Try to fix test
nikic Sep 22, 2020
7fde991
Refactor imap_mail()'s internal implementation to use zend_strings
Girgias Sep 21, 2020
5d7d5e2
Add proper default values for optional arguments in IMAP
Girgias Sep 21, 2020
82e14ff
Drop usage of E_RECOVERABLE_ERROR in Session extension
Girgias Sep 22, 2020
8fef83d
Promote warnings to error in DOM extension
Girgias Apr 19, 2020
3dde6fc
Fix extra args leak
dstogov Sep 22, 2020
c2a2d24
Fix double free on unpack error
nikic Sep 22, 2020
1e9db80
Tweak some macro definition on Windows
Girgias May 20, 2020
4222ae1
SplFixedArray is Aggregate, not Iterable
alexdowad May 11, 2020
dafc72c
for consistency use for all *Name methods
remicollet Sep 23, 2020
7fedee8
Fix shift ub
nikic Sep 23, 2020
72e8719
Fix a few ZEND_UNREACHABLE() calls
kocsismate Sep 23, 2020
625d846
Consistent error handling for fgetcsv/fputcsv
nikic Sep 22, 2020
9439d65
Fix #77493: curl_basic_009 fails with newer curl versions
cmb69 Sep 23, 2020
d30ec2c
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 23, 2020
d211373
Merge branch 'PHP-7.4' into master
cmb69 Sep 23, 2020
2576c57
Fix #76735: Incorrect message in fopen on invalid mode
cmb69 Sep 22, 2020
a89ac98
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 23, 2020
05edf64
Merge branch 'PHP-7.4' into master
cmb69 Sep 23, 2020
47b2e44
Fix test case
cmb69 Sep 23, 2020
821f6bb
Clean up file created during testing
cmb69 Sep 23, 2020
6a4eeb1
Improve PDO::inTransaction() support for MySQL
twose Dec 10, 2019
1fcd6cd
Fix #80139: copy_variation5.phpt fails when run on bind mount
cmb69 Sep 23, 2020
9623756
Remove unused --temp-urlbase option from run-tests.php
nikic Sep 23, 2020
3c4fb70
Replace ZEND_JIT_TRACE_STOP_RETURN_HALT and ZEND_JIT_TRACE_STOP_HALT …
dstogov Sep 23, 2020
2556967
Promote warnings to Error in IMAP extension
Girgias Sep 17, 2020
5783e61
Improve trace selection (avoid blacklisting of trace that may be link…
dstogov Sep 23, 2020
ffa5716
Clear error flag instead of toggling it
cmb69 Sep 23, 2020
be4553b
More precise type in mysqli_result constructor
nikic Sep 24, 2020
450f2ff
Skip unnecessary unknown() frames
nikic Sep 23, 2020
c25b5c6
Fix test for cases where data sources are available
cmb69 Sep 24, 2020
610e7d2
Fix #78470: odbc_specialcolumns() no longer accepts $nullable
cmb69 Sep 24, 2020
901d022
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 24, 2020
555e7ec
Merge branch 'PHP-7.4' into master
cmb69 Sep 24, 2020
9428e16
Add option to print parameter name stats to gen_stub
nikic Sep 24, 2020
ae86ede
Skip imap_lsub_basic.phpt under asan
nikic Sep 24, 2020
e74f89d
Use proper skipif section
cmb69 Sep 24, 2020
54cbee5
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 24, 2020
553072b
Merge branch 'PHP-7.4' into master
cmb69 Sep 24, 2020
25b9ba8
Update fileinfo parameter names
nikic Sep 24, 2020
9d9bcc2
Improve parameter names in ext/hash and ext/openssl
kocsismate Sep 17, 2020
9b50fd2
Fix UNKNOWN default values in ext/odbc
kocsismate Sep 17, 2020
3277cb6
Remove outdated link to bug report
cmb69 Sep 24, 2020
17a789e
Fix #64937: Firebird PDO preprocessing sql
sim1984 Dec 18, 2019
13b791c
Normalize substr() behavior
nikic Sep 22, 2020
56fb686
Unify 32-bit/64-bit str_split tests
nikic Sep 25, 2020
f6024a9
Improve parameter names in ext/curl
kocsismate Sep 17, 2020
166178a
Update ext/odbc stub hash
kocsismate Sep 25, 2020
41b096b
Promote a few forgotten warnings to exceptions
kocsismate Sep 25, 2020
43ce18f
Add proper count() parameter type
nikic Sep 25, 2020
439878c
Rename $qualifier/$owner params to $catalog/$schema
cmb69 Sep 24, 2020
a49555a
Fix #80147: BINARY strings may not be properly zero-terminated
cmb69 Sep 25, 2020
1086e4e
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 25, 2020
3d14880
Merge branch 'PHP-7.4' into master
cmb69 Sep 25, 2020
8067cf4
Use callable type in register_shutdown_function()
nikic Sep 25, 2020
4116108
Drop do_bind argument in do_fetch(_common)() in PDO
Girgias Sep 25, 2020
0cc7267
Inverse logic in do_fetch() to reduce a level of indentation
Girgias Sep 25, 2020
4dfbf07
Fix logic error in PDO
Girgias Sep 25, 2020
ef385e8
Merge branch 'PHP-7.3' into PHP-7.4
Girgias Sep 25, 2020
3c10d4d
Merge branch 'PHP-7.4'
Girgias Sep 25, 2020
a91cb2f
Promote warning to ValueError for Spoofchecker::setRestrictionLevel()
Girgias Sep 23, 2020
e42abea
Pass zend_execute_data instead of zend_function to fcall init
SammyK Sep 24, 2020
43ce784
Skip test with ICU version < 58
mbeccati Sep 26, 2020
0216630
Fix bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12 b…
smalyshev Sep 27, 2020
6559fe9
Do not decode cookie names anymore
smalyshev Sep 21, 2020
5686c16
Honor strict_types=1 for attributes, improve backtraces
nikic Sep 23, 2020
2772751
Make constexpr compilation robust against multiple compilation
nikic Sep 27, 2020
36ed996
Allow attributes to be applied to property/constant groups
nikic Sep 22, 2020
3b34d74
Clean up spl_fixedarray.c
morrisonlevi Sep 27, 2020
02dc9ce
Rename mysqli parameters to be more logical
Crell Sep 20, 2020
8138ed7
Make mysqli_warning constructor private
nikic Sep 24, 2020
d411ea2
Fixed test for MySQL < 5.6
mbeccati Sep 28, 2020
cafceea
Update mbstring parameter names
nikic Sep 24, 2020
0a573f9
Skip one more imap test under asan
nikic Sep 28, 2020
9e3f352
Throw warning for invalid iconv charset
nikic Sep 28, 2020
6dd8401
Missed opline guard
dstogov Sep 28, 2020
978a44c
Simplify iconv_strpos implementation
nikic Sep 28, 2020
07a2f30
Extensions should have the final say on their compiler flags
Girgias Sep 24, 2020
4216830
Consistently handle out of bounds offsets in iconv_strpos()
nikic Sep 28, 2020
d1ddccd
Fixed usage of invalid frame for exit point
dstogov Sep 28, 2020
1efbc2c
Remove unused XSL_DOMOBJ_NEW() macro
nikic Sep 28, 2020
2f601d8
Promote warnings in ext/xsl
nikic Sep 28, 2020
2a71cb3
Improved trace selection rules
dstogov Sep 28, 2020
189751c
Promote notice to ValueError for invalid hint key
Girgias Sep 28, 2020
c3206c2
Dump class names
dstogov Sep 28, 2020
9fab1b9
Drop ZPP check in PDO MySQLi test
Girgias Sep 25, 2020
24e2ba2
Do not register quoter handler in ODBC
Girgias Sep 28, 2020
a5cf828
Make various failure conditions in PDO unconditional errors
Girgias Sep 24, 2020
7553c69
Another pass making some failure states unconditional erros in PDO
Girgias Sep 28, 2020
f722512
Move invariant type guard out of loop
dstogov Sep 28, 2020
6acfb79
Fix #67465: NULL Pointer dereference in odbc_handle_preparer
cmb69 Sep 28, 2020
f1d8395
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 28, 2020
99b3631
Merge branch 'PHP-7.4' into master
cmb69 Sep 28, 2020
ea03cbe
Update PDO parameters for named arguments.
Crell Sep 26, 2020
7bc112a
Update NEWS & UPGRADING
smalyshev Sep 29, 2020
311922d
Update UPGRADING
smalyshev Sep 29, 2020
626705f
Update UPGRADING
smalyshev Sep 29, 2020
a9e4321
Merge branch 'PHP-7.2' into PHP-7.3
smalyshev Sep 29, 2020
2f5cb70
Fix bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12 b…
smalyshev Sep 27, 2020
95e1a41
Do not decode cookie names anymore
smalyshev Sep 21, 2020
c4dc080
Merge branch 'PHP-7.3' into PHP-7.4
smalyshev Sep 29, 2020
e14f835
Merge branch 'PHP-7.4'
smalyshev Sep 29, 2020
af500b8
[ci skip] typo
remicollet Sep 29, 2020
035ad0a
Merge branch 'PHP-7.2' into PHP-7.3
remicollet Sep 29, 2020
e5b045e
Merge branch 'PHP-7.3' into PHP-7.4
remicollet Sep 29, 2020
e1e2553
Merge branch 'PHP-7.4'
remicollet Sep 29, 2020
060fde4
Add call_user_func_array() backward incompatible change
zeriyoshi Sep 25, 2020
205556c
Synchronize php.ini-development and php.ini-production
thg2k Sep 28, 2020
45b0716
Merge branch 'PHP-7.4'
nikic Sep 29, 2020
2899137
Fix bug #80138
makadev Sep 23, 2020
f5afd0a
Fix bug #80137
makadev Sep 23, 2020
1fafcd2
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 29, 2020
de2d38d
Merge branch 'PHP-7.4'
nikic Sep 29, 2020
df5efa2
Fix #80150: Failure to fetch error message
cmb69 Sep 25, 2020
7aa2d35
Zend parameter renames amendment
kocsismate Sep 28, 2020
0ec6452
Rename a few parameters in ext/filter
kocsismate Sep 28, 2020
e08f691
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 29, 2020
e195992
Reflection param renames amendment
kocsismate Sep 28, 2020
351776e
Make the $filter parameter of ReflectionClass::get*Constants() nullable
kocsismate Sep 29, 2020
5f5eba1
Merge branch 'PHP-7.4' into master
cmb69 Sep 29, 2020
3928b6b
Fixed unintended disabling of Optimizer for preloaded scripts introdu…
dstogov Sep 29, 2020
8d9da8d
Merge branch 'PHP-7.4'
dstogov Sep 29, 2020
9f5a771
Fix #22986: odbc_connect() may reuse persistent connection
cmb69 Sep 27, 2020
47a166c
Fix #78792: zlib.output_compression disabled by Content-Type: image/
cmb69 Sep 23, 2020
bf5f07c
Fix #80152: odbc_execute() moves internal pointer of $params
cmb69 Sep 26, 2020
b87e43d
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 29, 2020
a0051be
Merge branch 'PHP-7.4' into master
cmb69 Sep 29, 2020
a6ecafe
Use external iterator instead of via the internal pointer
cmb69 Sep 29, 2020
dddb403
Keep track information about used JIT trigger in ZEND_FUNC_INFO(op_ar…
dstogov Sep 29, 2020
b5cb999
[ci skip] Fix version
cmb69 Sep 29, 2020
2bceb4b
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 29, 2020
a88107d
Merge branch 'PHP-7.4' into master
cmb69 Sep 29, 2020
2519827
Update gmp+bcmath parameter names
nikic Sep 24, 2020
82f0d3c
Remove unused variable
nikic Sep 29, 2020
739eb43
Tracing JIT support for preloaded scripts
dstogov Sep 29, 2020
59aa21c
Don't accept dir handle in Directory methods
nikic Sep 29, 2020
f3c58a5
Make handling of NULL bytes in file paths more consistent (WIP)
Sep 25, 2020
b44cf93
Allow tracing JIT cooperate with function JIT.
dstogov Sep 29, 2020
5dd5569
Update ext/tokenizer param names
nikic Sep 29, 2020
053a5fc
Promote E_NOTICE to Value/TypeError in PostgreSQL extension
Girgias Sep 28, 2020
e39ce17
bump zip extension version
remicollet Sep 29, 2020
6b77252
Make URI parameter in ldap_connect default to NULL
Sep 17, 2020
14385fb
Default bind dn and password to NULL in ldap_bind
Sep 17, 2020
74b6347
Default bind dn and password to NULL in ldap_bind_ext
Sep 17, 2020
caa0cd7
Set all parameters to ldap_sasl_bind as NULL by default
Sep 17, 2020
eeec37d
Remove dummy_ber parameter from ldap_first_attribute and ldap_next_at…
Sep 17, 2020
2a34d35
Fix "null" case in ldap.stub.php
Sep 17, 2020
c2a6da5
Fix parameter names in ext/ldap
Sep 17, 2020
a835eee
Fix parameter mask in ldap_next_attribute
MCMic Sep 17, 2020
fa1f86f
Explicitely mark nullable strings
Sep 21, 2020
febd33c
Improve parameter naming in ldap_set_option ext/ldap/ldap.stub.php
MCMic Sep 28, 2020
27fe37e
Improve parameter naming in ldap_connect
MCMic Sep 28, 2020
462c944
Improve parameter naming in ldap_exop_passwd
MCMic Sep 28, 2020
29e1a97
Improve parameter naming in ldap_rename
MCMic Sep 28, 2020
1d3787e
Rename $link parameters to $ldap in ldap functions
Sep 28, 2020
3b3445f
Harmonize ldap_rename_ext with ldap_rename parameter names
MCMic Sep 28, 2020
1945355
Improve parameter names in ext/ldap
Sep 29, 2020
25f1c40
Update ext/standard parameter names
nikic Sep 25, 2020
6dac6a9
Warning promotion: Throw on writing invalid XML tag names
Sep 29, 2020
a4331a6
Update iconv parameter names
nikic Sep 29, 2020
a1ee3c7
Fix recently introduced off-by-one error
cmb69 Sep 29, 2020
ae95d06
[ci skip] Add 7.3.23 security fixes to NEWS
smalyshev Sep 29, 2020
5c8b02f
Merge branch 'PHP-7.3' into PHP-7.4
smalyshev Sep 29, 2020
f20a2b4
[ci skip] Add 7.4.11 security fixes to NEWS
smalyshev Sep 29, 2020
6795cfd
Merge branch 'PHP-7.4'
smalyshev Sep 29, 2020
0574c21
Prepare for PHP 8.0 RC1
carusogabriel Sep 29, 2020
6d2fe9f
Update NEWS for PHP 8.0.0rc1
carusogabriel Sep 29, 2020
c907413
Update NEWS for 8.0.0rc2
carusogabriel Sep 29, 2020
07fa130
Revert "Use external iterator instead of via the internal pointer"
cmb69 Sep 29, 2020
8d0b871
Removed duplicate conditions
Girgias Sep 30, 2020
a1cee97
Fixed incorrect logical conditions
Girgias Sep 30, 2020
41ae63c
Merge branch 'PHP-7.4'
dstogov Sep 30, 2020
3f5c47a
Fixed incorrect logical condition
Girgias Sep 30, 2020
6f0b232
Merge branch 'PHP-7.3' into PHP-7.4
dstogov Sep 30, 2020
b94fd3a
Merge branch 'PHP-7.4'
dstogov Sep 30, 2020
662083f
bump version to 7.2.35-dev
remicollet Sep 30, 2020
1616363
Fixed incorrect error message
Girgias Sep 30, 2020
2a0e4b8
Merge branch 'PHP-7.3' into PHP-7.4
dstogov Sep 30, 2020
c1384df
Merge branch 'PHP-7.2' into PHP-7.3
remicollet Sep 30, 2020
5f24999
Merge branch 'PHP-7.4'
dstogov Sep 30, 2020
4a0d05b
Merge branch 'PHP-7.3' into PHP-7.4
remicollet Sep 30, 2020
c555032
Merge branch 'PHP-7.4'
remicollet Sep 30, 2020
5733f11
Merge branch 'PHP-7.2' into PHP-7.3
remicollet Sep 30, 2020
fd4b072
Merge branch 'PHP-7.3' into PHP-7.4
remicollet Sep 30, 2020
70a3b33
Merge branch 'PHP-7.4'
remicollet Sep 30, 2020
5830938
Fixed hex char parsing
dstogov Sep 30, 2020
7299af0
Merge branch 'PHP-7.4'
dstogov Sep 30, 2020
9fbb411
Review parameter names in ext/json
kocsismate Sep 29, 2020
fe64d73
Review parameter names in ext/opcache
kocsismate Sep 29, 2020
26af806
Review parameter names in ext/readline
kocsismate Sep 29, 2020
aecb05f
Give preference to ENTER->RECURSIVE_CALL trace over ENTER->RETURN
dstogov Sep 30, 2020
efe6006
Review parameter names in ext/session
kocsismate Sep 29, 2020
01b239b
Review parameter names in ext/shmop
kocsismate Sep 29, 2020
9fbffe4
Review parameter names in ext/gettext
kocsismate Sep 29, 2020
550a4f2
Remove deprecated functions from php-ldap
Oct 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ jobs:
arch: amd64
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1 SKIP_IO_CAPTURE_TESTS=1 ARM64=1
arch: arm64
if: type = cron
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1 SKIP_IO_CAPTURE_TESTS=1 S390X=1
arch: s390x
if: type = cron
Expand Down
19 changes: 18 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,13 +1,30 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.0.0RC1
?? ??? ????, PHP 8.0.0rc2


01 Oct 2020, PHP 8.0.0rc1

- CLI:
. Allow debug server binding to an ephemeral port via `-S localhost:0`. (Sara)

- Core:
. Fixed bug #80109 (Cannot skip arguments when extended debug is enabled).
(Nikita)

- ODBC:
. Fixed bug #22986 (odbc_connect() may reuse persistent connection). (cmb)

- PDO_Firebird:
. Fixed bug #64937 (Firebird PDO preprocessing sql). (Simonov Denis)

- SPL:
. SplFixedArray is now IteratorAggregate rather than Iterator. (alexdowad)

- Zlib:
. Fixed bug #78792 (zlib.output_compression disabled by Content-Type: image/).
(cmb)

17 Sep 2020, PHP 8.0.0beta4

- Core:
Expand Down
25 changes: 24 additions & 1 deletion UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,8 @@ PHP 8.0 UPGRADE NOTES
__wakeup(): void

RFC: https://wiki.php.net/rfc/magic-methods-signature
. call_user_func_array() array keys will now be interpreted as parameter names,
instead of being silently ignored.

- COM:
. Removed the ability to import case-insensitive constants from type
Expand Down Expand Up @@ -325,6 +327,10 @@ PHP 8.0 UPGRADE NOTES
. iconv() implementations which do not properly set errno in case of errors
are no longer supported.

- IMAP:
. The unused default_host argument of imap_headerinfo() has been removed.
. The imap_header() function which is an alias of imap_headerinfo() has been removed.

- Intl:
. The deprecated constant INTL_IDNA_VARIANT_2003 has been removed.
RFC: https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003
Expand All @@ -335,6 +341,8 @@ PHP 8.0 UPGRADE NOTES

- LDAP:
. The deprecated function ldap_sort has been removed.
. The deprecated function ldap_control_paged_result has been removed.
. The deprecated function ldap_control_paged_result_response has been removed.
. The interface of ldap_set_rebind_proc has changed; the $callback parameter
does not accept empty string anymore; null value shall be used instead.

Expand Down Expand Up @@ -387,6 +395,10 @@ PHP 8.0 UPGRADE NOTES
. Several alias functions have been marked as deprecated.
. oci_internal_debug() and its alias ociinternaldebug() have been removed.

- ODBC:
. odbc_connect() no longer reuses persistent connections.
. The unused flags parameter of odbc_exec() has been removed.

- OpenSSL:
. openssl_x509_read() and openssl_csr_sign() will now return an
OpenSSLCertificate object rather than a resource. Return value checks using
Expand Down Expand Up @@ -431,6 +443,8 @@ PHP 8.0 UPGRADE NOTES
. The deprecated pg_lo_import() and pg_lo_export() signature that passes the
connection as the last argument is no longer supported. The connection
should be passed as first argument instead.
. pg_fetch_all() will now return an empty array instead of false for result
sets with zero rows.

- Phar:
. Metadata associated with a phar will no longer be automatically unserialized,
Expand Down Expand Up @@ -496,6 +510,12 @@ PHP 8.0 UPGRADE NOTES
. spl_autoload_register() will now always throw a TypeError on invalid
arguments, therefore the second argument $do_throw is ignored and a
notice will be emitted if it is set to false.
. SplFixedArray is now an IteratorAggregate and not an Iterator.
SplFixedArray::rewind(), ::current(), ::key(), ::next(), and ::valid()
have been removed. In their place, SplFixedArray::getIterator() has been
added. Any code which uses explicit iteration over SplFixedArray must now
obtain an Iterator through SplFixedArray::getIterator(). This means that
SplFixedArray is now safe to use in nested loops.

- Standard:
. assert() will no longer evaluate string arguments, instead they will be
Expand Down Expand Up @@ -644,6 +664,8 @@ PHP 8.0 UPGRADE NOTES
. deflate_init() will now return a DeflateContext object rather than a
resource. Return value checks using is_resource() should be replaced with
checks for `false`.
. zlib.output_compression is no longer automatically disabled for
Content-Type: image/*.

========================================
2. New Features
Expand Down Expand Up @@ -792,7 +814,7 @@ PHP 8.0 UPGRADE NOTES
values rather than int.

- Zip:
. Extension updated to version 1.19.0
. Extension updated to version 1.19.1
. New ZipArchive::lastId property to get index value of last added entry.
. Error can be checked after an archive is closed using ZipArchive::status,
ZipArchive::statusSys properties or ZipArchive::getStatusString() method.
Expand Down Expand Up @@ -844,6 +866,7 @@ PHP 8.0 UPGRADE NOTES
- PGSQL / PDO PGSQL:
. The constant PG_VERSION_STR has now the same value as PG_VERSION, and thus
is deprecated.
. Function aliases in the pgsql extension have been deprecated.

- Zip:
. Using empty file as ZipArchive is deprecated. Libzip 1.6.0
Expand Down
12 changes: 12 additions & 0 deletions UPGRADING.INTERNALS
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,10 @@ PHP 8.0 INTERNALS UPGRADE NOTES
- zend_get_op_array_extension_handle()
10. Argument zend_extension to const char* in Zend Engine 4.0:
- zend_get_resource_handle()
11. Argument const char * to HMODULE in Zend Engine 4.0:
- php_win32_image_compatible()
12. const char * argument dropped in Zend Engine 4.0:
- php_win32_crt_compatible()

u. Instead of overwriting zend_error_cb extensions with debugging, monitoring
use-cases catching Errors/Exceptions are strongly encouraged to use
Expand Down Expand Up @@ -436,6 +440,14 @@ PHP 8.0 INTERNALS UPGRADE NOTES
2. The PHP_CHECK_GCC_ARG() m4 macro has been removed in favor of
AX_CHECK_COMPILE_FLAG().

3. The 6th argument of PHP_ADD_SOURCES_X has been removed.

4. The 'special-flags' (3rd) argument of PHP_ADD_SOURCES_X are
now appended instead of prepended to previous compiler flags.
This means compiler flags passed to PHP_NEW_EXTENSION and PHP_ADD_SOURCES
are now appended, this allows to disable compiler flags set by Zend/Zend.m4
(e.g. disable certain compiler flags enabled by -Wextra)

c. Windows build system changes

- The configuration option --enable-crt-debug has been removed. The VC
Expand Down
4 changes: 2 additions & 2 deletions Zend/tests/008.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ echo "Done\n";
--EXPECTF--
TypeError: define(): Argument #1 ($constant_name) must be of type string, array given

Notice: Constant TRUE already defined in %s on line %d
Warning: Constant TRUE already defined in %s on line %d
bool(false)
bool(true)
bool(true)
bool(true)

Notice: Constant test const already defined in %s on line %d
Warning: Constant test const already defined in %s on line %d
bool(false)
bool(true)
bool(true)
Expand Down
12 changes: 7 additions & 5 deletions Zend/tests/009.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ $f2 = new foo2;
$f1->bar();
$f2->bar();

var_dump(get_class());
try {
var_dump(get_class());
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(get_class("qwerty"));
} catch (TypeError $e) {
Expand All @@ -40,12 +44,10 @@ $f1->testNull();

echo "Done\n";
?>
--EXPECTF--
--EXPECT--
string(3) "foo"
string(3) "foo"

Warning: get_class() called without object from outside a class in %s on line %d
bool(false)
get_class() without arguments must be called from within a class
get_class(): Argument #1 ($object) must be of type object, string given
string(3) "foo"
string(4) "foo2"
Expand Down
4 changes: 2 additions & 2 deletions Zend/tests/015.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ var_dump(trigger_error("error", E_USER_DEPRECATED));
--EXPECTF--
Notice: error in %s on line %d
bool(true)
trigger_error(): Argument #2 ($error_type) must be one of E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, or E_USER_DEPRECATED
trigger_error(): Argument #2 ($error_type) must be one of E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, or E_USER_DEPRECATED
trigger_error(): Argument #2 ($error_level) must be one of E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, or E_USER_DEPRECATED
trigger_error(): Argument #2 ($error_level) must be one of E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, or E_USER_DEPRECATED

Warning: error in %s on line %d
bool(true)
Expand Down
63 changes: 63 additions & 0 deletions Zend/tests/ErrorException_construct.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
--TEST--
Test default value handling of ErrorException::__construct()
--FILE--
<?php

$e = new ErrorException();
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

$e = new ErrorException("Second", 0, E_ERROR, null);
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

$e = new ErrorException("Third", 0, E_ERROR, null, null);
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

$e = new ErrorException("Forth", 0, E_ERROR, null, 123);
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

$e = new ErrorException("Fifth", 0, E_ERROR, "abc.php");
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

$e = new ErrorException("Sixth", 0, E_ERROR, "abc.php", null);
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

$e = new ErrorException("Seventh", 0, E_ERROR, "abc.php", 123);
var_dump($e->getMessage());
var_dump($e->getFile());
var_dump($e->getLine());

?>
--EXPECTF--
string(0) ""
string(%d) "%sErrorException_construct.php"
int(3)
string(6) "Second"
string(%d) "%sErrorException_construct.php"
int(8)
string(5) "Third"
string(%d) "%sErrorException_construct.php"
int(13)
string(5) "Forth"
string(%d) "%sErrorException_construct.php"
int(123)
string(5) "Fifth"
string(7) "abc.php"
int(0)
string(5) "Sixth"
string(7) "abc.php"
int(0)
string(7) "Seventh"
string(7) "abc.php"
int(123)
13 changes: 8 additions & 5 deletions Zend/tests/attributes/004_name_resolution.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@
Resolve attribute names
--FILE--
<?php
function dump_attributes($attributes) {
$arr = [];
foreach ($attributes as $attribute) {
$arr[] = ['name' => $attribute->getName(), 'args' => $attribute->getArguments()];

namespace {
function dump_attributes($attributes) {
$arr = [];
foreach ($attributes as $attribute) {
$arr[] = ['name' => $attribute->getName(), 'args' => $attribute->getArguments()];
}
var_dump($arr);
}
var_dump($arr);
}

namespace Doctrine\ORM\Mapping {
Expand Down
6 changes: 3 additions & 3 deletions Zend/tests/attributes/005_objects.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -96,16 +96,16 @@ try {
}

?>
--EXPECT--
--EXPECTF--
string(2) "A1"
string(4) "test"
int(50)

string(7) "ERROR 1"
string(81) "Too few arguments to function A1::__construct(), 0 passed and at least 1 expected"
string(%d) "Too few arguments to function A1::__construct(), 0 passed in %s005_objects.php on line 26 and at least 1 expected"

string(7) "ERROR 2"
string(74) "A1::__construct(): Argument #1 ($name) must be of type string, array given"
string(%d) "A1::__construct(): Argument #1 ($name) must be of type string, array given, called in %s005_objects.php on line 36"

string(7) "ERROR 3"
string(30) "Attribute class "A2" not found"
Expand Down
32 changes: 27 additions & 5 deletions Zend/tests/attributes/014_class_const_group.phpt
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
--TEST--
Attributes cannot be applied to groups of class constants.
Attributes can be applied to groups of class constants
--FILE--
<?php

class C1
class C
{
#[A1]
#[A(1, X)]
public const A = 1, B = 2;
}

const X = 2;

$rp1 = new ReflectionClassConstant('C', 'A');
$ra1 = $rp1->getAttributes()[0];
var_dump($ra1->getName(), $ra1->getArguments());
$rp2 = new ReflectionClassConstant('C', 'B');
$ra2 = $rp2->getAttributes()[0];
var_dump($ra2->getName(), $ra2->getArguments());

?>
--EXPECTF--
Fatal error: Cannot apply attributes to a group of constants in %s
--EXPECT--
string(1) "A"
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
string(1) "A"
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
32 changes: 27 additions & 5 deletions Zend/tests/attributes/015_property_group.phpt
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
--TEST--
Attributes cannot be applied to groups of properties.
Attributes can be applied to groups of properties
--FILE--
<?php

class C1
class C
{
#[A1]
#[A(1, X)]
public $x, $y;
}

const X = 2;

$rp1 = new ReflectionProperty('C', 'x');
$ra1 = $rp1->getAttributes()[0];
var_dump($ra1->getName(), $ra1->getArguments());
$rp2 = new ReflectionProperty('C', 'y');
$ra2 = $rp2->getAttributes()[0];
var_dump($ra2->getName(), $ra2->getArguments());

?>
--EXPECTF--
Fatal error: Cannot apply attributes to a group of properties in %s
--EXPECT--
string(1) "A"
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
string(1) "A"
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Loading