[ANN] nokogiri 1.9.0 Released


(Mike Dalessio) #1

nokogiri version 1.9.0 has been released!

For CRuby users, this is a feature and bugfix release.

For JRuby users, you're encouraged to upgrade because of the Xerces upgrade
to mitigate a vulnerability.

···

----

Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's
many features is the ability to search documents via XPath or CSS3
selectors.

* Installation Help: http://nokogiri.org/tutorials/installing_nokogiri.html
* Tutorials: http://nokogiri.org
* GitHub: https://github.com/sparklemotion/nokogiri

----

Changes:

# 1.9.0 / 2018-12-17

## Security Notes

* [JRuby] Upgrade Xerces dependency from 2.11.0 to 2.12.0 to address
upstream vulnerability CVE-2012-0881 [#1831] (Thanks @grajagandev for
reporting.)

## Notable non-functional changes

* Decrease installation size by removing many unneeded files (e.g.,
`/test`) from the packaged gems. [#1719] (Thanks, @stevecrozz!)

## Features

* `XML::Attr#value=` allows HTML node attribute values to be set to either
a blank string or an empty boolean attribute. [#1800]
* Introduce `XML::Node#wrap` which does what `XML::NodeSet#wrap` has always
done, but for a single node. [#1531] (Thanks, @ethirajsrinivasan!)
* [MRI] Improve installation experience on macOS High Sierra (Darwin).
[#1812, #1813] (Thanks, @gpakosz and @nurse!)
* [MRI] Node#dup supports copying a node directly to a new document. See
the method documentation for details.
* [MRI] DocumentFragment#dup is now more memory-efficient, avoiding making
unnecessary copies. [#1063]
* [JRuby] NodeSet has been rewritten to improve performance! [#1795]

## Bug fixes

* `NodeSet#each` now returns `self` instead of zero. [#1822] (Thanks,
@olehif!)
* [MRI] Address a memory leak when using XML::Builder to create nodes with
namespaces. [#1810]
* [MRI] Address a memory leak when unparenting a DTD. [#1784] (Thanks,
@stevecheckoway!)
* [MRI] Decrease large memory usage when making nested XPath queries.
[#1749]
* [MRI] Use RbConfig::CONFIG instead of ::MAKEFILE_CONFIG to fix
installations that use Makefile macros. [#1820] (Thanks, @nobu!)
* [JRuby] Fix failing tests on JRuby 9.2.x
* [JRuby] Fix default namespaces in nodes reparented into a different
document [#1774]
* [JRuby] Fix support for Java 9. [#1759] (Thanks, @Taywee!)

## Dependencies

* [MRI] Upgrade mini_portile2 dependency from `~> 2.3.0` to `~> 2.4.0`