Skip to content

Latest commit

 

History

History
130 lines (96 loc) · 4.05 KB

CHANGELOG.md

File metadata and controls

130 lines (96 loc) · 4.05 KB

CHANGELOG

7.0

  • Add argument $normalizeWhitespace to Crawler::innerText()
  • Add argument $default to Crawler::attr()

6.4

  • Add CrawlerAnySelectorTextContains test constraint
  • Add CrawlerAnySelectorTextSame test constraint
  • Add argument $default to Crawler::attr()

6.3

  • Add $useHtml5Parser argument to Crawler
  • Add CrawlerSelectorCount test constraint
  • Add argument $normalizeWhitespace to Crawler::innerText()
  • Make Crawler::innerText() return the first non-empty text

6.0

  • Remove Crawler::parents() method, use ancestors() instead

5.4

  • Add Crawler::innerText method.

5.3

  • The parents() method is deprecated. Use ancestors() instead.
  • Marked the containsOption(), availableOptionValues(), and disableValidation() methods of the ChoiceFormField class as internal

5.1.0

  • Added an internal cache layer on top of the CssSelectorConverter
  • Added UriResolver to resolve an URI according to a base URI

5.0.0

  • Added argument $selector to Crawler::children()
  • Added argument $default to Crawler::text() and html()

4.4.0

  • Added Form::getName() method.
  • Added Crawler::matches() method.
  • Added Crawler::closest() method.
  • Added Crawler::outerHtml() method.
  • Added an argument to the Crawler::text() method to opt-in normalizing whitespaces.

4.3.0

  • Added PHPUnit constraints: CrawlerSelectorAttributeValueSame, CrawlerSelectorExists, CrawlerSelectorTextContains and CrawlerSelectorTextSame
  • Added return of element name (_name) in extract() method.
  • Added ability to return a default value in text() and html() instead of throwing an exception when node is empty.
  • When available, the html5-php library is used to parse HTML added to a Crawler for better support of HTML5 tags.

4.2.0

  • The $currentUri constructor argument of the AbstractUriElement, Link and Image classes is now optional.
  • The Crawler::children() method will have a new $selector argument in version 5.0, not defining it is deprecated.

3.1.0

  • All the URI parsing logic have been abstracted in the AbstractUriElement class. The Link class is now a child of AbstractUriElement.
  • Added an Image class to crawl images and parse their src attribute, and selectImage, image, images methods in the Crawler (the image version of the equivalent link methods).

2.5.0

  • [BC BREAK] The default value for checkbox and radio inputs without a value attribute have changed from '1' to 'on' to match the HTML specification.
  • [BC BREAK] The typehints on the Link, Form and FormField classes have been changed from \DOMNode to DOMElement. Using any other type of DOMNode was triggering fatal errors in previous versions. Code extending these classes will need to update the typehints when overwriting these methods.

2.4.0

  • Crawler::addXmlContent() removes the default document namespace again if it's an only namespace.
  • added support for automatic discovery and explicit registration of document namespaces for Crawler::filterXPath() and Crawler::filter()
  • improved content type guessing in Crawler::addContent()
  • [BC BREAK] Crawler::addXmlContent() no longer removes the default document namespace

2.3.0

  • added Crawler::html()
  • [BC BREAK] Crawler::each() and Crawler::reduce() now return Crawler instances instead of DomElement instances
  • added schema relative URL support to links
  • added support for HTML5 'form' attribute

2.2.0

  • added a way to set raw path to the file in FileFormField - necessary for simulating HTTP requests

2.1.0

  • added support for the HTTP PATCH method
  • refactored the Form class internals to support multi-dimensional fields (the public API is backward compatible)
  • added a way to get parsing errors for Crawler::addHtmlContent() and Crawler::addXmlContent() via libxml functions
  • added support for submitting a form without a submit button