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 whatXML::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 returnsself
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] Use RbConfig::CONFIG instead of ::MAKEFILE_CONFIG to fix installations that use Makefile macros. [#1820] (Thanks, @nobu!)
- [JRuby] Decrease large memory usage when making nested XPath queries. [#1749]
- [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