All Versions
110
Latest Version
Avg Release Cycle
28 days
Latest Release
102 days ago

Changelog History
Page 9

  • 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
  • v1.5.2 Changes

    March 09, 2012

    Repackaging of 1.5.1 with a gemspec that is compatible with older Rubies. #631, #632.

  • v1.5.1 Changes

    March 09, 2012

    โž• Added

    • ๐Ÿ— XML::Builder#comment allows creation of comment nodes.
    • ๐Ÿ‘ CSS searches now support namespaced attributes. #593
    • Java integration feature is added. Now, XML::Document.wrap and XML::Document#to_java methods are available.
    • ๐Ÿ˜Œ RelaxNG validator support in the nokogiri cli utility. #591 (thanks, Dan Radez!)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix many memory leaks and segfault opportunities. Thanks, Tim Elliott!
    • extconf searches homebrew paths if homebrew is installed.
    • Inconsistent behavior of Nokogiri 1.5.0 Java #620
    • ๐Ÿ’Ž Inheriting from Nokogiri::XML::Node on JRuby (1.6.4/5) fails #560
    • ๐Ÿ‘ป XML::Attr nodes are not allowed to be added as node children, so an exception is raised. #558
    • No longer defensively "pickle" adjacent text nodes on Node#add_next_sibling and Node#add_previous_sibling calls. #595.
    • Java version inconsistency: it returns nil for empty attributes #589
    • to_xhtml incorrectly generates <p /></p> when tag is empty #557
    • Document#add_child now accepts a Node, NodeSet, DocumentFragment, or String. #546.
    • ๐Ÿ— Document#create_element now recognizes namespaces containing non-word characters (like "SOAP-ENV"). This is mostly relevant to users of Builder, which calls Document#create_element for nearly everything. #531.
    • ๐Ÿ File encoding broken in 1.5.0 / jruby / windows #529
    • Java version does not return namespace defs as attrs for ::HTML #542
    • Bad file descriptor with Nokogiri 1.5.0 #495
    • โœ‚ remove_namespace! doesn't work in pure java version #492
    • ๐Ÿ— The Nokogiri Java native build throws a null pointer exception when ActiveSupport's .blank? method is called directly on a parsed object. #489
    • 1.5.0 Not using correct character encoding #488
    • ๐Ÿ— Raw XML string in XML Builder broken on JRuby #486
    • ๐Ÿ’Ž Nokogiri 1.5.0 XML generation broken on JRuby #484
    • Do not allow multiple root nodes. #550
    • ๐Ÿ›  Fixes for custom XPath functions. #605, #606 (thanks, Juan Wajnerman!)
    • Node#to_xml does not override :save_with if it is provided. #505
    • ๐Ÿ’Ž Node#set is a private method (JRuby). #564 (thanks, Nick Sieger!)
    • C14n cleanup and Node#canonicalize (thanks, Ivan Pirlik!) #563
  • v1.5.0 Changes

    July 01, 2011

    Notes

    • ๐Ÿ‘€ See changelog from 1.4.7

    โž• Added

    • ๐Ÿ”จ extracted sets of Node::SaveOptions into Node::SaveOptions::DEFAULT_{X,H,XH}TML (refactor)

    ๐Ÿ›  Fixed

    • 0๏ธโƒฃ default output of XML on JRuby is no longer formatted due to inconsistent whitespace handling. #415
    • ๐Ÿ’Ž (JRuby) making empty NodeSets with null nodes member safe to operate on. #443
    • ๐Ÿ›  Fix a bug in advanced encoding detection that leads to partially duplicated document when parsing an HTML file with unknown encoding.
    • โž• Add support for <meta charset="...">.
  • v1.4.7 Changes

    July 01, 2011

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix a bug in advanced encoding detection that leads to partially duplicated document when parsing an HTML file with unknown encoding. Thanks, Timothy Elliott (@ender672)! #478
  • v1.4.6 Changes

    June 19, 2011
    • Notes

      • This version is functionally identical to 1.4.5.
      • Ruby 1.8.6 support has been restored.
  • v1.4.5 Changes

    May 19, 2011

    โž• Added

    • Nokogiri::HTML::Document#title accessor gets and sets the document title.
    • ๐Ÿ”จ extracted sets of Node::SaveOptions into Node::SaveOptions::DEFAULT_{X,H,XH}TML (refactor)
    • ๐Ÿ‘ป Raise an exception if a string is passed to Nokogiri::XML::Schema#validate. #406

    ๐Ÿ›  Fixed

    • Node#serialize-and-friends now accepts a SaveOption object as the, erm, save object.
    • ๐Ÿ“œ Nokogiri::CSS::Parser has-a Nokogiri::CSS::Tokenizer
    • ๐Ÿ’Ž (JRUBY+FFI only) Weak references are now threadsafe. #355
    • ๐Ÿ“œ Make direct start_element() callback (currently used for HTML::SAX::Parser) pass attributes in assoc array, just as emulated start_element() callback does. rel. #356
    • ๐Ÿ“œ HTML::SAX::Parser should call back a block given to parse*() if any, just as XML::SAX::Parser does.
    • โž• Add further encoding detection to HTML parser that libxml2 does not do.
    • ๐Ÿšš Document#remove_namespaces! now handles attributes with namespaces. #396
    • ๐Ÿ’… XSLT::Stylesheet#transform no longer segfaults when handed a non-XML::Document. #452
    • XML::Reader no longer segfaults when under GC pressure. #439
  • v1.4.4 Changes

    November 15, 2010

    โž• Added

    • XML::Node#children= sets the node's inner html (much like #inner_html=), but returns the reparent node(s).
    • ๐Ÿ‘ XSLT supports function extensions. #336
    • XPath bind parameter substitution. #329
    • XML::Reader node type constants. #369
    • ๐Ÿ“œ SAX Parser context provides line and column information

    ๐Ÿ›  Fixed

    • XML::DTD#attributes returns an empty hash instead of nil when there are no attributes.
    • XML::DTD#{keys,each} now work as expected. #324
    • ๐Ÿ“œ {XML,HTML}::DocumentFragment.{new,parse} no longer strip leading and trailing whitespace. #319
    • XML::Node#{add_child,add_previous_sibling,add_next_sibling,replace} return a NodeSet when passed a string.
    • ๐Ÿ“œ Unclosed tags parsed more robustly in fragments. #315
    • XML::Node#{replace,add_previous_sibling,add_next_sibling} edge cases fixed related to libxml's text node merging. #308
    • ๐Ÿ›  Fixed a segfault when GC occurs during xpath handler argument marshalling. #345
    • โž• Added hack to Slop decorator to work with previously defined methods. #330
    • ๐Ÿ›  Fix a memory leak when duplicating child nodes. #353
    • ๐Ÿ›  Fixed off-by-one bug with nth-last-{child,of-type} CSS selectors when NOT using an+b notation. #354
    • ๐Ÿ›  Fixed passing of non-namespace attributes to SAX::Document#start_element. #356
    • โ†ช Workaround for libxml2 in-context parsing bug. #362
    • ๐Ÿ›  Fixed NodeSet#wrap on nodes within a fragment. #331
  • v1.4.3 Changes

    July 28, 2010

    โž• Added

    • XML::Reader#empty_element? returns true for empty elements. #262
    • ๐Ÿšš Node#remove_namespaces! now removes namespace declarations as well. #294
    • NodeSet#at_xpath, NodeSet#at_css and NodeSet#> do what the corresponding methods of Node do.

    ๐Ÿ›  Fixed

    • XML::NodeSet#{include?,delete,push} accept an XML::Namespace
    • ๐Ÿ“œ XML::Document#parse added for parsing in the context of a document
    • ๐Ÿ“œ XML::DocumentFragment#inner_html= works with contextual parsing! #298, #281
    • ๐Ÿ“œ lib/nokogiri/css/parser.y Combined CSS functions + pseudo selectors fixed
    • ๐Ÿ”€ Reparenting text nodes is safe, even when the operation frees adjacent merged nodes. #283
    • ๐Ÿ›  Fixed libxml2 versionitis issue with xmlFirstElementChild et al. #303
    • XML::Attr#add_namespace now works as expected. #252
    • HTML::DocumentFragment uses the string's encoding. #305
    • ๐Ÿ›  Fix the CSS3 selector translation rule for the general sibling combinator (a.k.a. preceding selector) that incorrectly converted "E ~ F G" to "//F//G[preceding-sibling::E]".
  • v1.4.2 Changes

    May 22, 2010

    โž• Added

    • ๐Ÿ“œ XML::Node#parse will parse XML or HTML fragments with respect to the context node.
    • XML::Node#namespaces returns all namespaces defined in the node and all ancestor nodes (previously did not return ancestors' namespace definitions).
    • โž• Added Enumerable to XML::Node
    • Nokogiri::XML::Schema#validate now uses xmlSchemaValidateFile if a filename is passed, which is faster and more memory-efficient. GH #219
    • XML::Document#create_entity will create new EntityDecl objects. GH #174
    • ๐Ÿ’Ž JRuby FFI implementation no longer uses ObjectSpace._id2ref, instead using Charles Nutter's rocking Weakling gem.
    • Nokogiri::XML::Node#first_element_child fetch the first child node that is an ELEMENT node.
    • Nokogiri::XML::Node#last_element_child fetch the last child node that is an ELEMENT node.
    • Nokogiri::XML::Node#elements fetch all children nodes that are ELEMENT nodes.
    • Nokogiri::XML::Node#add_child, #add_previous_sibling, #before, #add_next_sibling, #after, #inner_html, #swap and #replace all now accept a Node, DocumentFragment, NodeSet, or a string containing markup.
    • Node#fragment? indicates whether a node is a DocumentFragment.

    ๐Ÿ›  Fixed

    • XML::NodeSet is now always decorated (if the document has decorators). GH #198
    • XML::NodeSet#slice gracefully handles offset+length larger than the set length. GH #200
    • XML::Node#content= safely unlinks previous content. GH #203
    • XML::Node#namespace= takes nil as a parameter
    • XML::Node#xpath returns things other than NodeSet objects. GH #208
    • ๐Ÿ’… XSLT::StyleSheet#transform accepts hashes for parameters. GH #223
    • Psuedo selectors inside not() work. GH #205
    • ๐Ÿ— XML::Builder doesn't break when nodes are unlinked. Thanks to vihai! GH #228
    • ๐Ÿ“œ Encoding can be forced on the SAX parser. Thanks Eugene Pimenov! GH #204
    • ๐Ÿ“œ XML::DocumentFragment uses XML::Node#parse to determine children.
    • ๐Ÿ›  Fixed a memory leak in xml reader. Thanks sdor! GH #244
    • Node#replace returns the new child node as claimed in the RDoc. Previously returned +self+.

    Notes

    • ๐Ÿš€ The Windows gems now bundle DLLs for libxml 2.7.6 and libxslt 1.1.26. Prior to this release, libxml 2.7.3 and libxslt 1.1.24 were bundled.