History log of /php-src/UPGRADING (Results 26 – 50 of 1776)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 50dfc436 03-Oct-2024 Gina Peter Banyard

[skip ci] Fix UPGRADING entries (#16176)

* [skip ci] Fix UPGRADING entries

* [skip ci] Add DBA new class


# e609a219 29-Sep-2024 David Carlier

ext/pgsql: pgsql_copy_from to support iterable.

inspired from the Pdo\Pgsql new feature GH-15893.

close GH-16124


# d83a7a9f 30-Sep-2024 Chris Brown

Fix small typo in UPGRADING (#16141)


# daa94cf2 29-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement request #30622: make $namespace parameter functional

This parameter never actually did anything and was forgotten about.
We solve this by detecting when we have a $namespace ar

Implement request #30622: make $namespace parameter functional

This parameter never actually did anything and was forgotten about.
We solve this by detecting when we have a $namespace argument
(that won't conflict with the name argument) and creating a Clark
notation name out of it.

Closes GH-16123.

show more ...


# f5e81fe1 29-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Optimize in-memory XMLWriter

We're currently using a libxml buffer, which requires copying the buffer
to zend_strings every time we want to output the string. Furthermore,
its use of

Optimize in-memory XMLWriter

We're currently using a libxml buffer, which requires copying the buffer
to zend_strings every time we want to output the string. Furthermore,
its use of the system allocator instead of ZendMM makes it not count
towards the memory_limit and hinders performance.

This patch adds a custom writer such that the strings are written to a
smart_str instance, using ZendMM for improved performance, and giving
the ability to not copy the string in the common case where flush has
empty set to true.

Closes GH-16120.

show more ...


# bca73f1c 29-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] Fix typo


# 1da352c3 16-Jun-2024 David Carlier

ext/pgsql: adding pg_close_stmt.

up to postgresql 17, when done with a prepared statement, we could
release it with DEALLOCATE sql command which is fine ; until we want
to implement

ext/pgsql: adding pg_close_stmt.

up to postgresql 17, when done with a prepared statement, we could
release it with DEALLOCATE sql command which is fine ; until we want
to implement a cache solution based on statement ids.

Since PostgreSQL 17, PQclosePrepared uses internally the `close` protocol
allowing to reuse the statement name while still freeing it.
Since the close protocol implementation had been added on libpq within
this release, no way to reimplement it.

close GH-14584

show more ...


# 68537fd9 03-Sep-2024 Guillaume Outters

Fix / implement GH-15287: add a lazy fetch to Pdo\PgSql

Make Pdo\PgSql accept Pdo::setAttribute(PDO::ATTR_PREFETCH, 0) to enter libpq's single row mode.
This avoids storing the whole res

Fix / implement GH-15287: add a lazy fetch to Pdo\PgSql

Make Pdo\PgSql accept Pdo::setAttribute(PDO::ATTR_PREFETCH, 0) to enter libpq's single row mode.
This avoids storing the whole result set in memory before being able to call the first fetch().

close GH-15750

show more ...


# d4c88a29 28-Sep-2024 Gina Peter Banyard

ext/bz2: Check int params of bzcompress() are correct (#16108)

Also add a TODO to check the length of the source strings


# d3e65d54 27-Sep-2024 Gina Peter Banyard

ext/ldap: Throw a ValueError when passing an unknown option


# 7f5e96d0 15-Sep-2024 武田 憲太郎

ext/pdo_pgsql: Expanding COPY input from an array to an iterable

close GH-15893


# d21bc7f1 06-Sep-2024 Ilija Tovilo

Disallow enums in ArrayObject

Closes GH-15775


# 7bd0bcad 24-Sep-2024 Saki Takamachi

Prepare for PHP 8.4


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


12345678910>>...72