Skip to content

Commit 69b5af7

Browse files
authored
Merge branch 'PHP-8.5' into uri-whatwg-read-fix
2 parents bf70731 + a0b918d commit 69b5af7

File tree

207 files changed

+13593
-19912
lines changed

Some content is hidden

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

207 files changed

+13593
-19912
lines changed

.github/scripts/windows/test_task.bat

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ if %errorlevel% neq 0 exit /b 3
3636
rem setup PostgreSQL related exts
3737
set PGUSER=postgres
3838
set PGPASSWORD=Password12!
39-
rem set PGSQL_TEST_CONNSTR=host=127.0.0.1 dbname=test port=5432 user=postgres password=Password12!
40-
echo ^<?php $conn_str = "host=127.0.0.1 dbname=test port=5432 user=%PGUSER% password=%PGPASSWORD%"; ?^> >> "./ext/pgsql/tests/config.inc"
39+
set PGSQL_TEST_CONNSTR=host=127.0.0.1 dbname=test port=5432 user=%PGUSER% password=%PGPASSWORD%
4140
set PDO_PGSQL_TEST_DSN=pgsql:host=127.0.0.1 port=5432 dbname=test user=%PGUSER% password=%PGPASSWORD%
4241
set TMP_POSTGRESQL_BIN=%PGBIN%
4342
"%TMP_POSTGRESQL_BIN%\createdb.exe" test

NEWS

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,45 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? ????, PHP 8.5.0RC4
3+
?? ??? ????, PHP 8.5.0
4+
5+
- Core:
6+
. Sync all boost.context files with release 1.86.0. (mvorisek)
7+
8+
- Standard:
9+
. Fix memory leak in array_diff() with custom type checks. (ndossche)
10+
11+
- Opcache:
12+
. Fixed bug GH-20329 (opcache.file_cache broken with full interned string
13+
buffer). (Arnaud)
14+
15+
- URI:
16+
. Fixed the distinction between an empty and a missing query/fragment
17+
when using Uri\WhatWg\Url::getQuery() and Uri\WhatWg\Url::getFragment().
18+
(kocsismate)
19+
20+
06 Nov 2025, PHP 8.5.0RC4
421

522
- Core:
623
. Fixed bug GH-20270 (Broken parent hook call with named arguments). (ilutov)
724
. Fixed bug GH-20183 (Stale EG(opline_before_exception) pointer through eval).
825
(ilutov)
926
. Fixed bug GH-20194 (null offset deprecation not emitted for writes).
1027
(Girgias)
28+
. Fixed bug GH-GH-20377 (final promoted properties without explicit visibility
29+
not automatically assigned). (DanielEScherzer)
1130

1231
- Opcache:
1332
. Fixed bug GH-20012 (heap buffer overflow in jit). (Arnaud)
1433
. Partially fixed bug GH-17733 (Avoid calling wrong function when reusing file
1534
caches across differing environments). (ilutov)
1635

36+
- PCRE:
37+
. Downgrade back to PCRE2 10.44, see GH-20341. (nielsdos)
38+
39+
- PgSql:
40+
. Fix segfaults when attempting to fetch row into a non-instantiable class
41+
name. (Girgias, nielsdos)
42+
1743
- Reflection:
1844
. Fixed bug GH-20217 (ReflectionClass::isIterable() incorrectly returns true
1945
for classes with property hooks). (alexandre-daubois)
@@ -32,8 +58,8 @@ PHP NEWS
3258
. Use the "includes credentials" rule of the WHATWG URL Standard to
3359
decide whether Uri\WhatWg\Url::getUsername() and ::getPassword()
3460
getters should return null or an empty string. (timwolla)
35-
. Fixed the distinction between an empty and a missing query/fragment
36-
when using Uri\WhatWg\Url::getQuery() and Uri\WhatWg\Url::getFragment().
61+
. Fixed the distinction between empty and missing username/password
62+
components of Uri\Rfc3986\Uri.
3763
(kocsismate)
3864

3965
- Zip:

UPGRADING

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -869,9 +869,6 @@ PHP 8.5 UPGRADE NOTES
869869
URIs and URLs according to RFC 3986 and WHATWG URL.
870870
RFC: https://wiki.php.net/rfc/url_parsing_api
871871

872-
- PCRE:
873-
. Upgraded pcre2lib from 10.44 to 10.46.
874-
875872
- PDO_Sqlite:
876873
. Increased minimum release version support from 3.7.7 to 3.7.17.
877874

Zend/asm/jump_s390x_sysv_elf_gas.S

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,12 @@
4949
.type jump_fcontext, @function
5050

5151
#define ARG_OFFSET 0
52-
#define GR_OFFSET 16
53-
#define FP_OFFSET 96
54-
#define FPC_OFFSET 160
55-
#define PC_OFFSET 168
56-
#define CONTEXT_SIZE 176
52+
#define GR_OFFSET 16
53+
#define R14_OFFSET 88
54+
#define FP_OFFSET 96
55+
#define FPC_OFFSET 160
56+
#define PC_OFFSET 168
57+
#define CONTEXT_SIZE 176
5758

5859
#define REG_SAVE_AREA_SIZE 160
5960

@@ -131,11 +132,14 @@ jump_fcontext:
131132
ltg %r2,GR_OFFSET(%r15)
132133
jnz use_return_slot
133134

134-
/* We restore a make_fcontext context. Use the function
135-
argument slot in the context we just saved and allocate the
136-
register save area for the target function. */
137-
la %r2,ARG_OFFSET(%r1)
138-
aghi %r15,-REG_SAVE_AREA_SIZE
135+
/* We're restoring a context created by make_fcontext.
136+
This is going to be the argument of the entry point
137+
of the fiber. We're placing it on top of the ABI
138+
defined register save area of the fiber's own stack. */
139+
la %r2,REG_SAVE_AREA_SIZE(%r15)
140+
141+
/* REG_SAVE_AREA_SIZE + sizeof(transfer_t) */
142+
aghi %r15,-(REG_SAVE_AREA_SIZE+16)
139143

140144
use_return_slot:
141145
/* Save the two fields in transfer_t. When calling a

Zend/asm/jump_sparc64_sysv_elf_gas.S

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
*/
77

88
/*
9-
* typedef struct {
10-
* void *handle;
11-
* zend_fiber_transfer *transfer;
12-
* } boost_context_data;
9+
* typedef void* fcontext_t;
1310
*
14-
* boost_context_data jump_fcontext(void *to, zend_fiber_transfer *transfer);
11+
* struct transfer_t {
12+
* fcontext_t fctx;
13+
* void * data;
14+
* };
15+
*
16+
* transfer_t jump_fcontext(fcontext_t const to, void *vp);
1517
*/
1618
#define CC64FSZ 176
1719
#define BIAS 2047

Zend/asm/jump_x86_64_ms_pe_gas.S

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
.file "jump_x86_64_ms_pe_gas.asm"
9090
.text
9191
.p2align 4,,15
92+
.globl jump_fcontext
9293
.def jump_fcontext; .scl 2; .type 32; .endef
9394
.seh_proc jump_fcontext
9495
jump_fcontext:
@@ -203,3 +204,6 @@ jump_fcontext:
203204
/* indirect jump to context */
204205
jmp *%r10
205206
.seh_endproc
207+
208+
.section .drectve
209+
.ascii " -export:\"jump_fcontext\""

Zend/asm/make_s390x_sysv_elf_gas.S

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
.type make_fcontext, @function
5050

5151
#define ARG_OFFSET 0
52-
#define GR_OFFSET 16
53-
#define R14_OFFSET 88
54-
#define FP_OFFSET 96
55-
#define FPC_OFFSET 160
56-
#define PC_OFFSET 168
57-
#define CONTEXT_SIZE 176
52+
#define GR_OFFSET 16
53+
#define R14_OFFSET 88
54+
#define FP_OFFSET 96
55+
#define FPC_OFFSET 160
56+
#define PC_OFFSET 168
57+
#define CONTEXT_SIZE 176
5858

5959
/*
6060
@@ -72,7 +72,7 @@ r4 - The address of the context function
7272
make_fcontext:
7373
.machine "z10"
7474
/* Align the stack to an 8 byte boundary. */
75-
nill %r2,0xfff0
75+
nill %r2,0xfff8
7676

7777
/* Allocate stack space for the context. */
7878
aghi %r2,-CONTEXT_SIZE

Zend/asm/make_sparc64_sysv_elf_gas.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
/*
9-
* void *make_fcontext(void *sp, size_t size, void (*fn)(boost_context_data));
9+
* fcontext_t *make_fcontext(void *sp, size_t size, void (*fn)(transfer_t));
1010
*/
1111
#define CC64FSZ 176
1212
#define BIAS 2047
@@ -56,7 +56,7 @@ make_fcontext:
5656
trampoline:
5757
ldx [%sp + BIAS + I7], %l0
5858

59-
# no need to setup boost_context_data, already in %o0 and %o1
59+
# no need to setup transfer_t, already in %o0 and %o1
6060
jmpl %l0, %o7
6161
nop
6262

Zend/asm/make_x86_64_ms_pe_gas.S

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
.file "make_x86_64_ms_pe_gas.asm"
9090
.text
9191
.p2align 4,,15
92+
.globl make_fcontext
9293
.def make_fcontext; .scl 2; .type 32; .endef
9394
.seh_proc make_fcontext
9495
make_fcontext:
@@ -168,3 +169,6 @@ finish:
168169
.seh_endproc
169170

170171
.def _exit; .scl 2; .type 32; .endef /* standard C library function */
172+
173+
.section .drectve
174+
.ascii " -export:\"make_fcontext\""

Zend/tests/concat/concat_003.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ if (getenv('SKIP_PERF_SENSITIVE')) die("skip performance sensitive test");
1111
$time = microtime(TRUE);
1212

1313
/* This might vary on Linux/Windows, so the worst case and also count in slow machines. */
14-
$t_max = 1.0;
14+
$t_max = 2.0;
1515

1616
$datas = array_fill(0, 220000, [
1717
'000.000.000.000',

0 commit comments

Comments
 (0)