History log of /PHP-8.2/UPGRADING.INTERNALS (Results 1 – 25 of 400)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c1609976 12-Feb-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] Update UPGRADING.INTERNALS for "%S" modifier


# eb76a830 11-Feb-2024 Peter Kokot

Remove PHP atomic includes and PHP_DEFINE M4 macro (#13372)

PHP_DEFINE was introduced with the PHP 5 build system
9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via
350

Remove PHP atomic includes and PHP_DEFINE M4 macro (#13372)

PHP_DEFINE was introduced with the PHP 5 build system
9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via
350de12bc24472ccf20ff9a8b39a6da0185c070d.

This was once used to put defined constants into a single file to have
more fine-graned dependencies (atomic includes). Since no known PHP
extension is using this and it makes very little sense to use this, this
M4 macro can be removed in favor of the Autoconf native way using
AC_DEFINE and the usual included files php_config.h and config.h.

- Generated unused include directory removed
- Remove include dir from DEFS
- Remove also include dir from PDO checks

show more ...


# 250547c7 11-Feb-2024 Peter Kokot

Remove unused symbol HAVE_BSD_ICONV (#13373)


# 41e3044f 09-Feb-2024 Peter Kokot

Remove obsolete check for missing fclose declaration (#13360)

SunOS 4.1.4 from 1994 didn't have fclose declared in standard header
stdio.h. This doesn't need to be checked anymore, as fc

Remove obsolete check for missing fclose declaration (#13360)

SunOS 4.1.4 from 1994 didn't have fclose declared in standard header
stdio.h. This doesn't need to be checked anymore, as fclose is part of
the C89+ standard and declaration is present on Solaris 10 (SunOS 5.10)
and later.

show more ...


# 5752bbda 07-Feb-2024 Peter Kokot

[skip ci] Add oci extensions notes to upgrading docs


# e76f9e2b 07-Feb-2024 Peter Kokot

Remove DARWIN symbol (#13346)

When targeting Darwin systems (macOS, etc.), the compiler defines the
__APPLE__ symbol, which should be sufficient and a more established
detection meth

Remove DARWIN symbol (#13346)

When targeting Darwin systems (macOS, etc.), the compiler defines the
__APPLE__ symbol, which should be sufficient and a more established
detection method practice in these cases.

show more ...


# f9cfd40f 06-Feb-2024 Peter Kokot

Refactor utsname.domainname struct member Autoconf check (#13336)

* Refactor utsname.domainname struct member Autoconf check

Autoconf's AC_CHECK_MEMBERS macro (available since Autoc

Refactor utsname.domainname struct member Autoconf check (#13336)

* Refactor utsname.domainname struct member Autoconf check

Autoconf's AC_CHECK_MEMBERS macro (available since Autoconf 2.50) can be
used instead of the compile check. This was originally implemented for
IRIX compatibility, when Autoconf 2.13 didn't have the struct members
checking macro yet.

Macro by default here defines the HAVE_STRUCT_UTSNAME_DOMAINNAME symbol.

* Remove also redundant DARWIN symbol check

Checking in the configuration step also correctly detects missing struct
member on Darwin systems (macos...).

show more ...


# 631bc816 06-Feb-2024 Ilija Tovilo

Implement stackless internal function calls

Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12461


# 1cc0a167 04-Feb-2024 Peter Kokot

[skip ci] Add note about ext/imap removal in upgrading docs

The imap extension has been moved to PECL. Adding a note about configure
options changes also in the UPGRADING.INTERNALS for e

[skip ci] Add note about ext/imap removal in upgrading docs

The imap extension has been moved to PECL. Adding a note about configure
options changes also in the UPGRADING.INTERNALS for easier build scripts
adjustments.

show more ...


# 97b3b455 01-Feb-2024 Tim Düsterhus

random: Move CSPRNG API into php_random_csprng.h (#13290)

This allows consumers of just the CSPRNG to include a much smaller header. It
also allows to verify at a glance whether a source

random: Move CSPRNG API into php_random_csprng.h (#13290)

This allows consumers of just the CSPRNG to include a much smaller header. It
also allows to verify at a glance whether a source file might use non-secure
randomness.

This commit includes the new header wherever the CSPRNG is used, possibly
replacing the inclusion of php_random.h if nothing else is used, but also
includes it in the main php_random.h header for compatibility.

Somewhat related to 45f8cfaf104f504340b0073b9736bb50a88d70a1,
2b30f18708b4f73d2c1d29d3a92a606ebdc5ac4c, and
b14dd85dca3b67a5462f5ed9b6aa0dc22beb615c.

show more ...


# 649fafb5 01-Feb-2024 Peter Kokot

Remove HAVE_JSON symbol (#13277)

The json extension is always available as of php 8.0. HAVE_JSON was also
never defined for Windows builds.


# b3bdc236 30-Jan-2024 Peter Kokot

Remove unused Makefile variables FIBER_ASSEMBLER and FIBER_ASM_ARCH

In Windows build system these were replaced with common PHP_ASSEMBLER
and FIBER_ASM_ABI when adjusting for the arm64.

Remove unused Makefile variables FIBER_ASSEMBLER and FIBER_ASM_ARCH

In Windows build system these were replaced with common PHP_ASSEMBLER
and FIBER_ASM_ABI when adjusting for the arm64.

Closes GH-13263

show more ...


# d5dae8bd 17-Jan-2024 Peter Kokot

[skip ci] Update upgrading docs for build related changes (#13176)

This updates the UPGRADING documents with current build system changes
done since the PHP-8.3 release.


# 90785dd8 12-Jan-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] Improve callbacks in ext/dom and ext/xsl (#12627)


# b1f5ca59 12-Jan-2024 Tim Düsterhus

Remove ext/random backwards-compatibility headers (#13108)

When ext/random was initially added in PHP 8.2, these headers started
“forwarding” to the new ext/random/php_random.h to reduce

Remove ext/random backwards-compatibility headers (#13108)

When ext/random was initially added in PHP 8.2, these headers started
“forwarding” to the new ext/random/php_random.h to reduce the impact on
existing extensions.

As master already contains some breaking changes of the internal API of
ext/random and as the last PHP version without ext/random will be EOL once
master is released, it appears appropriate to drop these headers now.

show more ...


# 97267215 10-Jan-2024 David CARLIER

general signatures discrepencies fixes (#13122)


# 162e1dce 09-Jan-2024 Tim Düsterhus

random: Optimize data flow for the `generate` function of native engines (#13043)

Instead of returning the generated `uint64_t` and providing the size (i.e. the
number of bytes of the ge

random: Optimize data flow for the `generate` function of native engines (#13043)

Instead of returning the generated `uint64_t` and providing the size (i.e. the
number of bytes of the generated value) out-of-band via the
`last_generated_size` member of the `php_random_status` struct, the `generate`
function is now expected to return a new `php_random_result` struct containing
both the `size` and the `result`.

This has two benefits, one for the developer:

It's no longer possible to forget setting `last_generated_size` to the correct
value, because it now happens at the time of returning from the function.

and the other benefit is for performance:

The `php_random_result` struct will be returned as a register pair, thus the
`size` will be directly available without reloading it from main memory.

Checking a simplified version of `php_random_range64()` on Compiler Explorer
(“Godbolt”) with clang 17 shows a single change in the resulting assembly
showcasing the improvement (https://godbolt.org/z/G4WjdYxqx):

- add rbp, qword ptr [r14]
+ add rbp, rdx

Empirical testing confirms a measurable performance increase for the
`Randomizer::getBytes()` method:

<?php
$e = new Random\Engine\Xoshiro256StarStar(0);
$r = new Random\Randomizer($e);

var_dump(strlen($r->getBytes(100000000)));

goes from 250ms (before the change) to 220ms (after the change). While
generating 100 MB of random data certainly is not the most common use case, it
confirms the theoretical improvement in practice.

show more ...


# 03547f68 03-Jan-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Remove properties field from php_libxml_node_object (#13062)

This shrinks the struct from 80 bytes to 72 bytes.
This was unused internally, I did not find users externally via GitHub

Remove properties field from php_libxml_node_object (#13062)

This shrinks the struct from 80 bytes to 72 bytes.
This was unused internally, I did not find users externally via GitHub
search.
The intention for this was that it could be used for attaching extra
data as a 3rd party to a node. However, there are better mechanisms for
that like using actual objects.

show more ...


# 5d853788 17-Dec-2023 Marc Bennewitz

[ci skip] Added UPGRADING entry for GH-12413

Closes GH-12964.


# 642e1114 11-Dec-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Minor pcre optimizations (#12923)

* Update signature of pcre API

This changes the variables that are bools to actually be bools instead
of ints, which allows some additional opt

Minor pcre optimizations (#12923)

* Update signature of pcre API

This changes the variables that are bools to actually be bools instead
of ints, which allows some additional optimization by the compiler (e.g.
removing some ternaries and move extensions).

It also gets rid of the use_flags argument because that's just the same
as flags == 0. This reduces the call frame.

* Use zend_string_release_ex where possible

* Remove duplicate symbols from strchr

* Avoid useless value conversions

* Use a raw HashTable* instead of a zval

* Move condition

* Make for loop cheaper by reusing a recently used value as start iteration index

* Remove useless condition

This can't be true if the second condition is true because it would
require the string to occupy the entire address space.

* Upgrading + remark

show more ...


# b34b4d54 14-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix #44383: PHP DateTime not converted to xsd:datetime

Closes GH-12437.
Closes GH-11725.


# 1492be52 13-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] DOM HTML5 parsing and serialization support (#12111)


# 7699534d 21-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Remove php_xsl_create_object() (#12492)


# 80b4c730 18-Oct-2023 Ilija Tovilo

Implement diagnostic ignore macro for Clang

Newer versions of Clang now also complain about -Wscript-prototypes for included
headers.

Closes GH-12467


# 345ac90e 11-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Introduce Z_PARAM_FUNC_EX2 to maintain compatibility (#12419)

Commit d86314939c added an additional parameter to Z_PARAM_FUNC_EX.
To maintain compatibility with third-party extensions, w

Introduce Z_PARAM_FUNC_EX2 to maintain compatibility (#12419)

Commit d86314939c added an additional parameter to Z_PARAM_FUNC_EX.
To maintain compatibility with third-party extensions, we keep
Z_PARAM_FUNC_EX as it used to be, and add Z_PARAM_FUNC_EX2 instead.

show more ...


12345678910>>...16