Skip to content

Releases: ThomasWeinert/FluentDOM

5.3.0

07 Jul 13:35
Compare
Choose a tag to compare
  • Changed: CSS Selectors are now provided by small connector libraries
  • Added: Interface FluentDOM\Xpath\Transformer, transform selectors to XPath
  • Added: QuerySelectors are now supported if a CSS2XPath library is installed
  • Refactored: extract some logic into private methods to reduce complexity
  • Implemented: cache validated qualified tag names, avoid repeating the validation with pcre.
    Can be configured using FluentDOM\QualifiedName::$cacheLimit
  • Implemented: Avoid sorting if nodes should be in order (FluentDOM\Nodes), faster
  • Implemented: Added FluentDOM\Nodes::FIND_FORCE_SORT, allow to force sorting for find()
  • Fixed: _require.php explicit class loading

5.2.1

05 Feb 17:52
Compare
Choose a tag to compare
  • Implemented: allow associative arrays in JsonDOM loader
  • Refactored: use === not just ==
  • Fixed: HHVM now has native properties, adapted XPath to Document connection

5.2.0

01 Feb 11:19
Compare
Choose a tag to compare
  • Added: FluentDOM\Loader\Text\CSV loads csv data into a xml document
  • Added: FluentDOM::registerLoader() as a plugin system for loaders provided by other composer packages
  • Added: FluentDOM\DocumentFragment is an extended version of the DOMDocumentFragment
    with support for the namespaces registered on the document object
  • Added: FluentDOM node classes now implement interfaces from the DOM Living Standard
    ParentNode (except query*), NonDocumentTypeChildNode, ChildNode
  • Added: FluentDOM::load() provides direct access to the loaders
  • Added: FluentDOM\Loader\JSONx loads JSONx into a JsonDOM document
  • Added: FluentDOM\Transformer\JSONx, transform a JsonDOM document to JSONx
  • Changed: FluentDOM\Serializer\Json now writes json using the JsonDOM rules.
  • Changed: FluentDOM\Nodes::find() now has options as the second argument, allow for match/filter modes
    match mode should improve performance and work better with xpath
  • Refactored: FluentDOM\Nodes\Compare implements compare for nodes, allow to optimize sorting
  • Refactored: most workarounds for HHVM are not necessary with HHVM 3.5, HHVM 3.5 is required for FluentDOM 5.2

5.1.1

03 Oct 14:50
Compare
Choose a tag to compare
  • Fixed: FluentDOM\Element::append() needs to ignore arrays and strings
    if checking for callable

5.1.0

20 Sep 13:04
Compare
Choose a tag to compare
  • Changed: All DOMNode descendants (FluentDOM\Document, FluentDOM\Element,
    FluentDOM\Text, ...) are now functors, allowing to evaluate an
    Xpath expression relative to them
  • Changed: FluentDOM\Xpath is now a functor.
  • Changed: FluentDOM\Element::apppend() is now longer restricted to
    FluentDOM\Appendable, but allows all kind of arguments
  • Added: FluentDOM\ProcessingInstruction extends DOMProcessingInstruction
  • Added: FluentDOM\Element::applyNamespaces(), adds xmlns
    attributes depending on the current namespace registration.
  • Added: New FluentDOM\Nodes\Creator allows for compact node creation
  • Added: FluentDOM\Loader\PHP\SimpleXml, load SimpleXmlElement
  • Added: FluentDOM\Loader\PHP\PDO, load PDO statements
  • Added: FluentDOM\Loader\Json\BadgerFish, load BadgerFish Json
  • Added: FluentDOM\Loader\Json\JsonML, load JsonML
  • Added: FluentDOM\Loader\Json\Rayfish, load Rayfish
  • Added: FluentDOM\Loader\Lazy, Lazy load other loaders
  • Added: FluentDOM\Serializer\Json\BadgerFish, generate BadgerFish Json
  • Added: FluentDOM\Serializer\Json\JsonML, generate JsonML
  • Added: FluentDOM\Serializer\Json\RabbitFish, generate RabbitFish Json
  • Added: FluentDOM\Serializer\Json\Rayfish, generate Rayfish Json
  • Added: FluentDOM\Transformer\Namespaces\Optimize, optimize
    namespace attributes, change prefixes
  • Added: FluentDOM\Transformer\Namespaces\Replace, replace namespaces

5.0.2

11 Aug 18:59
Compare
Choose a tag to compare
  • Fixed: Remove null bytes in FluentDOM\Xpath::quote()
  • Fixed: Namespace definition for Symfony CSS Selector

5.0.1

09 Aug 15:08
Compare
Choose a tag to compare
  • Fixed: Disable automatic namespace registration using the third
    argument to evaluate(), if activated using the property

5.0.0

31 Jul 12:57
Compare
Choose a tag to compare

Complete Rewrite!

  • PHP Namespaces, PSR-4 comatible, Composer support
  • Original FluentDOM functionality is now merged in FluentDOM\Query.
  • FluentDOM() function creates an FluentDOM\Query instance
  • FluentDOM\Query has a new loader concept
  • FluentDOM\Query allows to register a selector callback,
    allowing for CSS selectors using PhpCss
  • Several classes that extend the default DOM classes, fixing bugs
    and provide convenience
  • Changed: FluentDOM\Query::spawn() now clones the current object
  • Changed: FluentDOM\Query::andSelf() renamed to addBack(), mark andSelf()
    as deprecated
  • Added: FluentDOM\Query::html()
  • Added: FluentDOM\Query::outerXml()
  • Added: FluentDOM\Query::outerHtml()
  • Added: FluentDOM\Document - extends DOMDocument
  • Added: FluentDOM\Element - extends DOMElement
  • Added: FluentDOM\Attribute - extends DOMAttr
  • Added: FluentDOM\Comment - extends DOMComment
  • Added: FluentDOM\CdataSection - extends DOMCdataSection
  • Added: FluentDOM\Text - extends DOMText
  • Added: FluentDOM\Xpath - extends DOMXpath
  • Added: FluentDOM\Appendable - define objects appendable to a FluentDOM\Element
  • Added: FluentDOM\XmlSerializable - define objects serializable to xml fragments

4.1.5

29 Jul 18:34
Compare
Choose a tag to compare

Bugfix for internal node sorting

5.0.0 Release Candidate 3

24 Jun 21:02
Compare
Choose a tag to compare
Pre-release
5.0.0-RC3

Optimized FluentDOM\Nodes::getSelectorCallback()