• Tests did pass in 7.4, but numerous warnings were triggered concerning
method declaration type differences because php 7.4's type declarations
for DOM methods were mostly nonexistent.
• Moved all of preInsertionValidity to ParentNode; removed
AbstractDocument
• Added host property to HTMLTemplateElement
• Increased required PHP version to 7.4
• Document::__construct now accepts \DOMDocument|string|null as its source.
• Document::serialize has been removed in favor of Document::saveHTML, making it more in line with PHP's DOM.
• Added Document::loadDOM for loading a vanilla PHP \DOMDocument into this library. As mentioned above Document::__constructor also accepts a \DOMDocument.
• Document::importNode will correctly convert an imported template element as a HTMLTemplateElement.
• TemplateElement is now HTMLTemplateElement.
• DOM walker methods now correctly check if the output of the closure is true
• Unnecessary test cases removed.
• Moved the ancestor and descendant methods into their own traits along with the compare method which they share.
• Made DocumentFragment use only the descendant methods and not the ancestor ones.
• Fixed error in README.
• Added an option to use Document::loadHTML or Document::load to parse a document.
• Made the DOM elements use dW\HTML5 namespace instead of dW\HTML5\DOM.
• Fixed where TreeBuilder wasn't being properly destructed when the parser is finished.
• Removed dependency on ext-mbstring.
• Fixed bug where when using DataStream::consumeUntil and DataStream::consumeWhile where the column would be advanced whether the pointer was moved or not.
• Changed DataStream from using an internal array storage to using /mensbeam/intl, much more efficient and in line with the specification.
• DataStream now calculates the line and column as it goes instead of relying upon a weird array of positions.
• Removed dependency on ext-intl.