-------------------------------------------------------------------
Tue Nov 28 08:13:47 UTC 2023 - Dan Čermák
- 1.15.5:
## 1.15.5 / 2023-11-17
### Dependencies
* [CRuby] Vendored libxml2 is updated to v2.11.6 from v2.11.5. For details please see https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.6
* [CRuby] Vendored libxslt is updated to v1.1.39 from v1.1.38. For details please see https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.39
-------------------------------------------------------------------
Tue Nov 14 15:18:47 UTC 2023 - Dan Čermák
- Bump mini_portile2 version in the spec
- 1.15.4:
## 1.15.4 / 2023-08-11
### Dependencies
* [CRuby] Vendored libxml2 is updated to v2.11.5 from v2.11.4. For details please see https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.5
### Fixed
* Fixed a typo in a HTML5 parser error message. [[#2927](https://github.com/sparklemotion/nokogiri/issues/2927)] (Thanks, [@anishathalye](https://github.com/anishathalye)!)
* [CRuby] `ObjectSpace.memsize_of` is now safe to call on `Document`s with complex DTDs. In previous versions, this debugging method could result in a segfault. [[#2923](https://github.com/sparklemotion/nokogiri/issues/2923), [#2924](https://github.com/sparklemotion/nokogiri/issues/2924)]
---
sha256 checksums:
```
14091a07e07045a440213f7d5ced732fa7654ae8b6c7d180137f4124c5284ab8 nokogiri-1.15.4-aarch64-linux.gem
572ddc19934d010e98821a946d89462ae66b310fecc3fe12c48b0025c2f76855 nokogiri-1.15.4-arm-linux.gem
707288e293f4fc82a008f90b7ba0180d9f803f6a239a13e424378fedf8cf93e9 nokogiri-1.15.4-arm64-darwin.gem
04745925f63af61144eccef38a703928629cf97c34dbb1c42e3def17ac77ec92 nokogiri-1.15.4-java.gem
a0bfb65461a0453afed1a41b235fe84d5b9c7f4d70afd45f0dc2fdec8909faf1 nokogiri-1.15.4-x64-mingw-ucrt.gem
b9d01b9202e33cc23d19b2c1fc18ff4029cdda9b4f937a4baaefd4124a2158ba nokogiri-1.15.4-x64-mingw32.gem
f6ae258d7ed5f81715118282aa45486e68fd44b9747d0244a236e9ed5b94c45d nokogiri-1.15.4-x86-linux.gem
3f65b2426ece8da908bd5df5b6262ce525393f5245f8258a245bb4c3f5759b98 nokogiri-1.15.4-x86-mingw32.gem
d756605c540034debd7f486ae27802e6b1b129013fd6b1bb823783ef6f2bc5d7 nokogiri-1.15.4-x86_64-darwin.gem
872ced3d72d797ed9b5a76c67141c6cee7589711358e11c73e9c53724ffd1842 nokogiri-1.15.4-x86_64-linux.gem
e4a801e5ef643cc0036f0a7e93433d18818b31d48c9c287596b68e92c0173c4d nokogiri-1.15.4.gem
```
1.15.3:
## 1.15.3 / 2023-07-05
### Fixed
* Passing an object that is not a kind of `XML::Node` as the first parameter to `CDATA.new` now raises a `TypeError`. Previously this would result in either a segfault (CRuby) or a Java exception (JRuby). [[#2920](https://github.com/sparklemotion/nokogiri/issues/2920)]
* Passing an object that is not a kind of `XML::Node` as the first parameter to `Schema.from_document` now raises a `TypeError`. Previously this would result in either a segfault (CRuby) or a Java exception (JRuby). [[#2920](https://github.com/sparklemotion/nokogiri/issues/2920)]
* [CRuby] Passing an object that is not a kind of `XML::Node` as the second parameter to `Text.new` now raises a `TypeError`. Previously this would result in a segfault. [[#2920](https://github.com/sparklemotion/nokogiri/issues/2920)]
* [CRuby] Replacing a node's children via methods like `Node#inner_html=`, `#children=`, and `#replace` no longer defensively dups the node's next sibling if it is a Text node. This behavior was originally adopted to work around libxml2's memory management (see [#283](https://github.com/sparklemotion/nokogiri/issues/283) and [#595](https://github.com/sparklemotion/nokogiri/issues/595)) but should not have included operations involving `xmlAddChild()`. [[#2916](https://github.com/sparklemotion/nokogiri/issues/2916)]
* [JRuby] Fixed NPE when serializing an unparented HTML node. [[#2559](https://github.com/sparklemotion/nokogiri/issues/2559), [#2895](https://github.com/sparklemotion/nokogiri/issues/2895)] (Thanks, [@cbasguti](https://github.com/cbasguti)!)
---
sha256 checksums:
```
70dadf636ae026f475f07c16b12c685544d4f8a764777df629abf1f7af0f2fb5 nokogiri-1.15.3-aarch64-linux.gem
83871fa3f544dc601e27abbdef87315a77fe1270fe4904986bd3a7df9ca3d56f nokogiri-1.15.3-arm-linux.gem
fa4a027478df9004a2ce91389af7b7b5a4fc790c23492dca43b210a0f8770596 nokogiri-1.15.3-arm64-darwin.gem
95d410f995364d9780c4147d8fca6974447a1ccd3a1e1b092f0408836a36cc9c nokogiri-1.15.3-java.gem
599a46b6e4f5a34dd21da06bdbd69611728304af5ef42bb183e4b4ca073fd7a3 nokogiri-1.15.3-x64-mingw-ucrt.gem
92ebfb637c9b7ba92a221b49ea3328c7e5ee79a28307d75ef55bfe4b5807face nokogiri-1.15.3-x64-mingw32.gem
ee314666eca832fa71b5bb4c090be46a80aded857aa26121b3b51f3ed658a646 nokogiri-1.15.3-x86-linux.gem
44b7f18817894a5b697bab3d757b12bb7857a0218c1b2e0000929456a2178b34 nokogiri-1.15.3-x86-mingw32.gem
1f0bc0343f9dd1db8dd42e4c9110dd24fc11a7f923b9fa0f866e7f90739e4e7a nokogiri-1.15.3-x86_64-darwin.gem
ca244ed58568d7265088f83c568d2947102fb00bac14b5bc0e63f678dcd6323d nokogiri-1.15.3-x86_64-linux.gem
876631295a85315dac37e7a71386d62d9eb452a891083cfe7505cca4805088cb nokogiri-1.15.3.gem
```
1.15.2:
## 1.15.2 / 2023-05-24
### Dependencies
* [JRuby] Vendored org.nokogiri:nekodtd is updated to v0.1.11.noko2. This is functionally equivalent to v0.1.11.noko1 but restores support for Java 8.
### Fixed
* [JRuby] Java 8 support is restored, fixing a regression present in v1.14.0..v1.14.4 and v1.15.0..v1.15.1. [[#2887](https://github.com/sparklemotion/nokogiri/issues/2887)]
---
sha256 checksums:
```
497c698f0cc0f283934c9c93064249d113408e97e5f3677b0b5111af24a67c29 nokogiri-1.15.2-aarch64-linux.gem
505ad4b80cedd12bc3c53065079cc825e7f3d4094ca7b54176ae6f3734dbe2cc nokogiri-1.15.2-arm-linux.gem
bbedeaf45ce1494f51806e5fab0d31816fc4584f8e2ec757dd516b9b30847ee4 nokogiri-1.15.2-arm64-darwin.gem
b15ba3c1aa5b3726d7aceb44f635250653467c5b0d04248fa0f6a6afc6515fb0 nokogiri-1.15.2-java.gem
bc3cc9631c9dd7a74a59554215474da657f956ccb126391d082a2a8c45d3ee14 nokogiri-1.15.2-x64-mingw-ucrt.gem
1fd27732b161a497275798e502b31e97dfe1ab58aac02c0d6ace9cbe1fd6a38c nokogiri-1.15.2-x64-mingw32.gem
931383c6351d79903149b5c6a988e88daada59d7069f3a01b4dcf6730d411cc6 nokogiri-1.15.2-x86-linux.gem
3f4a6350ca1d87d185f4bf509d953820c7191d1cf4213cc3bac9c492b9b4a720 nokogiri-1.15.2-x86-mingw32.gem
b57eeec09ee1c4010e317f50d2897fb9c1133d02598260db229e81127b337930 nokogiri-1.15.2-x86_64-darwin.gem
5bca696b9283ad7ce97b9c0dfdf029a62c26e92f39f440a65795e377d44f119a nokogiri-1.15.2-x86_64-linux.gem
20dc800b8fbe4c4f4b5b164e6aa3ab82a371bcb27eb685c166961c34dd8a22d7 nokogiri-1.15.2.gem
```
1.14.5:
## 1.14.5 / 2023-05-24
### Note
To ensure that JRuby users on Java 8 can apply the security changes from v1.14.4, we're cutting this release on the v1.14.x branch. We don't expect to make any more v1.14.x releases.
### Dependencies
* [JRuby] Vendored org.nokogiri:nekodtd is updated to v0.1.11.noko2. This is functionally equivalent to v0.1.11.noko1 but restores support for Java 8.
### Fixed
* [JRuby] Java 8 support is restored, fixing a regression introduced in v1.14.0. [[#2887](https://github.com/sparklemotion/nokogiri/issues/2887)]
---
sha256 checksums:
```
60e521687e7fb81dbaa2c942d48efc22083780bc76d45586dc0a324bf0fb0e97 nokogiri-1.14.5-aarch64-linux.gem
80ea31d2534b14409e37437934c1c614de9844c806f72fc64134f50e0f3c1131 nokogiri-1.14.5-arm-linux.gem
3ab8ff3b62f4ff5826406007befea2d7ac33de2ee0c66209dd72ec16d0e8f5bf nokogiri-1.14.5-arm64-darwin.gem
edc932157786888c8f83b49c811ac0ec26a5b23f8e3c69590c311cc14b7e6bf0 nokogiri-1.14.5-java.gem
75e476c4e0c91f0f8f00f7c8e697bb3f5c9932f948658cf90babdbebbd6f6c27 nokogiri-1.14.5-x64-mingw-ucrt.gem
73bd6ee2dbabd1a337c6878a8d349a872f04a3448505fbe7c773a1dfbb69e310 nokogiri-1.14.5-x64-mingw32.gem
a9e4dc50c1cc327bfca3516281eba3fe972fd80bac64c7cdee4bcf07fbfd817d nokogiri-1.14.5-x86-linux.gem
aea78a61c684f36213d38777a7cd09aa272c5193f11cbaf2b455bcaeebd4196b nokogiri-1.14.5-x86-mingw32.gem
7375a81e5fba6a5ada3e47cd02a53ca54d0d25ae73b8ebc6e3a962e46947a7b9 nokogiri-1.14.5-x86_64-darwin.gem
0b2150ae90a676a504cbab018d24188eb526bc886ab18b4303102df6b3077160 nokogiri-1.14.5-x86_64-linux.gem
23f69ddeb1e8ead5341bbbbca18d37de29c0265bc90e94bc5d9663b254dfdcbc nokogiri-1.14.5.gem
```
1.15.1:
## 1.15.1 / 2023-05-19
### Dependencies
* [CRuby] Vendored libxml2 is updated to v2.11.4 from v2.11.3. For details please see https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.4
### Fixed
* [CRuby] The libxml2 update fixes an encoding regression when push-parsing UTF-8 sequences. [[#2882](https://github.com/sparklemotion/nokogiri/issues/2882), upstream [issue](https://gitlab.gnome.org/GNOME/libxml2/-/issues/542) and [commit](https://gitlab.gnome.org/GNOME/libxml2/-/commit/e0f3016f71297314502a3620a301d7e064cbb612)]
---
sha256 checksums:
```
a5d622a36d67c5296cf892871501abf0ca168056276d6c52519254cc05e2ed8e nokogiri-1.15.1-aarch64-linux.gem
ccc3b40e1f75e683107c78d0c77503df6520c614a0ea145743e929e492459662 nokogiri-1.15.1-arm-linux.gem
6d2ea3421f05dbd761017de1a16eae0fd83fbacf344310050796e674598ad711 nokogiri-1.15.1-arm64-darwin.gem
123c0c2f8e4bdb5b4bb42a2048ac3683b11b37d1778b804e4cb71c8fc7422d00 nokogiri-1.15.1-java.gem
bf7e93658c7ec590ccbcbf67793a12fd229c806568fdbbe4c67f03c057f0ffbe nokogiri-1.15.1-x64-mingw-ucrt.gem
accc1d3815c92fab56b54bc0ec2512b0cd8c7c0c2aeb57f2aafcdd012565600b nokogiri-1.15.1-x64-mingw32.gem
6f43de41616d627a2b1262f09c062f475aff0b9ed67df68f4b06eb8209fdb797 nokogiri-1.15.1-x86-linux.gem
b3b3b5c4e9315463496b4af94446a0b5b26c7cf8fbe26fd3ddd35cdcbdd60710 nokogiri-1.15.1-x86-mingw32.gem
3a2fbb7a1d641f30d06293683d6baf80183de6e0250a807061ed97a4ba4a8e52 nokogiri-1.15.1-x86_64-darwin.gem
f7992293b0a85932fed1932cf6074107e81c4e84344efbdbaf8eccc9b891dbaa nokogiri-1.15.1-x86_64-linux.gem
68d511e3cffde00225fbbf0e7845a906581b598bf6656f9346649b05e6b7f583 nokogiri-1.15.1.gem
```
1.15.0:
## 1.15.0 / 2023-05-15
### Notes
#### Ability to opt into system `malloc` and `free`
Since 2009, Nokogiri has configured libxml2 to use `ruby_xmalloc` et al for memory management. This has provided benefits for memory management, but comes with a performance penalty.
Users can now opt into using system `malloc` for libxml2 memory management by setting an environment variable:
``` sh
# "default" here means "libxml2's default" which is system malloc
NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default
```
Benchmarks show that this setting will significantly improve performance, but be aware that the tradeoff may involve poorer memory management including bloated heap sizes and/or OOM conditions.
You can read more about this in the decision record at [`adr/2023-04-libxml-memory-management.md`](adr/2023-04-libxml-memory-management.md).
### Dependencies
* [CRuby] Vendored libxml2 is updated to v2.11.3 from v2.10.4. For details please see:
* https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.0
* https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.1
* https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.2
* https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.3
* [CRuby] Vendored libxslt is updated to v1.1.38 from v1.1.37. For details please see:
* https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.38
### Added
* `Encoding` objects may now be passed to serialization methods like `#to_xml`, `#to_html`, `#serialize`, and `#write_to` to specify the output encoding. Previously only encoding names (strings) were accepted. [[#2774](https://github.com/sparklemotion/nokogiri/issues/2774), [#2798](https://github.com/sparklemotion/nokogiri/issues/2798)] (Thanks, [@ellaklara](https://github.com/ellaklara)!)
* [CRuby] Users may opt into using system `malloc` for libxml2 memory management. For more detail, see note above or [`adr/2023-04-libxml-memory-management.md`](adr/2023-04-libxml-memory-management.md).
### Changed
* [CRuby] `Schema.from_document` now makes a defensive copy of the document if it has blank text nodes with Ruby objects instantiated for them. This prevents unsafe behavior in libxml2 from causing a segfault. There is a small performance cost, but we think this has the virtue of being "what the user meant" since modifying the original is surprising behavior for most users. Previously this was addressed in v1.10.9 by raising an exception.
### Fixed
* [CRuby] `XSLT.transform` now makes a defensive copy of the document if it has blank text nodes with Ruby objects instantiated for them _and_ the template uses `xsl:strip-spaces`. This prevents unsafe behavior in libxslt from causing a segfault. There is a small performance cost, but we think this has the virtue of being "what the user meant" since modifying the original is surprising behavior for most users. Previously this would allow unsafe memory access and potentially segfault. [[#2800](https://github.com/sparklemotion/nokogiri/issues/2800)]
### Improved
* `Nokogiri::XML::Node::SaveOptions#inspect` now shows the names of the options set in the bitmask, similar to `ParseOptions`. [[#2767](https://github.com/sparklemotion/nokogiri/issues/2767)]
* `#inspect` and pretty-printing are improved for `AttributeDecl`, `ElementContent`, `ElementDecl`, and `EntityDecl`.
* [CRuby] The C extension now uses Ruby's [TypedData API](https://docs.ruby-lang.org/en/3.0/extension_rdoc.html#label-Encapsulate+C+Data+into+a+Ruby+Object) for managing all the libxml2 structs. Write barriers may improve GC performance in some extreme cases. [[#2808](https://github.com/sparklemotion/nokogiri/issues/2808)] (Thanks, [@etiennebarrie](https://github.com/etiennebarrie) and [@byroot](https://github.com/byroot)!)
* [CRuby] `ObjectSpace.memsize_of` reports a pretty good guess of memory usage when called on `Nokogiri::XML::Document` objects. [[#2807](https://github.com/sparklemotion/nokogiri/issues/2807)] (Thanks, [@etiennebarrie](https://github.com/etiennebarrie) and [@byroot](https://github.com/byroot)!)
* [CRuby] Users installing the "ruby" platform gem and compiling libxml2 and libxslt from source will now be using a modern `config.guess` and `config.sub` that supports new architectures like `loongarch64`. [[#2831](https://github.com/sparklemotion/nokogiri/issues/2831)] (Thanks, [@zhangwenlong8911](https://github.com/zhangwenlong8911)!)
* [CRuby] HTML5 parser:
* adjusts the specified attributes, adding `xlink:arcrole` and removing `xml:base` [[#2841](https://github.com/sparklemotion/nokogiri/issues/2841), [#2842](https://github.com/sparklemotion/nokogiri/issues/2842)]
* allows `` in `
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
-------------------------------------------------------------------
Wed Jan 25 15:02:26 UTC 2012 - fcastelli@suse.com
- Drop -1_5 suffix and go back to rubygem-nokogiri. This makes possible
to update rubygem-nokogiri on Factory.
-------------------------------------------------------------------
Wed Aug 24 20:30:13 UTC 2011 - fcastelli@novell.com
- Create rubygem-nokogiri-1_5 package
-------------------------------------------------------------------
Wed Aug 24 13:43:50 UTC 2011 - fcastelli@novell.com
- update to version 1.5.0
- Notes
- JRuby performance tuning
- JRuby support is provided by a new pure-java backend.
- Features
- extracted sets of Node::SaveOptions into Node::SaveOptions::DEFAULT_{X,H,XH}TML (refactor)
- Bugfixes
- 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 .
- Node#inner_text no longer returns nil. (JRuby) #264
- Deprecations
- Ruby 1.8.6 is deprecated. Nokogiri will install, but official support
is ended.
- LibXML 2.6.16 and earlier are deprecated. Nokogiri will refuse to install.
- FFI support is removed.
- 1.4.7
- Bugfixes
- 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
- 1.4.6
- Notes
- This version is functionally identical to 1.4.5.
- Ruby 1.8.6 support has been restored.
- 1.4.5
- New Features
- 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
- Bugfixes
- 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
-------------------------------------------------------------------
Thu Jul 21 15:46:32 UTC 2011 - fcastelli@novell.com
- Added provides nokogiri_1_4, this is needed to build latest
versions of rubygem-feedzirra
-------------------------------------------------------------------
Tue May 24 13:20:29 UTC 2011 - schubi@novell.com
- Changed licence to MIT
-------------------------------------------------------------------
Tue Dec 21 23:20:04 CET 2010 - asn@cynapses.org
- update to version 1.4.4
* New Features
o XML::Node#children= sets the node’s inner html (much like #inner_html=),
but returns the reparent node(s).
o XSLT supports function extensions. #336
o XPath bind parameter substitution. #329
o XML::Reader node type constants. #369
o SAX Parser context provides line and column information
* Bugfixes
o XML::DTD#attributes returns an empty hash instead of nil when there are no
attributes.
o XML::DTD#{keys,each} now work as expected. #324
o {XML,HTML}::DocumentFragment.{new,parse} no longer strip leading and trailing
whitespace. #319
o XML::Node#{add_child,add_previous_sibling,add_next_sibling,replace} return a
NodeSet when passed a string.
o Unclosed tags parsed more robustly in fragments. #315
o XML::Node#{replace,add_previous_sibling,add_next_sibling} edge cases fixed
related to libxml’s text node merging. #308
o Fixed a segfault when GC occurs during xpath handler argument marshalling. #345
o Added hack to Slop decorator to work with previously defined methods. #330
o Fix a memory leak when duplicating child nodes. #353
o Fixed off-by-one bug with nth-last-{child,of-type} CSS selectors when NOT using
an+b notation. #354
o Fixed passing of non-namespace attributes to SAX::Document#start_element. #356
o Workaround for libxml2 in-context parsing bug. #362
o Fixed NodeSet#wrap on nodes within a fragment. #331
-------------------------------------------------------------------
Tue Dec 21 23:06:09 CET 2010 - asn@cynapses.org
- update to version 1.4.3.1
* New Features
o XML::Reader#empty_element? returns true for empty elements. #262
o Node#remove_namespaces! now removes namespace declarations as well. #294
o NodeSet#at_xpath, NodeSet#at_css and NodeSet#> do what the corresponding
methods of Node do.
* Bugfixes
o XML::NodeSet#{include?,delete,push} accept an XML::Namespace
o XML::Document#parse added for parsing in the context of a document
o XML::DocumentFragment#inner_html= works with contextual parsing! #298, #281
o lib/nokogiri/css/parser.y Combined CSS functions + pseudo selectors fixed
o Reparenting text nodes is safe, even when the operation frees adjacent
merged nodes. #283
o Fixed libxml2 versionitis issue with xmlFirstElementChild et al. #303
o XML::Attr#add_namespace now works as expected. #252
o HTML::DocumentFragment uses the string’s encoding. #305
o Fix the CSS3 selector translation rule for the general sibling combinator
-------------------------------------------------------------------
Mon Jun 14 14:01:25 UTC 2010 - mrueckert@suse.de
- update to version 1.4.2
- 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.
- 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+.
-------------------------------------------------------------------
Fri Jun 11 10:00:01 UTC 2010 - mrueckert@suse.de
- use rubygems_requires macro
-------------------------------------------------------------------
Fri Dec 25 01:40:14 UTC 2009 - prusnak@suse.cz
- update to 1.4.1
- Added Nokogiri::LIBXML_ICONV_ENABLED
- Alias Node#[] to Node#attr
- XML::Node#next_element added
- XML::Node#> added for searching a nodes immediate children
- XML::NodeSet#reverse added
- Added fragment support to Node#add_child,
Node#add_next_sibling,
- Node#add_previous_sibling, and Node#replace.
- XML::Node#previous_element implemented
- Rubinius support
- Ths CSS selector engine now supports :has()
- XML::NodeSet#filter() was added
- XML::Node.next= and .previous= are aliases for add_next_sibling
and add_previous_sibling. GH #183
- XML fragments with namespaces do not raise an exception
(regression in 1.4.0)
- Node#matches? works in nodes contained by a DocumentFragment.
GH #158
- Document should not define add_namespace() method. GH #169
- XPath queries returning namespace declarations do not segfault.
- Node#replace works with nodes from different documents. GH #162
- Adding XML::Document#collect_namespaces
- Fixed bugs in the SOAP4R adapter
- Fixed bug in XML::Node#next_element for certain edge cases
- Fixed load path issue with JRuby under Windows. GH #160.
- XSLT#apply_to will honor the "output method". Thanks
richardlehane!
- Fragments containing leading text nodes with newlines now parse
properly. GH #178.
-------------------------------------------------------------------
Fri Nov 13 20:17:35 UTC 2009 - mrueckert@suse.de
- update to 1.4.0
- Node#at_xpath returns the first element of the NodeSet matching
the XPath expression.
- Node#at_css returns the first element of the NodeSet matching
the CSS selector.
- NodeSet#| for unions GH #119 (Thanks Serabe!)
- NodeSet#inspect makes prettier output
- Node#inspect implemented for more rubyish document inspecting
- Added XML::DTD#external_id
- Added XML::DTD#system_id
- Added XML::ElementContent for DTD Element content validity
- Better namespace declaration support in Nokogiri::XML::Builder
- Added XML::Node#external_subset
- Added XML::Node#create_external_subset
- Added XML::Node#create_internal_subset
- XML Builder can append raw strings (GH #141, patch from dudleyf)
- XML::SAX::ParserContext added
- XML::Document#remove_namespaces! for the namespace-impaired
- returns nil when HTML documents do not declare a meta encoding
tag. GH #115
- Uses RbConfig::CONFIG['host_os'] to adjust ENV['PATH'] GH #113
- NodeSet#search is more efficient GH #119 (Thanks Serabe!)
- NodeSet#xpath handles custom xpath functions
- Fixing a SEGV when XML::Reader gets attributes for current node
- Node#inner_html takes the same arguments as Node#to_html GH#117
- DocumentFragment#css delegates to it's child nodes GH #123
- NodeSet#[] works with slices larger than NodeSet#length GH #131
- Reparented nodes maintain their namespace. GH #134
- Fixed SEGV when adding an XML::Document to NodeSet
- XML::SyntaxError can be duplicated. GH #148
- Hpricot compatibility layer removed
-------------------------------------------------------------------
Mon Oct 19 09:01:41 UTC 2009 - dmacvicar@suse.de
- update to 1.3.3
- NodeSet#children returns all children of all nodes
- Override libxml-ruby's global error handler
- ParseOption#strict fixed
- Fixed a segfault when sending an empty string to
Node#inner_html= GH #88
- String encoding is now set to UTF-8 in Ruby 1.9
- Fixed a segfault when moving root nodes between documents. GH
#91
- Fixed an O(n) penalty on node creation. GH #101
- Allowing XML documents to be output as HTML documents
- Hpricot compatibility layer will be removed in 1.4.0
- Nokogiri::XML::DTD#validate will validate your document
- Nokogiri::XML::NodeSet#search will search top level nodes. GH
73
- Removed namespace related methods from Nokogiri::XML::Document
- Fixed a segfault when a namespace was added twice
- Made nokogiri work with Snow Leopard GH 79
- Mailing list has moved to:
groups.google.com/group/nokogiri-talk
- HTML fragments now correctly handle comments and CDATA blocks.
GH 78
- Nokogiri::XML::Document#clone is now an alias of dup
- Nokogiri::XML::SAX::Document#start_element_ns is deprecated,
please switch to
Nokogiri::XML::SAX::Document#start_element_namespace
- Nokogiri::XML::SAX::Document#end_element_ns is deprecated,
please switch to
Nokogiri::XML::SAX::Document#end_element_namespace
- from 1.3.1
- extconf.rb checks for optional RelaxNG and Schema functions
- Namespace nodes are added to the Document node cache
- Builder changes scope based on block arity
- Builder supports methods ending in underscore similar to tagz
- Nokogiri::XML::Node#<=> compares nodes based on Document
position
- Nokogiri::XML::Node#matches? returns true if Node can be found
with given selector.
- Nokogiri::XML::Node#ancestors now returns an
Nokogiri::XML::NodeSet
- Nokogiri::XML::Node#ancestors will match parents against
optional selector
- Nokogiri::HTML::Document#meta_encoding for getting the meta
encoding
- Nokogiri::HTML::Document#meta_encoding= for setting the meta
encoding
- Nokogiri::XML::Document#encoding= to set the document encoding
- Nokogiri::XML::Schema for validating documents against XSD
schema
- Nokogiri::XML::RelaxNG for validating documents against RelaxNG
schema
- Nokogiri::HTML::ElementDescription for fetching HTML element
descriptions
- Nokogiri::XML::Node#description to fetch the node description
- Nokogiri::XML::Node#accept implements Visitor pattern
- bin/nokogiri for easily examining documents (Thanks Yutaka
HARA!)
- Nokogiri::XML::NodeSet now supports more Array and Enumerable
operators: index, delete, slice, - (difference), +
(concatenation), & (intersection), push, pop, shift, ==
- Nokogiri.XML, Nokogiri.HTML take blocks that receive
Nokogiri::XML::ParseOptions objects
- Nokogiri::XML::Node#namespace returns a
Nokogiri::XML::Namespace
- Nokogiri::XML::Node#namespace= for setting a node’s namespace
- Nokogiri::XML::DocumentFragment and
Nokogiri::HTML::DocumentFragment have a sensible API and a more
robust implementation.
- JRuby 1.3.0 support via FFI.
- Fixed a problem with nil passed to CDATA constructor
- Fragment method deals with regular expression characters
(Thanks Joel!) LH 73
- Fixing builder scope issues LH 61, LH 74, LH 70
- Fixed a problem when adding a child could remove the child
namespace LH#78
- Fixed bug with unlinking a node then reparenting it. (GH#22)
- Fixed failure to catch errors during XSLT parsing (GH#32)
- Fixed a bug with attribute conditions in CSS selectors (GH#36)
- Fixed intolerance of HTML attributes without values in
Node#before/after/inner_html=. (GH#35)
-------------------------------------------------------------------
Mon Mar 23 19:02:00 CET 2009 - mrueckert@suse.de
- update to 1.2.3
* Fixing bug where a node is passed in to Node#new
* Namespace should be assigned on DocumentFragment creation.
LH #66
* Nokogiri::XML::NodeSet#dup works GH #10
* Nokogiri::HTML returns an empty Document when given a blank
string GH#11
* Adding a child will remove duplicate namespace declarations
LH #67
* Builder methods take a hash as a second argument
-------------------------------------------------------------------
Fri Mar 20 16:28:50 CET 2009 - dmacvicar@suse.de
- initial package for 1.2.2