Commit Graph

1733 Commits

Author SHA1 Message Date
Remi Collet
090b53bc44
[ci skip] NEWS + UPGRADING 2024-09-19 15:36:26 +02:00
Ilija Tovilo
1b9568d354
Implement backed enum coercion in http_build_query()
Fixes GH-15650
Closes GH-15704
2024-09-19 00:27:09 +02:00
Michael Voříšek
d313ad6098
Deprecate E_STRICT constant and remove error level
RFC: https://wiki.php.net/rfc/deprecations_php_8_4#remove_e_strict_error_level_and_deprecate_e_strict_constant

Closes GH-13053
2024-09-18 14:33:14 +02:00
Ayesh Karunaratne
3afb96184e ext/mbstring: Update to Unicode 16
Updates UCD to Unicode 16.0 (released 2024 Sept).

Previously: 0fdffc18, #7502, #14680

Unicode 16 adds several new character sets and case folding rules.
However, the existing ucgendat script can still parse them.

This also adds a couple test cases to make sure the new rules for
East Asian Wide characters and case folding work correctly. These
tests fail on Unicode 15.1 and older because those verisons do not
contain those rules.
2024-09-17 10:40:00 +09:00
Gina Peter Banyard
f756b96e06
Make CSV deprecation less annoying to deal with (#15569) 2024-09-13 15:07:26 +01:00
Christoph M. Becker
aa34950344
[skip ci] Update UPGRADING wrt Deprecate GET/POST sessions RFC (#15865)
This RFC[1] has already been implemented via its respective PR[2], so
we add this information to UPGRADING.

[1] <https://wiki.php.net/rfc/deprecate-get-post-sessions>
[2] <https://github.com/php/php-src/pull/13578>
2024-09-13 12:15:09 +01:00
DanielEScherzer
2ced1c926b
Add ReflectionProperty::isDynamic() as an alternative to isDefault() (#15758)
Dynamic properties are generally referred to as "dynamic" properties, while
non-dynamic properties are not commonly referred to as "default" properties.
Thus, the existing method `ReflectionProperty::isDefault()` has a non obvious
name; while an alias could be added for `isNotDynamic()`, a new `isDynamic()`
method seems cleaner. The new method returns the opposite of `isDefault()`;
dynamic properties are not present on the class by default, and properties
present by default are not added dynamically.

Closes GH-15754
2024-09-11 10:51:38 +02:00
Niels Dossche
8bcfc8cc13
Implement request #47317: SoapServer::__getLastResponse()
Convenient for debugging.

Closes GH-15792.
2024-09-09 20:07:29 +02:00
David CARLIER
b5c378c8d7
[skip ci] Fix GH-15810: Forgotten UPGRADING entry for Pdo_Pgsql::query. (#15811)
ref: GH-12476
2024-09-09 18:10:38 +01:00
Ayesh Karunaratne
24d4ae9d2f
ext/curl: No-op CURLOPT_DNS_USE_GLOBAL_CACHE constant (GH-15127)
Libcurl `CURLOPT_DNS_USE_GLOBAL_CACHE` constant is no longer supported
since libcurl[^1] 7.62. This no-ops the constant, but without causing
any deprecation notices.

[^1]: [CURLOPT_DNS_USE_GLOBAL_CACHE](https://curl.se/libcurl/c/CURLOPT_DNS_USE_GLOBAL_CACHE.html)
2024-09-04 12:40:45 +02:00
Saki Takamachi
fad899e566
[RFC] Support object types in BCMath (#13741)
Added BcMath\Number class. It is an immutable object, has methods that are
equivalent to existing BCMath calculation functions, and can also be calculated
using operators.

The existing BCMath function returned a string for each calculation, but this
class returns an object.

RFC: https://wiki.php.net/rfc/support_object_type_in_bcmath,
https://wiki.php.net/rfc/fix_up_bcmath_number_class

---------

Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2024-09-04 11:12:51 +09:00
Remi Collet
b81f9722db
[ci skip] NEWS and UPGRADING for PASSWORD_ARGON2 on openssl 2024-09-02 13:13:54 +02:00
Ayesh Karunaratne
fde34bc1e8
ext/curl: Update UPGRADING and NEWS for GH-13255 (#15668)
[ci skip]
2024-09-01 18:55:34 +02:00
jrfnl
95c5a5a959 [skip ci] PHP 8.4 changelog: fix typo in new constant
Ref: PR 15479 / d713e3619e
2024-09-01 18:51:31 +02:00
jrfnl
ced1e4509a [skip ci] PHP 8.4 changelog: add MYSQLI_TYPE_VECTOR to new constants
Ref: PR 15431 / a1ab846231
2024-09-01 18:51:31 +02:00
jrfnl
7bfd9d4a63 [skip ci] PHP 8.4 changelog: more alphabetic order fixes 2024-09-01 18:51:31 +02:00
Christoph M. Becker
b3d6414b87
Drop support for building with MSC_VER < 1920
`MSC_VER` 1920 refers to Visual Studio 2019 RTW 16.0[1], and this
should be the bare minimum which we support nowadays.  If users use an
older Visual Studio version, we fail gracefully during `configure`.

[1] <https://learn.microsoft.com/en-us/cpp/overview/compiler-versions?view=msvc-170>

Closes GH-15403.
2024-08-31 17:00:21 +02:00
Ayesh Karunaratne
a8df3d1eed
ext/curl: libcurl CURLOPT_{FTP_RESPONSE_TIMEOUT,ENCODING} replacements (#15126) 2024-08-31 14:26:11 +01:00
Arnaud Le Blanc
58aa6fc830
Lazy objects
RFC: https://wiki.php.net/rfc/lazy-objects

Closes GH-15019
2024-08-30 17:30:03 +02:00
Niels Dossche
88393cfaf7
Fix GH-13988: Storing DOMElement consume 4 times more memory in PHP 8.1 than in PHP 8.0
We avoid creating backing storage by using the feature introduced in
f78d5cfcd2.

Closes GH-15593.
2024-08-27 20:14:25 +02:00
David Carlier
c4ae645849
Follow-up on GH-15548: curl_multi_select.
throws a ValueError on timeout overflow.

close GH-15594
2024-08-27 17:05:55 +01:00
Ilija Tovilo
93799629dc
[skip ci] Add missing UPGRADING note for a-vis 2024-08-27 02:06:38 +02:00
^_^
555b603d23
mysqlnd: support ER_CLIENT_INTERACTION_TIMEOUT (#13618) 2024-08-26 12:52:26 +09:00
Ayesh Karunaratne
f61aad8f32
[skip ci] UPGRADING: Note Phar::setAlias()/setDefaultStub() return type changes (#15566)
Follow-up to GH-15426 (6836cae)

Co-authored-by: Gina Peter Banyard <girgias@php.net>
2024-08-25 21:35:38 +01:00
Flavio Heleno
67aac59cfc
Add PHP-FPM memory peak to the scoreboard
Closes #14153
2024-08-24 15:25:18 +01:00
Peter Kokot
dc8f18af0b
Fix GH-15534: Bump minimum libxml2 version to 2.9.4 (#15536)
The xmlDictPtr was moved before the includes in libxml2 2.9.4 so the
<libxml/dict.h> can be included directly but for earlier versions the
<libxml/tree.h> needs to be included before. Since PHP requires libxml2
2.9.0 or later and this also fixes builds on Solaris 10.

As earlier 2.9.0-2.9.3 libxml2 versions also include several security
issues, this change bumps the required minimum libxml2 version to 2.9.4

On Windows, a check for minimum libxml2 version is also added.

Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
2024-08-23 23:14:38 +02:00
Christoph M. Becker
e5a30274d8
Support AVX-512 builds on Windows (GH-15159)
"Since limited support for `/arch:AVX512` was added in Visual Studio
2017, and expanded in Visual Studio 2019"[1], we can safely offer this
option, since PHP 8.4 is supposed to build with Visual Studio 2022, and
it is unlikely that someone tries to build PHP 8.4 with Visual Studio,
requesting AVX-512 support.

[1] <https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-170>
2024-08-22 13:06:28 +02:00
Kamil Tekiela
c290996db6 Remove MYSQLI_TYPE_INTERVAL constant 2024-08-21 12:14:47 +02:00
Kamil Tekiela
c5ae122b2f
Update UPGRADING 2024-08-20 17:37:56 +02:00
Gina Peter Bnayard
588029a989 [skip ci] Update NEWS/UPGRADING for allowed_classes option checks 2024-08-20 16:28:01 +02:00
Christoph M. Becker
96840072fc
Cater to raised requirement of fbclient 3.0+ for pdo_firebird (GH-15498)
We

* Document the fbclient 3.0+ version requirement

* Windows: check existence of Interface.h
  Since we now require fbclient (3.0), we can drop support for the
  Interbase gds32_ms.lib right away.

* POSIX: check for minimum required libfbclient version with fb_config

* POSIX: check for `fb_get_master_interface()`
  The existence of `isc_detach_database` is implied by this.

* POSIX: remove detection of unsupported or even wrong libraries
  libgds is for old Interbase which is incompatible with pdo_firebird for
  may years, and libib_util is a utitity library, not a replacement for
  libfbclient.

Co-authored-by: Peter Kokot <peterkokot@gmail.com>
2024-08-20 16:00:00 +02:00
Kamil Tekiela
6c7ff08920
Drop MYSQLI_CURSOR_TYPE_FOR_UPDATE & MYSQLI_CURSOR_TYPE_SCROLLABLE (#15486) 2024-08-19 13:54:40 +02:00
Kamil Tekiela
4baf6a643b
Fix error message and add UPGRADING entry 2024-08-19 13:19:49 +02:00
David Carlier
d713e3619e
ext/sockets: adding SO_BINDTOIFINDEX.
similar to SO_BINDTODEVICE but works with interface ids instead.

close GH-15479
2024-08-18 16:44:32 +01:00
David CARLIER
b5568a008f
GH-15440: adding CURLOPT_TCP_KEEPCNT constant (8.9.0) (#15446)
close GH-15446
2024-08-16 20:47:41 +01:00
jrfnl
d2810f5757 [skip ci] 8.4 | UPGRADING: add missing constant
Ref: 564914ac1a (diff-c5961ea04ab805b0059964fac68d6e159095a4b56aaaded0b1b941b8768c0f52)
2024-08-14 16:57:23 +02:00
jrfnl
ddaeb203b2 [skip ci] 8.4 | UPGRADING: fix incorrect function names
Ref: 1cf8291c85 (diff-d22d5ad00ee9f000cb8c8f9a5cfb905a8de91e7dc4a633896e2c5ab4ad1513d1)
2024-08-14 16:57:23 +02:00
jrfnl
d245bf12e7 [skip ci] 8.4 | UPGRADING: move new function to correct section
The `pg_result_memory_size()` function is a new feature, not a deprecated feature.
2024-08-14 16:57:23 +02:00
jrfnl
ba321af07c [skip ci] 8.4 | UPGRADING: fix typo 2024-08-14 16:57:23 +02:00
jrfnl
d61cb70e65 [skip ci] 8.4 | UPGRADING: fix extension order
A number of times, extensions were not listed in alphabetic order.

Fixed now.

Includes a few minor fixes where extension names were using inconsistent casing across the file.
2024-08-14 16:57:23 +02:00
jrfnl
0abd54d538 [skip ci] 8.4 | UPGRADING: join PDO entries
There were multiple headers for the same PDO extensions in the "New features" section.

This joins these together.
2024-08-14 16:57:23 +02:00
jrfnl
68d5c8145d [skip ci] 8.4 | UPGRADING: add missing RFC links
Includes fixing up existing (deprecations) RFC links which didn't directly link to the section within the RFC.
2024-08-14 16:57:23 +02:00
Gina Peter Banyard
74bf894950
ext/standard/info.c: Throw ValueErrors on invalid inputs to php_uname() (#15385) 2024-08-14 13:20:26 +01:00
Gina Peter Bnayard
d100caa476 [skip ci] Add NEWS/UPGRADING + wording amendment for GH-13483 2024-08-14 13:52:19 +02:00
Kamil Tekiela
8448db84a8
Mention in UPGRADING the MYSQLI_REFRESH_* constants 2024-08-13 16:23:44 +02:00
Ilija Tovilo
be6dee3c5d
Reset seen symbols when ending namespace (GH-15244)
Previously, seen symbols were never cleaned during the compilation of a single
file. This makes it impossible to use a class or function from a different
namespace if such a symbol is also declared within the same file. This is
inconsistent with how it would work when split into different files.
2024-08-13 15:47:14 +02:00
Máté Kocsis
587110c5bf
Deprecate Soft-deprecated DOMDocument and DOMEntity properties (#15369)
RFC: https://wiki.php.net/rfc/deprecations_php_8_4#formally_deprecate_soft-deprecated_domdocument_and_domentity_properties
2024-08-13 12:39:20 +01:00
David Carlier
d052d612d9
ext/sockets: adding SOCK_CLOEXEC/SOCK_NONBLOCK options.
targetted for socket_create_pair/socket_create, they re not considered
as socket type but to be ORed with these (to avoid socketpair2/socket2
likely), set O_CLOEXEC/O_NONBLOCK respectively on the file descriptors.

close GH-15322
2024-08-13 08:35:44 +01:00
Simonov Denis
225034dbbc
pdo_firebird: Formatting time zone types
As a follow-up to the commit which introduced support for Firebird 4.0+
data types[1], we add support for formats for types with time zones.

Since this uses the newer Firebird C++ API, pdo_firebird now requires a
C++ compiler to be built.

[1] <https://github.com/php/php-src/pull/14897>

Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>

Closes GH-15230.
2024-08-13 01:25:48 +02:00
Gina Peter Banyard
f5ae5ac804
ext/standard: Throw ValueErrors in str_getcsv() for invalid inputs (#15365)
This was forgotten when adjusting the behaviour of other CSV functions
2024-08-12 17:56:02 +01:00