History log of /php-src/NEWS (Results 1101 – 1125 of 15454)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# e309fd84 10-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix lifetime issue with getAttributeNodeNS()

It's the same issue that I fixed previously in GH-11402, but in a
different place.

Closes GH-11422.


# 49fbbea2 10-Jun-2023 Jakub Zelenka

Fix GH-10406: fgets on a redis socket connection fails on PHP 8.3

This is an alternative implementation for GH-10406 that resets the
has_buffered_data flag after finishing stream read so

Fix GH-10406: fgets on a redis socket connection fails on PHP 8.3

This is an alternative implementation for GH-10406 that resets the
has_buffered_data flag after finishing stream read so it does not impact
other ops->read use like for example php_stream_get_line.

Closes GH-11421

show more ...


# d22d0e26 04-Feb-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement GH-8641: STREAM_NOTIFY_COMPLETED over HTTP never emitted

This adds support for the completed event. Since the read handler could
be entered twice towards the end of the stream

Implement GH-8641: STREAM_NOTIFY_COMPLETED over HTTP never emitted

This adds support for the completed event. Since the read handler could
be entered twice towards the end of the stream we remember what the eof
flag was before reading so we can emit the completed event when the flag
changes to true.

Closes GH-10505.

show more ...


# f2d673fb 08-Jun-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Fix #70359 and #78577: segfaults with DOMNameSpaceNode

* Fix type confusion and parent reference
* Manually manage the lifetime of the parent
* Add regression tests
* Break out t

Fix #70359 and #78577: segfaults with DOMNameSpaceNode

* Fix type confusion and parent reference
* Manually manage the lifetime of the parent
* Add regression tests
* Break out to a helper, and apply the use-after-free fix to xpath

Closes GH-11402.

show more ...


# fd09728b 28-Apr-2023 James Lucas

Fix bug GH-9356: Incomplete SAN validation of IPv6 address

IPv6 addresses are valid entries in subjectAltNames. Certificate
Authorities may issue certificates including IPv6 addresses ex

Fix bug GH-9356: Incomplete SAN validation of IPv6 address

IPv6 addresses are valid entries in subjectAltNames. Certificate
Authorities may issue certificates including IPv6 addresses except
if they fall within addresses in the RFC 4193 range. Google and
CloudFlare provide IPv6 addresses in their DNS over HTTPS services.

Internal CAs do not have those restrictions and can issue Unique
local addresses in certificates.

Closes GH-11145

show more ...


# a38e3c99 05-Jun-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Fix #79700: Bad performance with namespaced nodes due to wrong libxml assumption

* Use a prepending strategy instead of appending in dom_set_old_ns()

Looping to the end of the list

Fix #79700: Bad performance with namespaced nodes due to wrong libxml assumption

* Use a prepending strategy instead of appending in dom_set_old_ns()

Looping to the end of the list is wasteful. We can just put the new
nodes at the front of the list. I don't believe we can fully prepend,
because libxml2 may assume that the xml namespace is the first one, so
we'll put the new ones as the second one.

* Reuse namespaces from doc->oldNs if possible in dom_get_ns()

* Add a test for reconciling a reused namespace

* Explain why there can't be a cycle between oldNs and nsDef

Closes GH-11376.

Also fixes #77894.

show more ...


# 79d024ac 07-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Allow final modifier when using a method from a trait (#11394)

Fixes GH-11388.

Following https://wiki.php.net/rfc/horizontalreuse which introduced traits,
this should be allowed

Allow final modifier when using a method from a trait (#11394)

Fixes GH-11388.

Following https://wiki.php.net/rfc/horizontalreuse which introduced traits,
this should be allowed.
The implementation was refactored in 3f8c729. That commit is the first time
the "final" check appears AFAICT, but no reason was given for why. That
commit seems to have landed in 5.4.11 and the NEWS for that version doesn't
seem to mention something relevant to the behaviour change.
This patch removes the restriction of the final modifier.

Closes GH-11394.

show more ...


# 269d6c59 06-Jun-2023 Pierrick Charron

Update NEWS


# 5604f7ae 06-Jun-2023 Pierrick Charron

Update NEWS


# b720ab99 06-Jun-2023 Pierrick Charron

Update NEWS


# 5b430a25 06-Jun-2023 Jakub Zelenka

Update NEWS for PHP 8.3.0alpha1


# 0cc028c3 22-Dec-2022 Tim Starling

Changelog notes for DOMAttr value and nodeValue properties


# 61e1f8aa 03-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Let closure created from magic method accept named parameters

Implements GH-11348.

Closes GH-11364.


# 16a63d7b 13-May-2023 David CARLIER

ext/pgsql: php_pgsql_convert converts E_NOTICE to TypeError/ValueError exceptions.

Close GH-11238


# 0e34ac86 04-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #77686: Removed elements are still returned by getElementById

From the moment an ID is created, libxml2's behaviour is to cache that element,
even if that element is not yet atta

Fix bug #77686: Removed elements are still returned by getElementById

From the moment an ID is created, libxml2's behaviour is to cache that element,
even if that element is not yet attached to the document. Similarly, only upon
destruction of the element the ID is actually removed by libxml2.
Since libxml2 has such behaviour deeply ingrained in the library, and uses the
cache for various purposes, it seems like a bad idea and lost cause to fight it.
Instead, we'll simply walk the tree upwards to check if the node is attached to
the document.

Closes GH-11369.

show more ...


# 23f70025 03-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #81642: DOMChildNode::replaceWith() bug when replacing a node with itself

Closes GH-11363.


# b1d8e240 03-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #67440: append_node of a DOMDocumentFragment does not reconcile namespaces

The test was amended from the original issue report. For the test:
Co-authored-by: php@deep-freeze.ca

Fix bug #67440: append_node of a DOMDocumentFragment does not reconcile namespaces

The test was amended from the original issue report. For the test:
Co-authored-by: php@deep-freeze.ca

The problem is that the regular dom_reconcile_ns() only works on a
single node. We actually have to reconciliate the whole tree in case a
fragment was added. This also required to move some code around such
that this special case could be handled separately.

Closes GH-11362.

show more ...


# c3f07973 02-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement iteration cache, item cache and length cache for node list iteration (#11330)

* Implement iteration cache, item cache and length cache for node list iteration

The current

Implement iteration cache, item cache and length cache for node list iteration (#11330)

* Implement iteration cache, item cache and length cache for node list iteration

The current implementation follows the spec requirement that the list
must be "live". This means that changes in the document must be
reflected in the existing node lists without requiring the user to
refetch the node list.
The consequence is that getting any item, or the length of the list,
always starts searching from the root element of the node list. This
results in O(n) time to get any item or the length. If there's a for
loop over the node list, this means the iterations will take O(n²) time
in total. This causes real-world performance issues with potential for
downtime (see GH-11308 and its references for details).

We fix this by introducing a caching strategy. We cache the last
iterated object in the iterator, the last requested item in the node
list, and the last length computation. To invalidate the cache, we
simply count the number of modifications made to the containing
document. If the modification number does not match what the number was
during caching, we know the document has been modified and the cache is
invalid. If this ever overflows, we saturate the modification number and
don't do any caching anymore. Note that we don't check for overflow on
64-bit systems because it would take hundreds of years to overflow.

Fixes GH-11308.

show more ...


# 78127721 30-May-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Fix GH-11347: Memory leak when calling a static method inside an xpath query

It's a type confusion bug. `zend_make_callable` may change the function name
of the fci to become an array, c

Fix GH-11347: Memory leak when calling a static method inside an xpath query

It's a type confusion bug. `zend_make_callable` may change the function name
of the fci to become an array, causing a crash in debug mode on
`zval_ptr_dtor_str(&fci.function_name);` in `dom_xpath_ext_function_php`.
On a production build it doesn't crash but only causes a leak, because
the array elements are not destroyed, only the array container itself
is. We can use the nogc variant because it cannot contain cycles, the
potential array can only contain 2 strings.

Closes GH-11350.

show more ...


# c6ae7a55 16-May-2023 James Lucas

Fix bug GH-11246 cli/get_set_process_title

Fail to clobber_error only when the argv is a non-contiguous area
Don't increment the end_of_error if a non-contiguous area is encountered in e

Fix bug GH-11246 cli/get_set_process_title

Fail to clobber_error only when the argv is a non-contiguous area
Don't increment the end_of_error if a non-contiguous area is encountered in environ

Closes GH-11247

show more ...


# b374ec39 29-May-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Fix DOMElement::append() and DOMElement::prepend() hierarchy checks

We could end up in an invalid hierarchy, resulting in infinite loops and
eventual crashes if we don't check for the DO

Fix DOMElement::append() and DOMElement::prepend() hierarchy checks

We could end up in an invalid hierarchy, resulting in infinite loops and
eventual crashes if we don't check for the DOM hierarchy validity.

Closes GH-11344.

show more ...


# 154c2510 29-May-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix spec compliance error for DOMDocument::getElementsByTagNameNS

Spec link: https://dom.spec.whatwg.org/#concept-getelementsbytagnamens
Spec says we should match any namespace when '*'

Fix spec compliance error for DOMDocument::getElementsByTagNameNS

Spec link: https://dom.spec.whatwg.org/#concept-getelementsbytagnamens
Spec says we should match any namespace when '*' is provided. This was
however not the case: elements that didn't have a namespace were not
returned. This patch fixes the error by modifying the namespace check.

Closes GH-11343.

show more ...


# 9c59d22a 29-May-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-11336: php still tries to unlock the shared memory ZendSem with opcache.file_cache_only=1 but it was never locked

I chose to check for the value of lock_file instead of checking the

Fix GH-11336: php still tries to unlock the shared memory ZendSem with opcache.file_cache_only=1 but it was never locked

I chose to check for the value of lock_file instead of checking the
file_cache_only, because it is probably a little bit faster and we're
going to access the lock_file variable anyway. It's also more generic.

Closes GH-11341.

show more ...


# bce53606 29-May-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-11338: SplFileInfo empty getBasename with more than one slash

Regressed in 13e4ce386bb7.

Closes GH-11340.


# 761b9a44 29-May-2023 divinity76

Fix return value in stub file for DOMNodeList::item

Not explicitly documenting the possibility of returning DOMElement causes
the Intelephense linter (a popular PHP linter with ~9 millio

Fix return value in stub file for DOMNodeList::item

Not explicitly documenting the possibility of returning DOMElement causes
the Intelephense linter (a popular PHP linter with ~9 million downloads:
https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client)
to think this code is bad:

$xp->query("whatever")->item(0)->getAttribute("foo");

DOMNode does not have getAttribute (while DOMElement does).
Documenting the DOMElement return type should fix Intelephense's linter.

Closes GH-11342.

show more ...


1...<<41424344454647484950>>...619