#
0e5d6544 |
| 20-Oct-2023 |
George Peter Banyard |
ext/xml: Refactor extension to use FCC instead of zvals for handlers (#12340) To get proper errors and sensible behaviour, as the current behaviour is somewhat insane and part of it should b
ext/xml: Refactor extension to use FCC instead of zvals for handlers (#12340) To get proper errors and sensible behaviour, as the current behaviour is somewhat insane and part of it should be axed ASAP. The behaviour is mostly intact with some minor BC breaks which are mentioned in UPGRADING. Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
show more ...
|
#
b5c287e4 |
| 12-Oct-2023 |
SakiTakamachi |
Fix GH-12423: Changed to prioritize DSN authentication information over arguments. Added connection test Close GH-12424
|
#
d0b29d82 |
| 13-Oct-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Optimize strspn() The current implementation uses a nested loop (for + goto), which has complexity O(|s1| * |s2|). If we instead use a lookup table, the complexity drops to O(|s1| +
Optimize strspn() The current implementation uses a nested loop (for + goto), which has complexity O(|s1| * |s2|). If we instead use a lookup table, the complexity drops to O(|s1| + |s2|). This is conceptually the same strategy that common C library implementations such as glibc and musl use. The variation with a bitvector instead of a table also gives a speed-up, but the table variation was about 1.34x faster. On microbenchmarks this easily gave a 5x speedup. This can bring a 1.4-1.5% performance improvement in the Symfony benchmark. Closes GH-12431.
show more ...
|
#
57a8f63f |
| 08-Oct-2023 |
David Carlier |
[ci skip] UPGRADING pgsql update
|
#
009d48da |
| 08-Oct-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Convert bounds exception in SplFixedArray to OutOfBoundsException instead of RuntimeException (#12383)
|
#
f0757100 |
| 07-Oct-2023 |
Jorg Adam Sowa |
Typed constants in SPL extension (#12358)
|
#
3bb56ae4 |
| 06-Oct-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Add missing properties to xsl stub (#12334) * Define doXInclude for XSLTProcessor, and test the property This was added in 8d1427dd98, but never defined on the stub. It was more
Add missing properties to xsl stub (#12334) * Define doXInclude for XSLTProcessor, and test the property This was added in 8d1427dd98, but never defined on the stub. It was more or less fine when dynamic properties were not deprecated, but now they throw a deprecation warning. To fix it, define on the stub. This should also help discoverability of the functionality. * Define cloneDocument for XSLTProcessor, and test the property This was introduced in 5c039bbad9, but never defined on the stub. It was more or less fine when dynamic properties were not deprecated, but now they throw a deprecation warning. To fix it, define on the stub. This should also help discoverability of the functionality.
show more ...
|
#
42a85fc5 |
| 06-Oct-2023 |
Tim Düsterhus |
password_hash: Increase PHP_PASSWORD_BCRYPT_COST to 12 (#12367) RFC: https://wiki.php.net/rfc/bcrypt_cost_2023
|
#
5c749ad4 |
| 30-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement request #64137 (XSLTProcessor::setParameter() should allow both quotes to be used) This reimplements the parameter handling. Instead of quoting the strings manually, adding the
Implement request #64137 (XSLTProcessor::setParameter() should allow both quotes to be used) This reimplements the parameter handling. Instead of quoting the strings manually, adding them to an array, and passing that as input; use the libxslt API to pass data verbatim to the processor. This also simplifies the code a lot. Closes GH-12331.
show more ...
|
#
5d68d619 |
| 22-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement #53655: Improve speed of DOMNode::C14N() on large XML documents The XPath query is in accordance to spec [1]. However, we can do it in a simpler way. We can use a custom callba
Implement #53655: Improve speed of DOMNode::C14N() on large XML documents The XPath query is in accordance to spec [1]. However, we can do it in a simpler way. We can use a custom callback function instead of a linear search in XPath to check if a node is visible. Note that comment nodes are handled internally by libxml2 already, so we do not need to differentiate between node types. The callback will do an upwards traversal of the tree until the root of the canonicalization is reached. In practice this will speed up the application a lot. [1] https://www.w3.org/TR/2001/REC-xml-c14n-20010315 section 2.1 Closes GH-12278.
show more ...
|
#
ce6e58cf |
| 22-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[ci skip] Move things to the right section in UPGRADING
|
#
659c06d4 |
| 22-Sep-2023 |
Tim Düsterhus |
UPGRADING: Move the validation of the rounding mode to Backward Incompatible Changes
|
#
3d857d5b |
| 22-Sep-2023 |
Tim Düsterhus |
round(): Validate the rounding mode (#12252)
|
#
f6fae19a |
| 21-Sep-2023 |
David Carlier |
ext/intl: expose dateformat UDAT_PATTERN constant. Close GH-12258
|
#
9652889b |
| 19-Sep-2023 |
Tim Düsterhus |
Reimplement `php_round_helper()` using `modf()` (#12220) This change makes the implementation much easier to understand, by explicitly handling the various cases. It fixes round
Reimplement `php_round_helper()` using `modf()` (#12220) This change makes the implementation much easier to understand, by explicitly handling the various cases. It fixes rounding for `0.49999999999999994`, because no loss of precision happens by adding / subtracing `0.5` before turning the result into an integral float. Instead the fractional parts are explicitly compared. see GH-12143 (this fixes one of the reported cases) Closes GH-12159 which was an alternative attempt to fix the rounding issue for `0.49999999999999994`
show more ...
|
#
880faa39 |
| 08-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Add DOMNode::compareDocumentPosition() (#12146) Reference: https://dom.spec.whatwg.org/#dom-node-comparedocumentposition
|
#
4ad5388b |
| 06-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[ci skip] UPGRADING
|
#
ad2ac6f0 |
| 29-Aug-2023 |
Pierrick Charron |
Prepare for PHP 8.4
|
#
0b9702c9 |
| 10-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement GH-11934: Allow to pass CData into struct and/or union fields Co-authored-by: KapitanOczywisty <44417092+KapitanOczywisty@users.noreply.github.com> Closes GH-11935.
|
#
1754794f |
| 28-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[ci skip] Fix typos in UPGRADING
|
#
766cac07 |
| 28-Aug-2023 |
Jakub Zelenka |
Fix bug #76857: Can read "non-existant" files This change makes checked and opened file consistent in a way that it is using real path for stat operation in the same way like it is used
Fix bug #76857: Can read "non-existant" files This change makes checked and opened file consistent in a way that it is using real path for stat operation in the same way like it is used for open. Closes GH-12067
show more ...
|
#
ba9650d6 |
| 27-Aug-2023 |
Jakub Zelenka |
Fix bug #52335 (fseek() on memory stream behavior different then file) This changes memory stream to allow seeking past end which makes it the same as seeking on files. It means the posi
Fix bug #52335 (fseek() on memory stream behavior different then file) This changes memory stream to allow seeking past end which makes it the same as seeking on files. It means the position is allowed to be higher than the string length. The size only increases if data is appended to the past position. The space between the previous string and position is filled with zero bytes. Fixes GH-9441 Closes GH-12058
show more ...
|
#
10e16347 |
| 28-Aug-2023 |
Jakub Zelenka |
Format UPGRADING
|
#
aff46d75 |
| 25-Aug-2023 |
Jakub Zelenka |
Fix GH-11982: str_getcsv returns null byte for unterminated quoted string Closes GH-12047
|
#
d7eb4cfd |
| 24-Aug-2023 |
Marcus Bointon |
[ci skip] Add note about ReflectionProperty::setValue() signature deprecation to upgrade guide (#12036)
|