History log of /php-src/UPGRADING (Results 126 – 150 of 1596)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# f150f997 11-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Improve browscap get_browser performance (#12651)

* Split function and use _new variant to avoid redundant checks

* Precompute better array size to avoid rehashing

* Use ne

Improve browscap get_browser performance (#12651)

* Split function and use _new variant to avoid redundant checks

* Precompute better array size to avoid rehashing

* Use new function to add into array instead of merging into, preventing temporary memory allocations

* Convert to regex without separate copy + lowering

We're already doing a character-wise loop after lowering, so just lower
it character by character instead of looping over it twice and
allocating memory.

* Use HASH_MAP loop because htab can never be packed

This saves additional checks.

* Move destructor to more sensible place

* Remove now unused browscap_zval_copy_ctor

* Use zend_string_release_ex variant where possible

* Implement dedicated greedy wildcard matching algorithm

This avoids compiling, allocating and caching regexes and should run in
the same complexity.

* Cache previous length instead of repeatedly recomputing it

* Add additional optimization to wildcard * matching

* Move cheap checks to the callsite

The function prologue and epilogue have a stupidly high overhead for
those 2 simple checks at the start.

We can't always-inline the reg_compare function because it contains
alloca, and the alloca is really important for performance.
Instead, move those cheap checks to the call site.

* Use specialised loop to avoid unnecessary conversions and checks

* Optimize counting loop by taking into account the prefix

* Precompute the hash values of known keys

* [ci skip] UPGRADING

* Code style

* Add a note why we have the early-skip checks in the loop

show more ...

# 63898008 10-Nov-2023 Dmitriy Degtyaryov

Fix GH-9344: pgsql pipeline mode proposal.

Adding pg_send_flush_request.
Fix freeze after next execute pg_send_* on PQgetResult in _php_pgsql_link_has_results.
Set nonblocking for pi

Fix GH-9344: pgsql pipeline mode proposal.

Adding pg_send_flush_request.
Fix freeze after next execute pg_send_* on PQgetResult in _php_pgsql_link_has_results.
Set nonblocking for pipelining mode.
No flush client buffer in pg_send_* for pipelining mode.

Close GH-12644

show more ...

# 1ad5f9da 04-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] UPGRADING

# 9a973a37 04-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Optimize strcspn (#12594)

# ee5fe483 02-Nov-2023 David Carlier

[ci skip] fix typo in UPGRADING

# d4183c2c 01-Nov-2023 David Carlier

[ci skip] Intl extension UPGRADING note

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

Fix GH-12532: PharData created from zip has incorrect timestamp

The datetime stored in the DOS time fields, which is what zip standard
uses, is local time without a timezone. There's an

Fix GH-12532: PharData created from zip has incorrect timestamp

The datetime stored in the DOS time fields, which is what zip standard
uses, is local time without a timezone. There's an extension to the zip
file format since '97 that allows storing a unix timestamp (in UTC) in
the header for both the central directory and the local entries.
This patch adds support for this.

Closes GH-12548.

show more ...

# 74ba9167 29-Oct-2023 Jorg Adam Sowa

Typed constants in sqlite extension (#12379)

# 9ad78441 29-Oct-2023 Jorg Adam Sowa

Typed constants in Intl extenstion (#12360)

# dff8679a 29-Oct-2023 Jorg Adam Sowa

Typed constants in PDO extension (#12362)

# d04854b3 23-Oct-2023 Alex Dowad

Add fast mb_strcut implementation for UTF-16

Similar to the fast, specialized mb_strcut implementation for UTF-8
in 1f0cf133db, this new implementation of mb_strcut for UTF-16 strings

Add fast mb_strcut implementation for UTF-16

Similar to the fast, specialized mb_strcut implementation for UTF-8
in 1f0cf133db, this new implementation of mb_strcut for UTF-16 strings
just examines a few bytes before each cut point.

Even for short strings, the new implementation is around 2x faster.
For strings around 10,000 bytes in length, it comes out about 100-500x
faster in my microbenchmarks.

The new implementation behaves identically to the old one on valid
UTF-16 strings; a fuzzer was used to help verify this.

show more ...

# e8d8a5fe 28-Oct-2023 Jorg Adam Sowa

Typed constants in reflection extension (#12378)

# e58af7c1 12-Oct-2023 Viktor Vassilyev

ext/soap: Add support for clark notation for namespaces in class map

Closes GH-12411.

# 98b08c52 22-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement request #68325: parse huge option for xml_parser_create (#12256)

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

# 3e29332a 30-Sep-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.3'

* PHP-8.3:
Apply SimpleXML iterator fixes only on master


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

12345678910>>...64