Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
ec589a2
Merge branch 'PHP-7.3' into PHP-7.4
smalyshev Jan 4, 2021
e659320
[ci skip] Update NEWS
smalyshev Jan 4, 2021
ced4c0b
Merge branch 'PHP-7.4' into PHP-8.0
smalyshev Jan 4, 2021
4d1c1e4
[ci skip] Update NEWS
smalyshev Jan 4, 2021
46d6dae
Disable non-cron travis jobs
nikic Jan 4, 2021
bf2bb39
Fix test name
smalyshev Jan 4, 2021
9a3ea5f
Merge branch 'PHP-8.0'
smalyshev Jan 4, 2021
151fce1
Merge branch 'PHP-7.4' into PHP-8.0
nikic Jan 4, 2021
faeca51
Merge branch 'PHP-8.0'
nikic Jan 4, 2021
6e90c75
Mac M1 crc32 detection support
devnexen Dec 31, 2020
f91ece0
Merge branch 'PHP-8.0'
nikic Jan 4, 2021
abe23bd
SQLite3::query() cannot return null
cmb69 Jan 1, 2021
9b269df
Merge branch 'PHP-8.0'
cmb69 Jan 4, 2021
2f1d32d
Avoid throwing warnings in mysqlnd
kamil-tekiela Dec 21, 2020
53ee3f7
Use php_random_bytes() in mt_srand() and uniqid()
zeriyoshi Dec 18, 2020
65f14b0
Throw ValueError instead of TypeError for malformed GMP number
nikic Jan 4, 2021
a6eb370
Merge branch 'PHP-8.0'
nikic Jan 4, 2021
af7445b
Try to fix intermittent failures of stream_server_reneg_limit.phpt on…
nikic Jan 4, 2021
4b544f2
Merge branch 'PHP-8.0'
nikic Jan 4, 2021
1b5c62f
Fix GMP comparison object handler
Girgias Dec 29, 2020
01f7722
Merge branch 'PHP-8.0'
Girgias Jan 4, 2021
e69a65a
Export php_getenv() API
nikic Jan 4, 2021
66ffa1c
Use single typedef for curl callbacks
nikic Jan 4, 2021
821eaaf
Fix newly added GMP test
nikic Jan 4, 2021
7eed6c0
Merge branch 'PHP-8.0'
nikic Jan 4, 2021
a25886d
Optimize SplFixedArray when magic methods aren't overridden
TysonAndre Dec 29, 2020
0d99628
Fix edge case serializing __PHP_Incomplete_Class properties.
TysonAndre Dec 31, 2020
cc11130
Don't allocate php_curlm_handlers separately
nikic Jan 4, 2021
ce2e107
Don't allocate php_curl_handlers separately
nikic Jan 4, 2021
e622e86
Reduce memory usage of SplObjectStorage
TysonAndre Jul 19, 2018
ee6cb72
Remove unused still_running member
nikic Jan 4, 2021
5c21d39
Remove method member from php_curl_callback
nikic Jan 4, 2021
5276ca6
Manually store CURLOPT_PRIVATE data
nikic Jan 4, 2021
9f96b2b
Fix #76929: zip-based phar does not respect phar.require_hash
cmb69 Dec 16, 2020
a841390
Merge branch 'PHP-8.0'
cmb69 Jan 4, 2021
764b7bf
Fix bug #80584: 0x and 0X are considered valid hex numbers by filter_…
Girgias Jan 4, 2021
af1b89f
Merge branch 'PHP-8.0'
Girgias Jan 4, 2021
121790e
[ci skip] Add forgotten NEWS entry (bug 80560)
cmb69 Jan 4, 2021
7d30943
Merge branch 'PHP-8.0'
cmb69 Jan 4, 2021
ab9f497
Fix curl_getinfo() funcinfo
nikic Jan 4, 2021
589bdf3
Implement Explicit octal notation for integers RFC
Girgias Oct 19, 2020
6b631f0
gdbinit: use ____print_str to print htable keys
dktapps Jan 4, 2021
5e57f37
Merge branch 'PHP-7.4' into PHP-8.0
nikic Jan 5, 2021
ed4f18b
Merge branch 'PHP-8.0'
nikic Jan 5, 2021
0067c3c
Fix lexing of zero octal followed by whitespace
nikic Jan 5, 2021
d29d3a4
Fix use-after-scope in SplObjectStorage::unserialize()
nikic Jan 5, 2021
dd33535
Fix infinite recursion in unlinked_instanceof
nikic Jan 5, 2021
5c3a3dd
Merge branch 'PHP-8.0'
nikic Jan 5, 2021
5c96373
Fix memory leak in Phar::webPhar() on Windows
cmb69 Jan 4, 2021
afc69e4
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 5, 2021
6fc0f8e
Merge branch 'PHP-8.0'
cmb69 Jan 5, 2021
b7689db
Prevent double-free of Phar ZIP stream
cmb69 Jan 5, 2021
e9d5169
Merge branch 'PHP-8.0'
cmb69 Jan 5, 2021
3d0c905
Update instructions regarding web-php/include/version.inc
sgolemon Jan 5, 2021
d1b1c04
Fix #77565: Incorrect locator detection in ZIP-based phars
cmb69 Jan 5, 2021
66a74f2
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 5, 2021
555bd2f
Merge branch 'PHP-8.0'
cmb69 Jan 5, 2021
90081c5
Add missing SKIPIF clause for require_hash.phpt
cmb69 Jan 6, 2021
b426966
Merge branch 'PHP-8.0'
cmb69 Jan 6, 2021
01c8fe8
Convert strcmp() usage to zend_string_equals_literal()
Girgias Dec 23, 2020
ca5fcb8
Add/expand comments for PDO handlers
Girgias Dec 23, 2020
6728c1b
Formalize pdo_dbh_check_liveness_func() return type to zend_result
Girgias Dec 23, 2020
d04adf6
Boolify PDO's transaction handlers
Girgias Dec 23, 2020
60a61af
Boolify PDO's preparer handler
Girgias Dec 24, 2020
1a58611
Voidify PDO's fetch_error handler
Girgias Dec 24, 2020
43f6916
Boolify PDO's set_attribute driver function
Girgias Dec 23, 2020
954d374
Boolify PDO's quoter handler
Girgias Dec 23, 2020
53ba72e
Voidify PDO's closer handler
Girgias Dec 24, 2020
9052f3b
Update UPGRADIN.INTERNALS
Girgias Jan 6, 2021
44a311d
Fix/improve mysqli stubs
kamil-tekiela Jan 4, 2021
73f989a
Merge branch 'PHP-8.0'
nikic Jan 6, 2021
3c68f38
Restrict allowed usages of $GLOBALS
nikic Dec 2, 2020
2279388
Remove some INDIRECT handling in VM
nikic Dec 3, 2020
26fc4be
Remove some INDIRECT handling in standard library
nikic Dec 3, 2020
f674a33
Fix #80592: all floats are the same in ODBC parameters
cmb69 Jan 5, 2021
f4bff31
Merge branch 'PHP-8.0'
cmb69 Jan 6, 2021
63263ab
Remove unnecessary INDIRECT checks in JIT helpers
nikic Jan 6, 2021
34ef804
Make fetch_* OO same as func
kamil-tekiela Jan 6, 2021
7b2c098
Merge branch 'PHP-8.0'
nikic Jan 6, 2021
9450893
Avoid modifying the return value of readline_completion_function()
cmb69 Jan 6, 2021
8ae02c8
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 7, 2021
c581238
Merge branch 'PHP-8.0'
cmb69 Jan 7, 2021
3460af5
Fold dirname in sccp for non-windows platforms
nikic Jan 7, 2021
df0fa5b
Clean up remaining opcodes for foreach([] as $x)
TysonAndre Nov 26, 2019
7aa0036
Switch bound_param_map to zend_string
nikic Jan 7, 2021
792f8fb
Switch name variable to zend_string
nikic Jan 7, 2021
63cda0f
Refactor PDO's quoter handler to return a zend_string
Girgias Dec 23, 2020
848f7e0
Refactor PDO placeholder's quoted string to zend_string
Girgias Dec 28, 2020
1b31a76
Remove freeq member
nikic Jan 7, 2021
8b2b856
Remove some unnecessary zend_delete_global_variable uses
nikic Jan 8, 2021
f40838e
Rename ``zip_ent`` parameter to ``zip_entry`` for consistency
Girgias Jan 8, 2021
b3c5b8c
Merge branch 'PHP-8.0'
Girgias Jan 8, 2021
c139122
Fix pdo_oci - declare quotedlen in oci_driver.c
shivammathur Jan 9, 2021
23590f7
hash: Implement xxHash
weltling Dec 13, 2020
2cee1be
hash: Use hrtime() in the bench script [ci skip]
weltling Jan 9, 2021
7703b85
UPGRADING: Add xxHash notes [ci skip]
weltling Jan 9, 2021
e497a9f
NEWS: Add xxhash note [ci skip]
weltling Jan 9, 2021
59401aa
Remove redundand IS_INDIRECT checks (they were necessary for $GLOBALS…
dstogov Jan 11, 2021
d9e441b
Better CPU registers usage
dstogov Jan 11, 2021
35e0506
Add guard if lvalue of assignment may be a reference, but wasn't a re…
dstogov Jan 11, 2021
c6b2b3b
Merge branch 'PHP-8.0'
dstogov Jan 11, 2021
25103c3
Revert "Fix #76813: Access violation near NULL on source operand"
cmb69 Jan 11, 2021
52ed457
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 11, 2021
c7fe18a
Merge branch 'PHP-8.0'
cmb69 Jan 11, 2021
3b54202
Fuzzer: Gracefully handle hashes that cannot be serialized
nikic Jan 11, 2021
9fc1176
PHP array cannot refer to EG(symbol_table) any more. Replace correspo…
dstogov Jan 11, 2021
95a13ca
Revert fix for bug 76813 and re2c version bump
cmb69 Jan 11, 2021
91eb9a1
Merge branch 'PHP-8.0'
cmb69 Jan 11, 2021
65c7891
PHP array cannot refer to EG(symbol_table) any more. Replace correspo…
dstogov Jan 11, 2021
b569698
Add MSSQL setup to Azure Pipelines build
adambaratz Jan 12, 2021
aa16aee
Cleanup:
dstogov Jan 12, 2021
94a151a
Fixed bug #80545
jensdenies Dec 27, 2020
700c218
Merge branch 'PHP-8.0'
nikic Jan 12, 2021
1f6a3e6
Remove unused bind_hash member
nikic Jan 12, 2021
bc0f78a
Use ephemeral port in socket_create_listen_used.phpt
nikic Jan 12, 2021
a69da19
Merge branch 'PHP-8.0'
nikic Jan 12, 2021
973138f
Add support for union types for internal functions
nikic Jan 6, 2021
45a4d07
Merge branch 'PHP-8.0'
nikic Jan 12, 2021
7a049cd
Use arc4random_buf on macOS
devnexen Jan 9, 2021
13e049e
Merge branch 'PHP-8.0'
nikic Jan 12, 2021
41e9a8e
socket_create_pair() can no longer return NULL
cmb69 Jan 10, 2021
1a0fa12
Merge branch 'PHP-8.0'
cmb69 Jan 12, 2021
1a44599
Always use CG(arena) for unin type lists
dstogov Jan 12, 2021
d8b22c5
Fix INDIRECT elements leaked by SPL __serialize implementations
nikic Jan 12, 2021
4affb58
Remove flakiness from tests
adambaratz Jan 14, 2021
3edf5c9
Fixed bug #80422 (php_opcache.dll crashes when using Apache 2.4 with …
dstogov Jan 14, 2021
924ec32
Merge branch 'PHP-8.0'
dstogov Jan 14, 2021
37b94ac
Fix #51758: delete an outdated comment from zend_object_handler.h [ci…
sj-i Jan 12, 2021
5a5f0ad
Fix outdated comment about refcounting in array.c [ci skip]
sj-i Jan 13, 2021
f9fbba4
Fixed bug #80596: Fix anonymous class union typehint errors
danog Jan 13, 2021
ad5ae06
Merge branch 'PHP-8.0'
nikic Jan 14, 2021
880bf62
Fixed bug #80617: Type narrowing warning in ZEND_TYPE_INIT_CODE
nikic Jan 14, 2021
cc4a247
Merge branch 'PHP-8.0'
nikic Jan 14, 2021
aa51785
Remove SEPARATE_ARG_IF_REF macro
nikic Jan 14, 2021
ec58a6f
Remove SEPARATE_ZVAL_IF_NOT_REF() macro
nikic Jan 14, 2021
1b2aba2
Remove Z_PARAM separate params where they don't make sense
nikic Jan 14, 2021
422d166
Make convert_to_*_ex simple aliases of convert_to_*
nikic Jan 14, 2021
b429228
Remove zend_locale_sprintf_double()
nikic Jan 14, 2021
4d65c2a
ISO-2022-JP-2004 conversion: represent backslash and tilde as ASCII
alexdowad Jan 13, 2021
e14bdc0
ISO-2022-JP-2004 conversion: treat unrecognized escapes as error
alexdowad Jan 5, 2021
4b95fdf
ISO-2022-JP-2004 conversion: handle invalid characters correctly
alexdowad Sep 13, 2020
c11e12f
Add comment explaining why ISO-2022-JP-2004, etc strings end with ESC…
alexdowad Sep 19, 2020
40384da
JIS7/JIS8 encoding: treat unrecognized escapes as error
alexdowad Jan 5, 2021
d497c0e
JIS7/JIS8 encoding: use JISX0201 for U+203E (overline)
alexdowad Jan 4, 2021
b67e358
JIS7/JIS8 encoding: handle invalid 2nd byte for Kanji correctly
alexdowad Sep 14, 2020
4299e2d
JIS7/JIS8 encoding: treat truncated multibyte characters as error
alexdowad Jan 13, 2021
df30f09
Add test to verify file_get_contents error with folder
afilina Jan 13, 2021
eec11c2
[skip-ci] Add minimal build instruction for Fedora
Girgias Jan 15, 2021
cdd0724
Stricter handling of erroneous input when converting CP5022{0,1,2} te…
alexdowad Oct 8, 2020
6e9c838
CP5022{0,1,2}: convert characters in ku 0x2D (13th row) correctly
alexdowad Oct 11, 2020
5e5243a
CP5022{0,1,2}: convert Unicode codepoints in 'user' area (0xE000-E757…
alexdowad Oct 11, 2020
a50607d
CP5022{0,1,2}: use JISX0201 for U+203E (overline)
alexdowad Jan 5, 2021
0ec34da
CP5022{0,1,2}: treat unrecognized escapes as error
alexdowad Jan 5, 2021
058756b
Remove the convert_to_long_base function
nikic Jan 15, 2021
16cf1b9
compare_function() returns zend_result
nikic Jan 15, 2021
daa420a
Fix misleading indentation warning in pdo_oci
nikic Jan 14, 2021
869221c
Build PDO OCI and OCI8 on azure
nikic Jan 14, 2021
e2c8ab7
Print "interned" instead of fake refcount in debug_zval_dump()
nikic Jan 12, 2021
3e01f5a
Replace zend_bool uses with bool
nikic Jan 15, 2021
21562aa
Check for append to $GLOBALS
nikic Jan 15, 2021
141c4be
Limit unserialization element count more aggressively
nikic Jan 15, 2021
cebdad4
Protect against buffer overflow in xxhash unserialization
nikic Jan 15, 2021
2a93a8b
Add test suite for CP5022{0,1,2}
alexdowad Oct 13, 2020
888f5d7
CP5022{0,1,2}: treat truncated multibyte characters as error
alexdowad Jan 13, 2021
fcbe45d
Remove useless mbstring encoding 'CP50220-raw'
alexdowad Oct 7, 2020
34ece40
Remove useless mbstring encoding 'JIS-ms'
alexdowad Oct 17, 2020
6cbeb64
Remove unused macros from mbfilter_cp51932.c, mbfilter_iso2022jp_mobi…
alexdowad Oct 18, 2020
a06c20a
Remove useless constant MBFL_ENCTYPE_MBCS
alexdowad Oct 18, 2020
81d20d0
Skip bug77423 if filter extension is unavailable.
TysonAndre Jan 17, 2021
2d0dd4d
NEWS: Fix typo [ci skip]
weltling Jan 17, 2021
3dad63b
Curl: Add CURLOPT_DOH_URL option
Ayesh Jan 17, 2021
a3e5528
hrtime implementation update for Mac
devnexen Jan 16, 2021
9862296
Fix $GLOBALS[] in isset and unset
nikic Jan 18, 2021
e8a0ae1
Fix memsize check for xxh32
nikic Jan 18, 2021
35dece0
Remove redundant posix_getrlimit_basic.phpt
nikic Jan 18, 2021
ebca8de
posix: adding freebsd specific rlimit constants
devnexen Jan 16, 2021
38ad37a
Fix #80595: Resetting POSTFIELDS to empty array breaks request
cmb69 Jan 15, 2021
c321896
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 18, 2021
d0e3fb4
Merge branch 'PHP-8.0'
cmb69 Jan 18, 2021
0aad774
Fix stub for Phar::setStub()
dktapps Jan 12, 2021
37aaf2f
Merge branch 'PHP-8.0'
nikic Jan 18, 2021
43d5cef
gen_stub: Automatically add function name to exceptions
nikic Jan 18, 2021
85bfa22
gen_stub: Allow additional text after @return
nikic Jan 18, 2021
48e2e53
Fix parameter name of PharData::getMetadata()
nikic Jan 18, 2021
0f26f9b
Merge branch 'PHP-8.0'
nikic Jan 18, 2021
c31f9f7
Sync date_diff and DateTime::diff return type
nikic Jan 18, 2021
39077de
Sync intlcal_create_instance() and IntlCalendar::createInstance()
nikic Jan 18, 2021
ebf461a
Sync datefmt_get_calendar_object signature
nikic Jan 18, 2021
49e030d
Merge branch 'PHP-8.0'
nikic Jan 18, 2021
496e474
gen_stub: Compare phpdoc return type in --verify
nikic Jan 18, 2021
50eca61
Use ENT_QUOTES|ENT_SUBSTITUTE default for HTML encoding and decoding …
craigfrancis Jan 6, 2021
7290dc4
Sync gzgets signature with fgets
nikic Jan 18, 2021
2b677aa
Merge branch 'PHP-8.0'
nikic Jan 18, 2021
f0d6151
gen_stub: Don't use $aliasMap during verification
nikic Jan 18, 2021
f2364f3
SplFileObject::fgets() cannot return false
nikic Jan 18, 2021
d340be0
Merge branch 'PHP-8.0'
nikic Jan 18, 2021
a9efcb1
gen_stub: Also verify implementation-alias
nikic Jan 18, 2021
6a1e74e
Delete an outdated comment for read_property and read_dimension. [ci …
sj-i Jan 18, 2021
c195fcd
Avoid modification of trait info
dstogov Jan 19, 2021
b3bbb8f
Mark classes cached by opcache by ZEND_ACC_CACHED flag and prevent us…
dstogov Jan 19, 2021
dd7d829
Disable opcache optimizations during some observer tests
nikic Jan 19, 2021
64a4128
Merge branch 'PHP-8.0'
nikic Jan 19, 2021
fbd8e20
Observe unused return values in JIT
nikic Jan 19, 2021
29cf598
Merge branch 'PHP-8.0'
nikic Jan 19, 2021
872f302
Keep JIT region executable under ZTS
dktapps Jan 11, 2021
e422ab2
Merge branch 'PHP-8.0'
nikic Jan 19, 2021
68f5289
Fix #69279: Compressed ZIP Phar extractTo() creates garbage files
cmb69 Dec 18, 2020
cfae999
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 19, 2021
e1a1918
Merge branch 'PHP-8.0'
cmb69 Jan 19, 2021
f33105d
ldap_search() and friends can return array
cmb69 Jan 18, 2021
a4992cb
Merge branch 'PHP-8.0'
cmb69 Jan 19, 2021
5d31ee3
Fixed bug #42560
sj-i Dec 20, 2020
1bdd8f7
Merge branch 'PHP-7.4' into PHP-8.0
nikic Jan 19, 2021
9be0ee4
Merge branch 'PHP-8.0'
nikic Jan 19, 2021
94ea8e2
Refactor PDO doer handler to use zend_string
Girgias Jan 18, 2021
a78aea8
Refactor PDO's last inserted ID handler to use and return zend_string
Girgias Jan 18, 2021
424b480
Remove unnecessary (char*) casts
Girgias Jan 19, 2021
b44e29f
php_pdo_register_driver() might fail
Girgias Jan 19, 2021
a6e8ebf
Use standard C99 64bits int types
Girgias Jan 19, 2021
05d1680
Fixed bug #80644: ResourceBundle::get() doesn't reset error state
nikic Jan 19, 2021
8c3d279
Merge branch 'PHP-8.0'
nikic Jan 19, 2021
f341575
Fix observer tests on Windows
nikic Jan 19, 2021
d1fe9ae
Merge branch 'PHP-8.0'
nikic Jan 19, 2021
dbe5725
Rename zend-test to zend_test
nikic Jan 18, 2021
e8a89c4
Update NEWS for PHP 7.4.15RC1
derickr Jan 19, 2021
a33d0c3
Update NEWS and version
derickr Jan 19, 2021
b5599a3
Merge branch 'PHP-7.4' into PHP-8.0
derickr Jan 19, 2021
6bc7f62
Merge branch 'PHP-8.0'
derickr Jan 19, 2021
ef36de1
Use zend_string_equals() in PDO
Girgias Jan 19, 2021
9ce200f
Fix NEWS placeholder for the next version
carusogabriel Jan 19, 2021
f65fea0
Merge branch 'PHP-8.0'
carusogabriel Jan 19, 2021
34f0f60
Next is 8.0.3
carusogabriel Jan 19, 2021
28fa0b6
Merge branch 'PHP-8.0'
carusogabriel Jan 19, 2021
d8c785b
Update 'East Asian Width' table to comply with Unicode 13.0
alexdowad Sep 24, 2020
6288228
Fixed bug #80634 (write_property handler of internal classes is skipp…
dstogov Jan 20, 2021
378f870
Merge branch 'PHP-8.0'
dstogov Jan 20, 2021
286c13e
Skip preloading test on windows
nikic Jan 20, 2021
32cf58f
Merge branch 'PHP-8.0'
nikic Jan 20, 2021
4c1b3e3
Add missing SKIPIF clauses to new test cases
cmb69 Jan 20, 2021
0ad7881
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 20, 2021
a48d9ed
Merge branch 'PHP-8.0'
cmb69 Jan 20, 2021
6adfb8c
Fix #80648: Fix for bug 79296 should be based on runtime version
cmb69 Jan 20, 2021
c4e63c3
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 20, 2021
04db2c8
Merge branch 'PHP-8.0'
cmb69 Jan 20, 2021
13c430b
Add array_is_list(array $array) function
duskwuff Nov 4, 2019
ba89dcb
Fixed crash in ZTS build with --repeat option
dstogov Jan 21, 2021
3370b5f
Accept zend_string in zend_prepare_string_for_scanning
nikic Jan 21, 2021
edb3897
Add missing SKIPIF clause for recently introduced test case
cmb69 Jan 21, 2021
02933f9
Merge branch 'PHP-7.4' into PHP-8.0
cmb69 Jan 21, 2021
0374943
Merge branch 'PHP-8.0'
cmb69 Jan 21, 2021
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .gdbinit
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,8 @@ define ____print_ht
end
printf "[%d] ", $i
if $p->key
printf "%s => ", $p->key->val
____print_str $p->key->val $p->key->len
printf " => "
else
printf "%d => ", $p->h
end
Expand Down
1 change: 1 addition & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ PHP NEWS

- hash:
. Implemented FR #68109 (Add MurmurHash V3). (Anatol, Michael)
. Implemented xxHash support. (Anatol)

- MySQLi:
. Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). (Nikita)
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,17 @@ For other systems, see the [installation chapter](https://php.net/install).
*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).*

For a minimal PHP build from Git, you will need autoconf, bison, and re2c. For
a default build, you will additionally need libxml2 and libsqlite3. On Ubuntu,
you can install these using:
a default build, you will additionally need libxml2 and libsqlite3.

On Ubuntu, you can install these using:

sudo apt install -y pkg-config build-essential autoconf bison re2c \
libxml2-dev libsqlite3-dev

On Fedora, you can install these using:

sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel

Generate configure:

./buildconf
Expand Down
50 changes: 50 additions & 0 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ PHP 8.1 UPGRADE NOTES
1. Backward Incompatible Changes
========================================

- Core:
. Access to the $GLOBALS array is now subject to a number of restrictions.
Read and write access to individual array elements like $GLOBALS['var']
continues to work as-is. Read-only access to the entire $GLOBALS array also
continues to be supported. However, write access to the entire $GLOBALS
array is no longer supported. For example, array_pop($GLOBALS) will result
in an error.
RFC: https://wiki.php.net/rfc/restrict_globals_usage

- Fileinfo:
. The fileinfo functions now accept and return, respectively, finfo objects
instead of resources.
Expand Down Expand Up @@ -60,11 +69,25 @@ PHP 8.1 UPGRADE NOTES

- Standard:
. version_compare() no longer accepts undocumented operator abbreviations.
. htmlspecialchars(), htmlentities(), htmlspecialchars_decode(),
html_entitity_decode() and get_html_translation_table() now use
ENT_QUOTES | ENT_SUBSTITUTE rather than ENT_COMPAT by default. This means
that ' is escaped to ' while previously it was left alone.
Additionally, malformed UTF-8 will be replaced by a Unicode substitution
character, instead of resulting in an empty string.

========================================
2. New Features
========================================

- Core:
. It is now possible to specify octal integer by using the explicit "0o"/"0O"
prefix similar to hexadecimal ("0x"/"0X) and binary ("0b"/"0B") integer literals
RFC: https://wiki.php.net/rfc/explicit_octal_notation

- Curl:
. Added CURLOPT_DOH_URL option.

- hash:
. The following functions have changed signatures:

Expand All @@ -89,6 +112,24 @@ PHP 8.1 UPGRADE NOTES

A valid seed value is within the range from 0 to the plaform defined UINT_MAX, usually 4294967295.

. Added xxHash. The implementation brings in the following arguments

- xxh32, 32-bit hash
- xxh64, 64-bit hash
- xxh3, 64-bit hash
- xxh128, 128-bit hash

The initial hash state can be passed through the `seed` key in the `$options` array, for example:

```php
$h = hash("xxh3", $data, options: ["seed" => 42]);
echo $h, "\n";
```

- Posix:
. Added POSIX_RLIMIT_KQUEUES and POSIX_RLIMIT_NPTS. These rlimits are only
available on FreeBSD.

========================================
3. Changes in SAPI modules
========================================
Expand All @@ -101,6 +142,15 @@ PHP 8.1 UPGRADE NOTES
5. Changed Functions
========================================

- Filter:
. The FILTER_FLAG_ALLOW_OCTAL flag of the FILTER_VALIDATE_INT filter now accept
octal string with the leading octal prefix ("0o"/"0O")
RFC: https://wiki.php.net/rfc/explicit_octal_notation

- GMP:
. All GMP function now accept octal string with the leading octal prefix ("0o"/"0O")
RFC: https://wiki.php.net/rfc/explicit_octal_notation

========================================
6. New Functions
========================================
Expand Down
14 changes: 14 additions & 0 deletions UPGRADING.INTERNALS
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,17 @@ PHP 8.1 INTERNALS UPGRADE NOTES
getColumnMeta(). The type provided here does not need to match the type
returned by get_col (in fact no corresponding type might exist, e.g. for
floats). It should be the closest logical equivalent for the column type.
- The transaction, set_attribute, and preparer handler's return type
has been formalized to bool instead of int.
- The check_liveness handler's return type has been formalized to zend_return
instead of int.
- The closer, and fetch_error handlers have been voidified.
- The quoter handler now returns the quoted string as zend_string* instead
of returning a boolean, and the quoted string as a pair of out params.
Similarly the unquoted string is now a zend_string* instead of a pair of
char* and size_t length.
- The doer handler now accepts a zend_string* instead of char* + size_t
pair for the SQL statement.
- The last_id handler now returns a zend_string* instead of returning a
char* and the length as an out param, and accepts a zend_string* instead
of char* for the optional sequence/table name.
1 change: 0 additions & 1 deletion Zend/tests/array_self_add_globals.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
Add $GLOBALS to itself
--FILE--
<?php
$GLOBALS += $GLOBALS;
$x = $GLOBALS + $GLOBALS;
?>
===DONE===
Expand Down
4 changes: 2 additions & 2 deletions Zend/tests/attributes/016_custom_attribute_validation.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
Attribute validation callback of internal attributes.
--SKIPIF--
<?php
if (!extension_loaded('zend-test')) {
echo "skip requires zend-test extension\n";
if (!extension_loaded('zend_test')) {
echo "skip requires zend_test extension\n";
}
--FILE--
<?php
Expand Down
15 changes: 0 additions & 15 deletions Zend/tests/bug71539_6.phpt

This file was deleted.

17 changes: 0 additions & 17 deletions Zend/tests/bug71695.phpt

This file was deleted.

2 changes: 1 addition & 1 deletion Zend/tests/bug78239.phpt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--TEST--
Bug #78239: Deprecation notice during string conversion converted to exception hangs
--SKIPIF--
<?php if (!extension_loaded("zend-test")) die("skip requires zend-test extension"); ?>
<?php if (!extension_loaded("zend_test")) die("skip requires zend_test extension"); ?>
--FILE--
<?php
function handleError($level, $message, $file = '', $line = 0, $context = [])
Expand Down
2 changes: 1 addition & 1 deletion Zend/tests/bug78335_2.phpt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--TEST--
Bug #78335: Static properties containing cycles report as leak (internal class variant)
--SKIPIF--
<?php if (!extension_loaded("zend-test")) die("skip requires zend-test"); ?>
<?php if (!extension_loaded("zend_test")) die("skip requires zend_test"); ?>
--FILE--
<?php

Expand Down
2 changes: 1 addition & 1 deletion Zend/tests/call_to_deprecated_function_args.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Check that arguments are freed when calling a deprecated function
--SKIPIF--
<?php
if (!extension_loaded('zend-test')) die('skip zend-test extension not loaded');
if (!extension_loaded('zend_test')) die('skip zend_test extension not loaded');
--FILE--
<?php

Expand Down
2 changes: 1 addition & 1 deletion Zend/tests/const_deprecation.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Internal constant deprecation
--SKIPIF--
<?php
if (!extension_loaded('zend-test')) die('skip requires zend-test');
if (!extension_loaded('zend_test')) die('skip requires zend_test');
?>
--FILE--
<?php
Expand Down
21 changes: 0 additions & 21 deletions Zend/tests/gc_010.phpt

This file was deleted.

2 changes: 1 addition & 1 deletion Zend/tests/globals_001.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ string(%d) "%s"
Warning: Undefined array key "PHP_SELF" in %s on line %d
NULL

Warning: Undefined variable $_SERVER in %s on line %d
Warning: Undefined global variable $_SERVER in %s on line %d
NULL
Done
2 changes: 1 addition & 1 deletion Zend/tests/globals_002.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ string(%d) "%s"
Warning: Undefined array key "PHP_SELF" in %s on line %d
NULL

Warning: Undefined variable $_SERVER in %s on line %d
Warning: Undefined global variable $_SERVER in %s on line %d
NULL
Done
2 changes: 1 addition & 1 deletion Zend/tests/globals_003.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@ string(%d) "%s"
Warning: Undefined array key "PHP_SELF" in %s on line %d
NULL

Warning: Undefined variable $_SERVER in %s on line %d
Warning: Undefined global variable $_SERVER in %s on line %d
NULL
Done
2 changes: 1 addition & 1 deletion Zend/tests/globals_004.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ string(%d) "%s"
Warning: Undefined array key "PHP_SELF" in %s on line %d
NULL

Warning: Undefined variable $_SERVER in %s on line %d
Warning: Undefined global variable $_SERVER in %s on line %d
NULL
Done
2 changes: 1 addition & 1 deletion Zend/tests/inherit_internal_static.phpt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--TEST--
Inherit internal static property into userland class
--SKIPIF--
<?php if (!extension_loaded('zend-test')) die('skip requires zend-test'); ?>
<?php if (!extension_loaded('zend_test')) die('skip requires zend_test'); ?>
--FILE--
<?php

Expand Down
2 changes: 1 addition & 1 deletion Zend/tests/iterable_or_null.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Test Z_PARAM_ITERABLE() and Z_PARAM_ITERABLE_OR_NULL
--SKIPIF--
<?php
if (!extension_loaded('zend-test')) die('skip zend-test extension not loaded');
if (!extension_loaded('zend_test')) die('skip zend_test extension not loaded');
?>
--FILE--
<?php
Expand Down
8 changes: 8 additions & 0 deletions Zend/tests/oct_whitespace.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--TEST--
Octal literal followed by whitespace and another number
--FILE--
<?php
var_dump(0o0 2);
?>
--EXPECTF--
Parse error: syntax error, unexpected integer "2", expecting ")" in %s on line %d
2 changes: 1 addition & 1 deletion Zend/tests/overloaded_func_001.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Overloaded function 001
--SKIPIF--
<?php
if (!extension_loaded('zend-test')) die('skip zend-test extension not loaded');
if (!extension_loaded('zend_test')) die('skip zend_test extension not loaded');
?>
--FILE--
<?php
Expand Down
2 changes: 1 addition & 1 deletion Zend/tests/overloaded_func_002.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Overloaded function 002
--SKIPIF--
<?php
if (!extension_loaded('zend-test')) die('skip zend-test extension not loaded');
if (!extension_loaded('zend_test')) die('skip zend_test extension not loaded');
?>
--FILE--
<?php
Expand Down
11 changes: 11 additions & 0 deletions Zend/tests/restrict_globals/globals_in_globals.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--TEST--
$GLOBALS no longer contains 'GLOBALS'
--FILE--
<?php

$g = $GLOBALS;
var_dump(isset($g['GLOBALS']));

?>
--EXPECT--
bool(false)
10 changes: 10 additions & 0 deletions Zend/tests/restrict_globals/invalid_append.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--TEST--
Cannot append to $GLOBALS
--FILE--
<?php

$GLOBALS[] = 1;

?>
--EXPECTF--
Fatal error: Cannot append to $GLOBALS in %s on line %d
8 changes: 8 additions & 0 deletions Zend/tests/restrict_globals/invalid_append_isset.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--TEST--
Cannot append to $GLOBALS in isset()
--FILE--
<?php
isset($GLOBALS[]);
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
8 changes: 8 additions & 0 deletions Zend/tests/restrict_globals/invalid_append_unset.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--TEST--
Cannot append to $GLOBALS in unset()
--FILE--
<?php
unset($GLOBALS[]);
?>
--EXPECTF--
Fatal error: Cannot use [] for unsetting in %s on line %d
10 changes: 10 additions & 0 deletions Zend/tests/restrict_globals/invalid_assign.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--TEST--
Cannot assign to $GLOBALS
--FILE--
<?php

$GLOBALS = [];

?>
--EXPECTF--
Fatal error: $GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax in %s on line %d
10 changes: 10 additions & 0 deletions Zend/tests/restrict_globals/invalid_assign_list.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--TEST--
Cannot list-assign to $GLOBALS
--FILE--
<?php

list($GLOBALS) = [1];

?>
--EXPECTF--
Fatal error: $GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax in %s on line %d
Loading