All Versions
Latest Version
Avg Release Cycle
30 days
Latest Release
71 days ago

Changelog History
Page 8

  • v1.6.0.rc1 Changes

    April 14, 2013

    πŸš€ This release was based on v1.5.9, and so does not contain any fixes mentioned in the notes for v1.5.10.

    • Notes

      • mini_portile is now a runtime dependency
      • Ruby 1.9.2 and higher now required
    • πŸ”‹ Features

      • (MRI) Source code for libxml 2.8.0 and libxslt 1.2.26 is packaged with the gem. These libraries are compiled at gem install time unless the environment variable NOKOGIRI_USE_SYSTEM_LIBRARIES is set. VERSION_INFO (also nokogiri -v) exposes whether libxml was compiled from packaged source, or the system library was used.
      • (Windows) libxml upgraded to 2.8.0
    • πŸ—„ Deprecations

      • Support for Ruby 1.8.7 and prior has been dropped
  • v1.5.11 Changes

    December 14, 2013

    πŸ›  Fixed

    • πŸ“œ (JRuby) Fix out of memory bug when certain invalid documents are parsed.
    • πŸ’Ž (JRuby) Fix regression of billion-laughs vulnerability. #586
  • v1.5.10 Changes

    June 07, 2013

    πŸ›  Fixed

    • πŸ“œ (JRuby) Fix "null document" error when parsing an empty IO in jruby 1.7.3. #883
    • πŸ’Ž (JRuby) Fix schema validation when XSD has DOCTYPE set to DTD. #912 (Thanks, Patrick Cheng!)
    • 0️⃣ (MRI) Fix segfault when there is no default subelement for an HTML node. #917


    • Use rb_ary_entry instead of RARRAY_PTR (you know, for Rubinius). #877 (Thanks, Dirkjan Bussink!)
    • πŸ›  Fix TypeError when running tests. #900 (Thanks, CΓ©dric Boutillier!)
  • v1.5.9 Changes

    March 21, 2013

    πŸ›  Fixed

    • πŸ›  Ensure that prefixed attributes are properly namespaced when reparented. #869
    • πŸ›  Fix for inconsistent namespaced attribute access for SVG nested in HTML. #861
    • πŸ“œ (MRI) Fixed a memory leak in fragment parsing if nodes are not all subsequently reparented. #856
  • v1.5.8 Changes

    March 19, 2013

    πŸ›  Fixed

    • πŸ’Ž (JRuby) Fix EmptyStackException thrown by elements with xlink:href attributes and no base_uri #534, #805. (Thanks, Patrick Quinn and Brian Hoffman!)
    • πŸ›  Fixes duplicate attributes issue introduced in 1.5.7. #865
    • πŸ‘ Allow use of a prefixed namespace on a root node using Nokogiri::XML::Builder #868
  • v1.5.7 Changes

    March 18, 2013

    βž• Added

    • 🏁 Windows support for Ruby 2.0.

    πŸ›  Fixed

    • πŸ“œ SAX::Parser.parse_io throw an error when used with lower case encoding. #828
    • βœ… (JRuby) Java Nokogiri is finally green (passes all tests) under 1.8 and 1.9 mode. High five everyone. #798, #705
    • πŸ“œ (JRuby) Nokogiri::XML::Reader broken (as a pull parser) on jruby - reads the whole XML document. #831
    • πŸ“œ (JRuby) JRuby hangs parsing "&". #837
    • πŸ“œ (JRuby) JRuby NPE parsing an invalid XML instruction. #838
    • πŸ’Ž (JRuby) Node#content= incompatibility. #839
    • πŸ–¨ (JRuby) to_xhtml doesn't print the last slash for self-closing tags in JRuby. #834
    • πŸ’Ž (JRuby) Adding an EntityReference after a Text node mangles the entity in JRuby. #835
    • πŸ’Ž (JRuby) JRuby version inconsistency: nil for empty attributes. #818
    • CSS queries for classes (e.g., ".foo") now treat all whitespace identically. #854
    • πŸ’Ž Namespace behavior cleaned up and made consistent between JRuby and MRI. #846, #801 (Thanks, Michael Klein!)
    • πŸ“œ (MRI) SAX parser handles empty processing instructions. #845
  • v1.5.6 Changes

    December 19, 2012

    βž• Added

    • πŸ‘Œ Improved performance of XML::Document#collect_namespaces. #761 (Thanks, Juergen Mangler!)
    • πŸ†• New callback SAX::Document#processing_instruction (Thanks, Kitaiti Makoto!)
    • Node#native_content= allows setting unescaped node content. #768
    • πŸ‘ XPath lookup with namespaces supports symbol keys. #729 (Thanks, Ben Langfeld.)
    • XML::Node#[]= stringifies values. #729 (Thanks, Ben Langfeld.)
    • bin/nokogiri will process a document from $stdin
    • πŸ’» bin/nokogiri -e will execute a program from the command line
    • πŸ–¨ (JRuby) bin/nokogiri --version will print the Xerces and NekoHTML versions.

    πŸ›  Fixed

    • Nokogiri now detects XSLT transform errors. #731 (Thanks, Justin Fitzsimmons!)
    • Don't throw an Error when trying to replace top-level text node in DocumentFragment. #775
    • πŸ“œ Raise an ArgumentError if an invalid encoding is passed to the SAX parser. #756 (Thanks, Bradley Schaefer!)
    • πŸ’Ž Prefixed element inconsistency between CRuby and JRuby. #712
    • πŸ“œ (JRuby) space prior to xml preamble causes nokogiri to fail parsing. (fixed along with #748) #790
    • πŸ’Ž (JRuby) Fixed the bug Nokogiri::XML::Node#content inconsistency between Java and C. #794, #797
    • (JRuby) raises INVALID_CHARACTER_ERR exception when EntityReference name starts with '#'. #719
    • πŸ’Ž (JRuby) doesn't coerce namespaces out of strings on a direct subclass of Node. #715
    • πŸ’Ž (JRuby) Node#content now renders newlines properly. #737 (Thanks, Piotr Szmielew!)
    • πŸ’Ž (JRuby) Unknown namespace are ignore when the recover option is used. #748
    • πŸ’Ž (JRuby) XPath queries for namespaces should not throw exceptions when called twice in a row. #764
    • πŸ’Ž (JRuby) More consistent (with libxml2) whitespace formatting when emitting XML. #771
    • πŸ— (JRuby) namespaced attributes broken when appending raw xml to builder. #770
    • πŸ’Ž (JRuby) Nokogiri::XML::Document#wrap raises undefined method `length' for nil:NilClass when trying to << to a node. #781
    • πŸ’Ž (JRuby) Fixed "bad file descriptor" bug when closing open file descriptors. #495
    • πŸ’Ž (JRuby) JRuby/CRuby incompatibility for attribute decorators. #785
    • πŸ“œ (JRuby) Issues parsing valid XML with no internal subset in the DTD. #547, #811
    • πŸ“œ (JRuby) Issues parsing valid node content when it contains colons. #728
    • πŸ“œ (JRuby) Correctly parse the doc type of html documents. #733
    • (JRuby) Include dtd in the xml output when a builder is used with create_internal_subset. #751
    • πŸ— (JRuby) builder requires textwrappers for valid utf8 in jruby, not in mri. #784
  • v1.5.5 Changes

    June 24, 2012

    βž• Added

    • πŸ’Ž Much-improved support for JRuby in 1.9 mode! Yay!

    πŸ›  Fixed

    • Regression in JRuby Nokogiri add_previous_sibling (1.5.0 -> 1.5.1) #691 (Thanks, John Shahid!)
    • πŸ’Ž JRuby unable to create HTML doc if URL arg provided #674 (Thanks, John Shahid!)
    • πŸ’Ž JRuby raises NullPointerException when given HTML document is nil or empty string. #699
    • πŸ’Ž JRuby 1.9 error, uncaught throw 'encoding_found', has been fixed. #673
    • πŸ’Ž Invalid encoding returned in JRuby with US-ASCII. #583
    • πŸ“œ XmlSaxPushParser raises IndexOutOfBoundsException when over 512 characters are given. #567, #615
    • πŸ‘» When xpath evaluation returns empty NodeSet, decorating NodeSet's base document raises exception. #514
    • πŸ’Ž JRuby raises exception when xpath with namespace is specified. pull request #681 (Thanks, Piotr Szmielew)
    • πŸ’Ž JRuby renders nodes without their namespace when subclassing Node. #695
    • πŸ’Ž JRuby raises NAMESPACE_ERR (org.w3c.dom.DOMException) while instantiating RDF::RDFXML::Writer. #683
    • πŸ’Ž JRuby is not able to use namespaces in xpath. #493
    • πŸ’Ž JRuby's Entity resolving should be consistent with C-Nokogiri #704, #647, #703
  • v1.5.4 Changes

    June 12, 2012

    βž• Added

    • The "nokogiri" script now has more verbose output when passed the --rng option. #675 (Thanks, Dan Radez!)
    • πŸ”’ Build support on hardened Debian systems that use -Werror=format-security. #680.
    • πŸ‘ Better build support for systems with pkg-config. #584
    • πŸ‘ Better build support for systems with multiple iconv installations.

    πŸ›  Fixed

    • Segmentation fault when creating a comment node for a DocumentFragment. #677, #678.
    • Treat '.' as xpath in at() and search(). #690

    πŸ”’ Security

    0️⃣ (MRI) Default parse options for XML documents were changed to not make network connections during document parsing, to avoid XXE vulnerability. #693

    πŸ”§ To re-enable this behavior, the configuration method nononet may be called, like this:

    Nokogiri::XML::Document.parse(xml) { |config| config.nononet }

    Insert your own joke about double-negatives here.

  • v1.5.3 Changes

    June 01, 2012

    βž• Added

    • πŸ‘Œ Support for "prefixless" CSS selectors ~, > and + like jQuery supports. #621, #623. (Thanks, David Lee!)
    • πŸ“¦ Attempting to improve installation on homebrew 0.9 (with regards to iconv). Isn't package management convenient?

    πŸ›  Fixed

    • Custom xpath functions with empty nodeset arguments cause a segfault. #634.
    • 0️⃣ Nokogiri::XML::Node#css now works for XML documents with default namespaces when the rule contains attribute selector without namespace.
    • πŸ›  Fixed marshalling bugs around how arguments are passed to (and returned from) XSLT custom xpath functions. #640.
    • πŸ’Ž Nokogiri::XML::Reader#outer_xml is broken in JRuby #617
    • πŸ’Ž Nokogiri::XML::Attribute on JRuby returns a nil namespace #647
    • πŸ’Ž Nokogiri::XML::Node#namespace= cannot set a namespace without a prefix on JRuby #648
    • πŸ”’ (JRuby) 1.9 mode causes dead lock while running rake #571
    • πŸ‘» HTML::Document#meta_encoding does not raise exception on docs with malformed content-type. #655
    • πŸ›  Fixing segfault related to unsupported encodings in in-context parsing on 1.8.7. #643
    • πŸ“œ (JRuby) Concurrency issue in XPath parsing. #682