NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #3061 most downloaded on Packagist
Syntactic sugar for the DOM API with a focus on XSLT 1.0 template manipulation.
Last release 3 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 2.0 years
Most releases are documented
notes for 9 of 14 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
15 releases · first in 2020
One column per quarter.
Full Changelog : 3.4.0...3.4.1
Full Changelog: 3.4.0...3.4.1
Added isEqualNode() polyfill to all extended classes:
Added isEqualNode() polyfill to all extended classes:
s9e\SweetDOM\Attrs9e\SweetDOM\Cdatasections9e\SweetDOM\Comments9e\SweetDOM\Documents9e\SweetDOM\DocumentFragments9e\SweetDOM\Elements9e\SweetDOM\TextIn order to improve compatibility with older versions of PHP as well as future versions of PHP, this release uses a different set of classes to implem
In order to improve compatibility with older versions of PHP as well as future versions of PHP, this release uses a different set of classes to implement node types depending on the PHP version. The base classes are those created directly in the s9e\SweetDOM namespace, and only those classes should be used when checking for class types.
On PHP older than 8.1.23, and on PHP versions from 8.2.0 to 8.2.9, the following methods are emulated:
ChildNode::afterChildNode::beforeChildNode::replaceWithParentNode::appendParentNode::prependThe following methods have been modified to match PHP 8.3's behaviour with regards to disconnected nodes (nodes with no parent) and align with the DOM specification.
ChildNode::afterChildNode::beforeChildNode::replaceWithThis version adds a polyfill for Element::replaceChildren() which is available in PHP 8.3.0 . There is currently no plans to add a similar polyfill to
This version adds a polyfill for Element::replaceChildren() which is available in PHP 8.3.0. There is currently no plans to add a similar polyfill to other implementors.
Full Changelog: 3.1.0...3.2.0
This version adds support for batch operations via document fragments. For example:
This version adds support for batch operations via document fragments. For example:
$dom = new s9e\SweetDOM\Document;
$dom->loadXML('<x/>');
$x = $dom->firstOf('//x');
$x->appendDocumentFragment(
// The callback will be executed before the fragment is appended
fn($fragment) => $fragment->appendXML('<y/><z/>')
);
echo $dom->saveXML($x);<x><y/><z/></x>Full Changelog : 3.0.0...3.0.1
Full Changelog: 3.0.0...3.0.1
This is a major update with a number of deprecations. See UPGRADING.md for a conversion guide.
Full Changelog: 2.1.2...3.0.0
This is a major update with a number of deprecations. See UPGRADING.md for a conversion guide.
New features:
after, append, before, prepend, and replaceWith.s9e\SweetDOM\Document has a new $nodeCreator property that can be used to extend the range of nodes that can be created by magic methods.Nothing published for this version
Full Changelog : 2.1.0...2.1.1
Full Changelog: 2.1.0...2.1.1
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This is 2.1.0 + 4e08ac8 and it is expected to work on PHP 7.1.
This is 2.1.0 + 4e08ac8 and it is expected to work on PHP 7.1.
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.
Runtime: PHP 7.1.33
Configuration: /SweetDOM/phpunit.xml
..............................................S.S................ 65 / 70 ( 92%)
..... 70 / 70 (100%)
Time: 40 ms, Memory: 4.00 MB
There were 2 skipped tests:
1) s9e\SweetDOM\Tests\ElementTest::testRemoveException
PHP >= 8.0 is required.
2) s9e\SweetDOM\Tests\ElementTest::testReplaceWithException
PHP >= 8.0 is required.
OK, but incomplete, skipped, or risky tests!
Tests: 70, Assertions: 70, Skipped: 2.
Your coding agent can read these notes before it upgrades. Set up the MCP server →