Skip to content

Releases: PhpGt/Dom

Updating IDs on the fly

12 Jul 19:11
6d802e8
Compare
Choose a tag to compare

What's Changed

Native DOMDocument extension

01 Jul 11:24
e27378f
Compare
Choose a tag to compare

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

26 Feb 14:25
234c3f2
Compare
Choose a tag to compare

In this release:

  • PHP 8.1 type deprecations are resolved (#328)
  • Schema is created when loading HTML with <script> tags (#324)
  • Test dependencies bumped (#327)

Extra check for falsey values when setting Element::$value

30 Jan 16:48
762e108
Compare
Choose a tag to compare

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

30 Jan 16:13
83dcb5a
Compare
Choose a tag to compare
  • 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

13 Nov 16:03
Compare
Choose a tag to compare

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)

15 Sep 18:37
cbe5a00
Compare
Choose a tag to compare

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

06 Sep 17:19
c68e408
Compare
Choose a tag to compare
Pre-release

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

07 May 11:04
Compare
Choose a tag to compare
Pre-release

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

23 Dec 12:33
af202e2
Compare
Choose a tag to compare

A few minor updates to the CI process have been made, along with a new test and functionality fix to innerHTML thanks to @speich.