Revision history for Perl extension Web::Query

1.01 2024-01-12
 [BUG FIXES]
 - Fix tests to work with new version of HTML::TreeBuilder::LibXML. (GH#57)

 [DOCUMENTATION]
 - Fix documentation typos. (GH#56, esabol)

 [ENHANCEMENTS]
 - Move tests to Test2::V0.

 [STATISTICS]
 - code churn: 48 files changed, 229 insertions(+), 210 deletions(-)

1.00 2023-09-06
 [API CHANGES]
 - Web::Query will now throw when failing to retrieve an url, instead of
   silently returning C<undef>. (GH#55)

 [STATISTICS]
 - code churn: 8 files changed, 56 insertions(+), 32 deletions(-)

0.39 2018-08-21
 [BUG FIXES]
 - localize $@ in destructor to prevent clobbering. (GH#51, Maurice Aubrey)

 [STATISTICS]
 - code churn: 6 files changed, 81 insertions(+), 4 deletions(-)

0.38 2016-07-03
 [BUG FIXES]
 - HTML::Selector::XPath 0.19 has a bug regarding '//b' expressions.

 [STATISTICS]
 - code churn: 2 files changed, 9 insertions(+), 2 deletions(-)

0.37 2016-07-02
 [BUG FIXES]
 - Require List::Util 1.44+ (for 'uniq')

 [STATISTICS]
 - code churn: 2 files changed, 19 insertions(+), 7 deletions(-)

0.36 2016-06-30
 [BUG FIXES]
 - `->text()` doesn't break on text nodes. (GH#47, reported by Gabor Szabo)

 [DOCUMENTATION]
 - Add mention of a way to get PIs of XML documents (GH#49).

 [ENHANCEMENTS]
 - `wq()` can now create an empty document.
 - Add 'join' argument to `as_html`.
 - Add 'match' function.
 - Add 'split' function. (GH#45)

 [STATISTICS]
 - code churn: 11 files changed, 322 insertions(+), 46 deletions(-)

0.35 2016-05-31
 [DOCUMENTATION]
 - Add troubleshooting entry for 'script' elements. [GH#8]

 [ENHANCEMENTS]
 - 'attr' method now accept many attributes and code refs in setter mode.

 [STATISTICS]
 - code churn: 6 files changed, 104 insertions(+), 33 deletions(-)

0.34 2015-09-23
 [BUG FIXES]
 - 'filter' was exploding on text nodes. [GH#44]

 [STATISTICS]
 - code churn: 4 files changed, 24 insertions(+), 4 deletions(-)

0.33 2015-09-23
 [BUG FIXES]
 - Make sure we use XML::LibXML > 2.0107 for `unique_keys`. [GH#43]
 - 'filter' with coderef was not generating a sub-WQ object.

 [ENHANCEMENTS]
 - Be more resilient to #text nodes. (GH#42)

 [STATISTICS]
 - code churn: 6 files changed, 101 insertions(+), 34 deletions(-)

0.32 2015-08-29
 [ENHANCEMENTS]
 - add id() as a shortcut method for `->attr('id')`. [GH#38]
 - add 'name()' as a shortcut method for `->attr('name')`. [GH#39]
 - add 'data()' as a shortcut method for `->attr('data-*foo*')`. [GH#40]
 - add `toggle_class()` method. [GH#41]

 [STATISTICS]
 - code churn: 5 files changed, 394 insertions(+), 172 deletions(-)

0.31 2015-08-25
 - each() would skip nodes if its subref was calling remove(). [yanick]
 - remove duplicate code for duplicate(). [yanick]

 [STATISTICS]
 - code churn: 5 files changed, 46 insertions(+), 25 deletions(-)

0.30 2015-08-23
 - next_until.t was failing if XML::LibXML isn't installed. [yanick]

0.29 2015-08-21
 - add() now returns a new element (instead of modifying $self). [yanick]
 - added 'not()'. [yanick]
 - added 'and_back'. [yanick]
 - added 'next_until()'. [yanick]

0.28 2015-06-30
 - new_from_html with options was breaking 'end()'. (yanick)

0.27 2014-12-24T00:52:33Z
 - new() with a bad url wasn't returning 'undef' when options were given.
   (yanick)
 - Add 'no_space_compacting' option. #33 (yanick)
 - Add 'tagname' to query/modify tag names. #34 (yanick)
 - XPath expressions can now be used as well. #35 (yanick)

0.26 2014-03-31T08:23:34Z
 - impl prev() and next() method #31 (xaicron)

0.25 2014-02-13T01:26:42Z
 - re-packaging(no feature changes)

0.24 2014-02-12T05:34:09Z
 - replace_with: Can't call method "clone" on an undefined value #24
   (Reported by @daxim++, Fixed by @yanick++)

0.23 2013-05-30T16:09:03Z
 - improved find() documentation
 - fixed cpanfile min perl version
 - modified tests to use the expression form of eval to try to load
   Web::Query::LibXML - the block form of eval is not working as expected
   on some perl versions on i386-freebsd (cafe01)

0.22 2013-05-15T23:36:38Z
 - added new module: Web::Query::LibXML
 - modified test files to also test Web::Query::LibXML (if it loads).

0.21 2013-05-15T14:36:11Z
 - new jQuery-compatible method: add()
 - fixed filter() that relied on wrong find() behavior
 - fixed two t/03_traverse.t tests that was expecting wrong behavior from
   filter() 

0.20 2013-05-13T22:51:02Z
 - improved documentation
 - fixed find() to match only descendant elements This is the correct
   jQuery compatible implementation, which I have changed in 0.14 to also
   match root nodes, my bad.
 - fixed tests that relied on that wrong find() behavior. (cafe01)

0.19 2013-05-12T18:19:57Z
 - implemented contents() jQuery-compatible method
 - new() now accepts another Web::Query object (cafe01)      

0.18 2013-05-09T19:40:40Z
 - fixed html() method, now using $self->_build_tree
 - calling parent() instead of undocumented getParentNode()
 - calling disembowel() instead of guts() Need for Web::Query::LibXML, so
   nodes get detached from old document and returned each as root of a new
   document. (Carlos Fernando Avila Gratz)

0.17 2013-05-08T01:18:36Z
 - new_from_file() now calling guts() instead of elementify() So the file
   can contain a document fragment (multiple root nodes) instead of a full
   document (single root). Also, now all new_from_* methods behave the
   same. (Carlos Fernando Avila Gratz)

0.16 2013-04-22T14:26:44Z
 - modified new_from_element() to ignore non-blessed items (Carlos Fernando
   Avila Gratz)
 - created _build_tree() method (Carlos Fernando Avila Gratz)

0.15 2013-04-09T00:29:48Z
 - added clone() method (Carlos Fernando Avila Gratz)
 - now storing comments from parsed html (Carlos Fernando Avila Gratz)
 - fixed remove() to get rid of removed element refs removes from $self and
   from all $self->{before}. Also modified how each() instantiates the
   objects, so $_->end works in the callback, which is needed for
   $_->remove() to work in the callback. (Carlos Fernando Avila Gratz)

0.14 2013-04-07T02:22:25Z
 - new jQuery compatible methods, and related tests * append * prepend *
   before * after * insert_before * insert_after * detach * add_class *
   remove_class * has_class (Carlos Fernando Avila Gratz)

0.13 2013-04-05T06:37:27Z
 - fixed find() bug was calling selector_to_xpath() in the loop, breaking
   the selector after the second call. (Carlos Fernando Avila Gratz)
 - Search from '//' when the node was created from HTML. (tokuhirom)

0.12 2013-04-03T20:24:49Z
 - Make subclass friendly (Carlos Fernando Avila Gratz)

0.11
 - Implement a remove method that effects the html results. (gugod++)

0.10
 [INCOMPATIBLE CHANGES]
 - new_from_url() is no longer throws exception on bad response from HTTP
   server. https://rt.cpan.org/Ticket/Display.html?id=76187 (oleg++)

0.09
 - Switch to Module::Build
 - first() and last() should construct new object, but not modify self
   (Oleg++)

0.08
 - added ->map and ->filter methods (Hiroki Honda)
 - fixed as (empty)->first->size and (empty)->last->size return 0 (Hiroki
   Honda)

0.07
 - HTML5 support

0.06
 - added first, last methods(akiym)

0.05
 - added docs for 'how do i customize useragent'.

0.04
 - added ->size and ->parent method.

0.03
 - fix fucking win32 new line issue. (it may works, i hope.)

0.02
 - added docs for find method(reported by kan++).

0.01 2011-02-19T10:38:22Z
 - original version