History log of /PHP-8.4/UPGRADING (Results 1 – 25 of 1904)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 9ee60782 22-Nov-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] UPGRADING fixes (#16893)

It seems at one point these were (partially) rewritten, changing their
meaning. This patch fixes this.


# efe4fc9f 14-Nov-2024 Ayesh Karunaratne

UPGRADING: Fix `CURLOPT_TCP_KEEPCNT` entry


# 951dab74 17-Oct-2024 Ayesh Karunaratne

UPGRADING: Fix `IntlTimeZone::getIanaID` new method notice

This was previously written as `IntlDateFormatter::getIanaID()`, but
the new method is added to the `IntlTimeZone` class.

UPGRADING: Fix `IntlTimeZone::getIanaID` new method notice

This was previously written as `IntlDateFormatter::getIanaID()`, but
the new method is added to the `IntlTimeZone` class.

[skip ci]

show more ...


# 9a4ec401 15-Oct-2024 Gina Peter Banyard

[skip ci] Group similar entries in UPGRADING (#16420)

* [skip ci] Group similar entries in UPGRADING

This groups together:
- Class constants being typed
- Resource to object

[skip ci] Group similar entries in UPGRADING (#16420)

* [skip ci] Group similar entries in UPGRADING

This groups together:
- Class constants being typed
- Resource to object conversions
- New warnings and exceptions

Drive-by wording improvements
---------

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

show more ...


# 0be5dd12 15-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] Fix UPGRADING section


# da4eab6c 13-Oct-2024 Gina Peter Banyard

[skip ci] Some more organisational fixes to UPGRADING

Closes GH-16415


# cba92bea 24-Sep-2024 Matteo Beccati

PDO_MYSQL: Properly quote binary strings

Closes GH-15949


# 9939a990 05-Oct-2024 Christoph M. Becker

[skip ci] Mention AVX(2) detection fix for MSVC in UPGRADING

This is likely more important than the possibility to build for AVX-512
since our official binaries have build time support f

[skip ci] Mention AVX(2) detection fix for MSVC in UPGRADING

This is likely more important than the possibility to build for AVX-512
since our official binaries have build time support for SSE2 only. So
proper detection of AVX may make a huge performance difference for
`base64_*()` and some MBString functionality.

Closes GH-16248.

show more ...


# 820037d0 05-Oct-2024 Juliette <663378+jrfnl@users.noreply.github.com>

[skip ci] UPGRADING: mention SID deprecation (#16238)

Refs: https://wiki.php.net/rfc/deprecate-get-post-sessions / PR 13578

Co-authored-by: jrfnl <jrfnl@users.noreply.github.com>


# 96ae694a 03-Oct-2024 Gina Peter Banyard

[skip ci] UPGRADING: Move more stuff to the correct place

Closes GH-16201


# 50dfc436 03-Oct-2024 Gina Peter Banyard

[skip ci] Fix UPGRADING entries (#16176)

* [skip ci] Fix UPGRADING entries

* [skip ci] Add DBA new class


# d83a7a9f 30-Sep-2024 Chris Brown

Fix small typo in UPGRADING (#16141)


# 654b787e 24-Sep-2024 Bob Weinand

Add API to exempt function from being traced in JIT (#15559)

Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist.
The functionality currently onl

Add API to exempt function from being traced in JIT (#15559)

Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist.
The functionality currently only affects tracing JIT, but may be extended to other JIT modes in future.

show more ...


# 99bceda0 24-Sep-2024 Ayesh Karunaratne

ext/curl: Add `CURLINFO_POSTTRANSFER_TIME_T` support (GH-15849)

libcurl ref: [`CURLINFO_POSTTRANSFER_TIME_T`](https://curl.se/libcurl/c/CURLINFO_POSTTRANSFER_TIME_T.html)

`CURLINFO_

ext/curl: Add `CURLINFO_POSTTRANSFER_TIME_T` support (GH-15849)

libcurl ref: [`CURLINFO_POSTTRANSFER_TIME_T`](https://curl.se/libcurl/c/CURLINFO_POSTTRANSFER_TIME_T.html)

`CURLINFO_POSTTRANSFER_TIME_T` is a libcurl info option that returns
the time it took to "post" the transfer. Available since libcurl 8.10.0

This value is also exposed as `posttransfer_time_us` in the
`curl_getinfo()` return value when the `$option` parameter is not
passed.

show more ...


# ba748e7b 24-Sep-2024 Ayesh Karunaratne

ext/curl: Add `CURLOPT_DEBUGFUNCTION` option (GH-15674)

This adds support for `CURLOPT_DEBUGFUNCTION`[^1] Curl option to set a
custom callback that gets called with debug information dur

ext/curl: Add `CURLOPT_DEBUGFUNCTION` option (GH-15674)

This adds support for `CURLOPT_DEBUGFUNCTION`[^1] Curl option to set a
custom callback that gets called with debug information during the
lifetime of a Curl request.

The callback gets called with the `CurlHandle` object, an integer
containing the type of the debug message, and a string containing the
debug message. The callback may get called multiple times with the
same message type during a request.

PHP already uses `CURLOPT_DEBUGFUNCTION` functionality to internally
to expose a Curl option named `CURLINFO_HEADER_OUT`.

However,`CURLINFO_HEADER_OUT` is not a "real" Curl option supported
by libcurl. Back in 2006, `CURLINFO_HEADER_OUT` was added[^2] as
a Curl option by using the debug-callback feature. Git history does
not run that back to show why `CURLINFO_HEADER_OUT` was added as a
Curl option, and why the other debug types (such as
`CURLINFO_HEADER_IN` were not added as Curl options, but this seems
to be a historical artifact when we added features without trying
to be close to libcurl options.

This approach has a few issues:

1. `CURLINFO_HEADER_OUT` is not an actual Curl option supported by
upstream libcurl.

2. All of the Curl options have `CURLOPT_` prefix, and `CURLINFO_HEADER_OUT`
is the only Curl "option" that uses the `CURLINFO` prefix. This exception
is, however, noted[^3] in docs.

3. When `CURLINFO_HEADER_OUT` is set, the `CURLOPT_VERBOSE` is also implicitly
set. This was reported[^4] to bugs.php.net, but the bug is marked as wontfix.

This commit adds support for `CURLOPT_DEBUGFUNCTION`. It extends the existing
`curl_debug` callback to store the header-in information if it encounters
a debug message with `CURLINFO_HEADER_OUT`. In all cases, if a callable
is set, it gets called.

`CURLOPT_DEBUGFUNCTION` intends to replace `CURLINFO_HEADER_OUT` Curl
option as a versatile alternative that can also be used to extract
other debug information such as SSL data, text information messages,
incoming headers, as well as headers sent out (which `CURLINFO_HEADER_OUT`
makes available).

The callables are allowed to throw exceptions, but the return values are
ignored.

`CURLOPT_DEBUGFUNCTION` requires `CURLOPT_VERBOSE` enabled, and setting
`CURLOPT_DEBUGFUNCTION` does _not_ implicitly enable `CURLOPT_VERBOSE`.

If the `CURLOPT_DEBUGFUNCTION` option is set, setting `CURLINFO_HEADER_OUT`
throws a `ValueError` exception. Setting `CURLOPT_DEBUGFUNCTION` _after_
enabling `CURLINFO_HEADER_OUT` is allowed. Technically, it is possible
for both functionality (calling user-provided callback _and_ storing
header-out data) is possible, setting `CURLINFO_HEADER_OUT` is not
allowed to encourage the use of `CURLOPT_DEBUGFUNCTION` function.

This commit also adds the rest of the `CURLINFO_` constants used as
the `type` integer value in `CURLOPT_DEBUGFUNCTION` callback.

---

[^1]: [cur.se - CURLOPT_DEBUGFUNCTION](https://curl.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html)
[^2]: [`5f25d80`](https://github.com/php/php-src/commit/5f25d80d106004692dacb9c01cdc49c7c883a13a)
[^3]: [curl_setopt doc mentioning `CURLINFO_` prefix is intentional](https://www.php.net/manual/en/function.curl-setopt.php#:~:text=prefix%20is%20intentional)
[^4]: [bugs.php.net - `CURLOPT_VERBOSE` does not work with `CURLINFO_HEADER_OUT`](https://bugs.php.net/bug.php?id=65348)

show more ...


# 15dde9d3 24-Sep-2024 Tim Düsterhus

Add some entries to the performance section of UPGRADING (#16019)

* [skip ci] Mention `sprintf()` optimization in UPGRADING

* [skip ci] Mention ext/random performance improvements i

Add some entries to the performance section of UPGRADING (#16019)

* [skip ci] Mention `sprintf()` optimization in UPGRADING

* [skip ci] Mention ext/random performance improvements in UPGRADING

show more ...


# f6db576c 22-Sep-2024 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

[RFC] ext/bcmath: Added `bcdivmod` (#15740)

RFC: https://wiki.php.net/rfc/add_bcdivmod_to_bcmath

Added bcdivmod() function and added divmod() method to BcMath\Number class.


# 090b53bc 19-Sep-2024 Remi Collet

[ci skip] NEWS + UPGRADING


# 1b9568d3 01-Sep-2024 Ilija Tovilo

Implement backed enum coercion in http_build_query()

Fixes GH-15650
Closes GH-15704


# d313ad60 30-Dec-2023 Michael Voříšek

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


# 3afb9618 15-Sep-2024 Ayesh Karunaratne

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

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.

show more ...


# f756b96e 13-Sep-2024 Gina Peter Banyard

Make CSV deprecation less annoying to deal with (#15569)


# aa349503 13-Sep-2024 Christoph M. Becker

[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.

[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>

show more ...


# 2ced1c92 11-Sep-2024 DanielEScherzer

Add `ReflectionProperty::isDynamic()` as an alternative to `isDefault()` (#15758)

Dynamic properties are generally referred to as "dynamic" properties, while
non-dynamic properties are n

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

show more ...


# 8bcfc8cc 07-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement request #47317: SoapServer::__getLastResponse()

Convenient for debugging.

Closes GH-15792.


12345678910>>...77