Releases: PhpGt/Dom
Updating IDs on the fly
Native DOMDocument extension
In v3, a Facade was implemented to reach 100% compatibility with W3C's specification.
In this v4 release, we see a drop of the Facade to go back to a native DOMDocument extension. This is because the native libxml bindings are extremely performant, and plain PHP simply can't compete. We used the existing unit tests to ensure there isn't any regression in functionality, but there are certain new quirks due to the libxml implementation, clearly documented in the README.
PHP 8.1 compatibility
Extra check for falsey values when setting Element::$value
This minor patch release compares between null and falsey values, fixing a bug where elements with "0" as their value would not be selected if they also had a textContent value.
v3.0.1 release
- Unicode support for emoji in innerHTML
- Select value: handle settings the
value
attribute of a HTMLSelectElement
Full Changelog: v3.0.0...v3.1.0
Add fixes to be compatible with PHP 8.1
Massive thanks to @andrewbess for this improvement to the v2 release.
- The composer dependencies have been updated to be compatible with PHP 8.1
- Added fixes for extension have been compatible with PHP 8.1
- build: normalise dependency versions
Facade release (v3)
This new version has been a long time in development, but now is the time to make a formal v3 release.
The RC version releases were already fully unit tested, but have been used heavily in real world projects over the last few months, where many improvements have been found.
This stable release is being made after the last static analysis improvements have been made.
As always, have fun and stay productive!
Facade release candidate 2
This second release candidate is made ready for full release within the month. Included within this RC are minor tweaks, including typehint improvements and the implementation of RadioNodeList
. Any future functionality will be made as subsequent v3 releases, the only updates this month will be minor tweaks or bugfixes.
Facade release candidate
In this release we take advantage of the facade design pattern to provide a set of classes that iron out any creases with the W3C DOM Specification. In previous versions, we were using libxml-provided classess (DOMDocument, DOMNode, etc.) and extending with our own functionality, but this meant that it was impossible to deviate from the inheritance model supplied by libxml.
The footprint of this version should be identical, but with added classes to represent the different types of Node extension.
Creating objects within the DOM is typically done through Factory classes, as most constructors are private to allow for more controlled/abstracted object creation.
Please test this release candidate and submit feedback through the issues list.
Have fun!
December 2020
A few minor updates to the CI process have been made, along with a new test and functionality fix to innerHTML
thanks to @speich.