CHANGELOG.ja.rdoc

Path: CHANGELOG.ja.rdoc
Last Update: Wed Feb 20 16:55:03 +0100 2013

1.5.6 / unreleased

  • Features
    • XML::Document#collect_namespaces メソッドのパフォーマンスを改善した。 761 (ありがとう、Juergen Mangler!)
    • SAX::Document#processing_instructionに新しいcallbackが追加 (ありがとう、Kitaiti Makoto!)
    • Node#native_content= メソッドでエスケープされていない文字列をセットできるようにした。 768
    • 名前空間を付けて xpath 式を書く場合に、シンボルキーを使えるようにした。729 (ありがとう、Ben Langfeld.)
    • XML::Node#[]= メソッド内で受け取った引数を文字列に変換するようにした。729 (ありがとう、Ben Langfeld.)
    • bin/nokogiri コマンドが $stdin からドキュメントを読んで処理できるようにした。
    • bin/nokogiri -e を指定することでコマンドラインプログラムを実行できるようにした。
    • bin/nokogiri —version will print the Xerces and NekoHTML versions when ran with JRuby.
  • Bugfixes
    • Nokogiri はこのバージョンからXSLT変換のエラーを検出するようになった。731 (ありがとう、Justin Fitzsimmons!)
    • Don‘t throw an Error when trying to replace top-level text node in DocumentFragment. 775
    • SAXパーザに不正なエンコーディングに渡された場合はArgumentErrorを投げるようにした。756 (ありがとう、Bradley Schaefer!)
    • [JRuby] XML宣言の前にスペースがあると、ドキュメントのパーズに失敗する。(748の修正でこれもなおっている) 790
    • [JRuby] Nokogiri::XML::Node#content のJRubyの振る舞いがCRubyと同じではない。794, 797
    • [JRuby] で ’#’ で始まる文字列を名前とする EntityReference を作ろうとすると INVALID_CHARACTER_ERR という例外がはっせいする。 719
    • [JRuby] では Nodeのサブクラスのnamespaceを正しく文字列に変換しない。 715
    • [JRuby] Node#contentがこのバージョンから改行コードを正しく表示するようになった。737 (ありがとう、Piotr Szmielew!)
    • [JRuby] recover optionが指定されている場合は宣言の無いネームスペースを無視するようにした。748
    • [JRuby] ネームスペースを検出するXPathが続けて実行されても例外を投げてはいけない。764
    • [JRuby] XMLを表示(出力)する際のホワイトスペースの扱いをlibxml2バージョンとさらに同様になるようにした。771
    • [JRuby] ネームスペース付きの属性を含むXMLドキュメントを文字列でbuilderに追加しようとすると失敗する。770
    • [JRuby] Nokogiri::XML::Document#wrapを使って生成したドキュメントに << でノードを追加しようとすると
       undefined method `length' for nil:NilClassのエラーが発生する #781
      
    • [JRuby] 開いているファイルのデスクリプタを閉じようとすると、"bad file descriptor" が発生する。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

1.5.5 / 2012年6月24日

  • Features
    • Much-improved support for JRuby in 1.9 mode! Yay!
  • Bugfixes
    • JRuby Nokogiri の add_previous_sibling が以前は動いていたのに今は動かない(1.5.0 -> 1.5.1)。 691 (ありがとう, John Shahid!)
    • JRuby バーションは URL が引数にあたえられると HTML ドキュメントを作れない。 674 (ありがとう, John Shahid!)
    • JRuby バージョンは HTMLとして nil か "" が与えられると NullPointerException を投げる。 699
    • JRuby 1.9 モードでエラー, uncaught throw ‘encoding_found’, が発生する。 673
    • JRuby で US-ASCII にエンコードされた文字列が正しくないエンコードを返してくる。 583
    • 512 文字以上が与えられたときに XmlSaxPushParser が IndexOutOfBoundsException を投げる。567, 615
    • Xpath を評価した結果、空の NodeSet が帰ってくる場合に、NodeSet が持っている Document の decorate に失敗して例外が投げられる。514
    • JRuby で xpath を namespace 付きで指定した場合に、エラーが発生する。pull request 681 (ありがとう, Piotr Szmielew)
    • JRuby で Nokogiri::XML::Node を継承したクラスを定義すると、namespace が表示されない。 695
    • JRuby で RDF::RDFXML::Writer をインスタンス化しようとすると NAMESPACE_ERR (org.w3c.dom.DOMException) が発生する. 683
    • JRuby で xpath に namespaces を指定すると例外が発生する. 493
    • JRuby の Entity 解決は C version の Nokogiri と同じ結果にならないといけない。704, 647, 703

1.5.4 / 2012年6月12日

  • Features
    • "nokogiri" コマンドに `—rng` オプションが与えられと、より詳しい説明を表示するようになった。 675 (ありがとう, Dan Radez!)
    • `-Werror=format-security` CFLAGを使っている hardened な Debian 系 Linux でのビルドをサポート 680.
    • pkg-config ありのシステム上でのよりよいビルドをサポート。 584
    • 複数の iconv がイストールされているシステムでのよりよいビルドをサポート。
  • Bugfixes
    • DocumentFragment をベースにしてコメントノードを作ったときに Segmentation fault する。 677, 678.
    • at() と search() メソッドで ’.’ をxpathとして扱う。 690
    • [MRI, Security] XML パース時のディフォルトのオプションを nonet に変更。これにより、ディフォルトでは ドキュメントパース時にネットワーク接続を行わないようにし、XXE 脆弱性に対応した。693

      パース時にネットワークに接続して外部のドキュメントを見にいかせたい場合には、以下のように `nonoet` オプションを設定する:

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

      ここに、自分ならではの二重否定のジョークをうめこむとなおよし。

1.5.3 / 2012年6月1日

  • Features
    • jQuery のような "prefixless" CSS セレクタ, ~ や >, + をサポート。621, 623. (ありがとう, David Lee!)
    • Attempting to improve installation on homebrew 0.9 (with regards to iconv). Isn‘t package management convenient?
  • Bugfixes
    • カスタム xpath 関数が空の nodeset を引数に含む場合、segfault を起こす。 634.
    • 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 がJRubyで正しく動作しない 617
    • Nokogiri::XML::Attribute が JRuby 上で nil namespace を返す 647
    • Nokogiri::XML::Node#namespace= メソッドが JRuby 上で prefix

     が無い namespace を設定できない 648

    • [JRuby] 1.9 モードで 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

1.5.2 / 2012-03-09

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

1.5.1 / 2012年3月9日

  • 新機能
    • XML::Builder#comment はコメントノードを作れるようになった.
    • CSS searches now support namespaced attributes. 593
    • Java integration 機能が追加された. このバージョンから, XML::Document.wrap と XML::Document#to_java メソッドが利用可能。
    • RelaxNG validator support in the `nokogiri` cli utility. 591 (thanks, Dan Radez!)
  • バグの修正
    • エンコーディング自動認識において発生しうるメモリリークを修正. Tim Elliottに感謝!
    • homebrew はインストールしたら、extconf は homebrew のパスを読む。
    • 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

1.5.0 / 2011年7月1日

    • 1.4.7からの変更点を参照
  • 新機能
    • 各文書形式用のデフォルトのNode::SaveOptionsの組合せを定数化. (Node::SaveOptions::DEFAULT_{X,H,XH}TML)
  • バグの修正
    • JRuby版ではホワイトスペースの扱いに難があるため、XML出力(to_xml)において 自動整形をデフォルトでは行わないように変更. 415
    • JRuby版でNodeのないNodeSetでNullPointerExceptionが発生するのを修正. 443
    • エンコーディング宣言のないHTMLファイルで部分的に重複したドキュメントが生成される問題を修正した. 478
    • <meta charset="…"> を認識するようになった.

1.5.0 beta3 2010年12月2日

    • JRubyでの性能改善
    • 1.4.4からの変更点を参照
  • バグの修正
    • Node#inner_textはnilを返さなくなった. (JRuby) 264

1.5.0 beta2 2010年7月30日

    • 1.4.3からの変更点を参照

1.5.0 beta1 2010年5月22日

    • 新しいピュアJavaバックエンドによりJRubyサポートを追加
  • 廃止
    • Ruby 1.8.6は非推奨となった. インストールできるかもしれないが、正式なサポートは終了.
    • LibXML 2.6.16および古いバージョンは非推奨. インストールできない.
    • FFIサポートは削除された.

1.4.7 / 2011年7月1日

  • バグの修正
    • エンコーディング宣言のないHTMLファイルで部分的に重複したドキュメントが生成される問題を修正した. 478

1.4.6 / 2011年6月19日

  • ノート
    • このバージョンは、1.4.5と機能的に同じです
    • Rubyの1.8.6のサポートが復元されている

1.4.5 / 未リリース

  • 新機能
    • Nokogiri::HTML::Document#title アクセサメソッドでHTML文書のタイトルを読み書きできる
  • バグの修正
    • Node#serialize とその仲間達はSaveOptionオブジェクトを受け入れる
    • Nokogiri::CSS::Parser has-a Nokogiri::CSS::Tokenizer
    • [JRUBY+FFIのみ] 「弱い参照」はスレッドセーフになった. 355
    • HTML::SAX::Parserから呼ばれるstart_element()コールバックのattributes引数はHTML::XML::Parserによるエミュレートコールバックと同じく連想配列になった. rel. 356
    • HTML::SAX::Parserのparse*()メソッドはXML::SAX::Parser同様に渡されたブロックをコールバックするようになった.
    • HTMLパーサーのエンコーディング判定をlibxml2の仕様を超えて拡張・改善した. (XML宣言のencodingを認識、非ASCII文字出現後のmetaタグも文字化けを生じずに反映)
    • Document#remove_namespaces! は名前空間付きの属性に対応した. 396

1.4.4 2010年11月15日

  • 新機能
    • XML::Node#children=ノード内のhtml reparented node(s)を返す事によって親の変更ができる。
    • XSLT はfunction extensionsをサポート。336
    • XPath はパラメーター置換を結合する. 329
    • XML::Reader node typeを一定化させる. 369
    • SAX Parser context は行とコラムの両方の情報を提供する
  • バグの修正
    • XML::DTD#attributes は属性が存在しない際、nilの代わりに空のハッシュを返す
    • XML::DTD#{keys,each} は文字通りに機能するようになった 324
    • {XML,HTML}::DocumentFragment.{new,parse} 行送りと末尾の空白を除去しなくなった 319
    • XML::Node#{add_child,add_previous_sibling,add_next_sibling,replace} は文字列を見送る際にNodeSetを返す
    • 不確定タグはフレグメント内で要、不要に関係なく解析される 315
    • XML::Node#{replace,add_previous_sibling,add_next_sibling} libxmlのtext node merging に関わるedge caseを修正する 308
    • xpath handler argument が整列している最中に起こるGCでのsegfaultを修正 345
    • Slop decoratorが既に確定された定義と共に正常に機能させるための便宜上の処置 330
    • 子ノードが複製される際に起こるメモリ漏れの修正 353
    • an+b記号の無使用時に発生するoff-by-oneバグとnth-last-{child,of-type} CSSセレクターの修正 354
    • 非名前空間属性がSAX::Document#start_elementへパスできるように修正 356
    • libxml2 in-contextの解析バグの処置  362
    • フレグメント内のノードの中にあるNodeSet#wrapの修正 331

1.4.3 2010年7月28日

  • 新しい機能
    • XML::Reader#empty_element? - 子の無いエレメントにtrueを返す  262
    • Node#remove_namespaces! - 1.4.2では 名前空間のみを取り除いていたが、 1.4.3 では名前空間及び、名前空間宣言も取り除く 294
    • NodeSet#{at_xpath,at_css,>} はNodeの同名メソッドと同様の動作
  • バグの修正
    • XML::NodeSet#{include?,delete,push} はXML::Namespaceを受入れる
    • XML::Document#parse - 1.4.3より文書内の文脈を解析する機能を追加
    • XML::DocumentFragment#inner_html= 文脈解析を共に実行する 298, 281
    • lib/nokogiri/css/parser.y はCSSと疑似選別の両方を機能
    • 演算によって近隣に存在する併合型ノードへの遊離問題の有無に関わらず、一切の 弊害なしにテキストノードの繰り返しが実行可能  283
    • xmlFirstElementChild et al.による libxml2バージョンでの不適合性を修正 303
    • XML::Attr#add_namespace (!)文字通りの機能実現!  252
    • HTML::DocumentFragment が文字列に存在するエンコードを使用 305
    • CSS3の間接セレクタ"E ~ F G"がXPathの"//F//G[preceding-sibling::E]"へと 誤変換されてしまうのを修正

1.4.2 2010年5月22日

  • 新機能
    • XML::Node#parse 定義されたコンテキストノードでXML 又はHTMLのフレグメント を解析する
    • XML::Node#namespacesが子ノードとその祖先ノード内で定義された全ての名前空間 を返すようになった(以前は祖先ノードの名前空間は返されなかった)
    • XML::Node内にEnumerableを追加
    • Nokogiri::XML::Schema#validate 与えられたファイル名が引き渡された時、 Nokogiri::XML::Schema#validateはxmlSchemaValidateFileを使用する
     (時間短縮化とメモリーの能率化の理由を基にファイル名での引き渡しメソッドを
      採用) GH #219
    
    • XML::Document#create_entnty は新規のEntityDecl のオブジェクトを生成する GH 174
    • JRuby FFI implementationでは、従来まで使用されたObjectSpace._id2refの代わり にCharles Nutterのrocking Weakling gemを使用に変更
    • Nokogiri::XML::Node#first_element_child は一番最初のELEMENT子ノードを返す
    • Nokogiri::XML::Node#last_element_child は最後のELEMENT子ノードを返す
    • Nokogiri::XML::Node#elements は全てのELEMENT子ノードを返す
    • Nokogiri::XML::Node#add_child, add_previous_sibling, before, add_next_sibling, after, inner_html, swap, replaceはNode, DocumentFragment, NodeSetおよびマークアップ文字列を受け付ける
    • Node#fragment? はノードがDocumentFragmentかどうかを示す
  • バグの修正
    • ドキュメント内にデコレータがある場合、XML::NodeSet は常にデコレータされる GH 198
    • XML::NodeSet#slice がノードセットよりも長いoffset+lengthを問題なく処理する GH 200
    • XML::Node#content=はノードとその直前に記述されている内容を支障なく切り離す GH 203
    • XML::Node#namespace= はnilを一つのパラメーターと扱って取得する
    • XML::Node#xpath はNodeSetのオブジェクト以外のオブジェクトを返す GH 208
    • XSLT::StyleSheet#transformはパラメーターのハッシュを受け入れる GH 223
    • CSSのnot()の疑似セレクタの修正  GH 205
    • XML::Builder はノードらが切り離されても破壊しない(vihaiの協力に感謝) GH 228
    • SAX parser経由でエンコードを強制することが出来る  Eugene Pimenovに感謝! GH 204
    • XML::DocumentFragment はML::Node#parse を使用して子を限定する
    • XML Reader内のメモリリーク修正  sdorさん、ありがとう! GH#244
    • Node#replaceはRDocの通り新しい子ノードを返す(selfを返していた)
  • ノート
    • 今日4月18日現在、Windows gems は libxml 2.7.7 とlibxslt 1.1.26にDLLsを標準装備しています。このリリース以前にも既にDLLsはlibxml 2.7.3 と libxslt 1.1.24に標準装備済み。

1.4.1 2009年12月10日

  • 新しい機能
    • Nokogiri::LIBXML_ICONV_ENABLED を追加
    • Node#attr は Node#[] のエイリアス定義に変更
    • XML::Node#next_element を追加
    • 直接の子ノードを検索するための Node#> を追加
    • XML::NodeSet#reverse を追加
    • 以下のfragment supportを追加

  Node#add_child   Node#add_next_sibling

    Node#add_previous_sibling
   Node#replace
  * XML::Node#previous_element を追加
  * nokogiriがRubinius でサポートされるようになった
  * CSS selector の :has() が使用可能になった
  * XML::NodeSet#filter() を追加
  * XML::Node.next= は add_next_sibling の alias へ変更
  * XML::Node.previous= は add_previous_sibling の alias へ変更
  • バグの修正
    • XMLのフラグメントに名前空間が存在する場合のみ、DocumentFragmentを作る際に、 例外が投げられなくなった
    • DocumentFragment内で子ノードが存在する場合、 Node#matches?が機能するようになった GH 158
    • Documentは add_namespace()を限定すべきではないので削除GH 169
    • XPath クエリは名前空間の宣言を変換するがsegvではない。
    • Node#replace は他のドキュメントのノードが使えるようになった
    • XML::Document#collect_namespaces を追加
    • SOAP4R のアダプター内のバグ修正
    • XML::Node#next_element 内のバグ修正
    • WindowsでのJRuby の LOAD_PATH を修正 GH 160
    • XSLT#apply_toは "output method"の値を使用する(richardlehaneに感謝)
    • 新しい文字列の先頭にくるテキストノードを含んだフレグメントが 正確に 解析出来るようになった GH 178

1.4.0 2009年10月30日

  • 今日はノコギリの満一歳のお誕生日です
  • 新しい機能
    • Node#at_xpath はXPath式に適合するNodeSetの一番最初の要素を返す
    • Node#at_css はCSSセレクターに適合するNodeSetの一番最初の要素を返す
    • NodeSet#| はNodeSet同士を合成する GH 119 (Serabe ありがとう!)
    • NodeSet#inspect の出力をより美しくした
    • Node#inspect の出力をよりrubyらしくした
    • XML::DTD#external_id を追加
    • XML::DTD#system_id を追加
    • XML::ElementContent はDTD要素のコンテンツを有効化する
    • Nokogiri::XML::Builder内での名前空間宣言用のサポートを改良
    • XML::Node#external_subsetを追加
    • XML::Node#create_external_subsetを追加
    • XML::Node#create_internal_subsetを追加
    • XML Builderは生成されていないstringsを付加出来る様になった (GH 141, patch from dudleyf)
    • XML::SAX::ParserContext を追加
    • XML::Document#remove_namespaces! は名前空間を使いこなせない人たち用の措置
  • バグの修正
    • HTMLドキュメントが メタエンコーディングのタグを宣言しない時、 nilを返すようになった GH 115
    • ENV[‘PATH’] を調節する為に、RbConfig::CONFIG[‘host_os’]を使用できるように なった GH 113
    • NodeSet#searchが更に効率的になった GH 119 (Serabe!に感謝します)
    • NodeSet#xpathがcustom xpath機能を取り扱える様になった
    • XML::Reader が現時点のノード用に属性を取得する際に、 SEGVを修正するようになった
    • Node#inner_html がNode#to_html と同じ独立変数を受け入れるようになった GH 117
    • DocumentFragment#css は子ノードへ委任するようになった GH 123
    • NodeSet#[]がNodeSet#lengthより大きいスライスでも機能するようになった GH 131
    • 新たな親ノードの名前空間を維持出来るようになった GH 134
    • XML::Document をNodeSetに追加する際のSEGVが修正された
    • XML::SyntaxError が複製可能になった
  • 廃棄予定
    • Hpricot用の互換性レイヤーを削除

1.3.3 / 2009年7月26日

  • 新しい機能
    • NodeSet#children 全ての子ノードを返すようになった
  • バグの修正
    • libxml-ruby のグローバ ルエラー ハンドラー に優先するようになった
    • ParseOption#strict を修正
    • 空文字列を Node#inner_html= に与えた時に生じたSEGVを修正 GH 88
    • Ruby 1.9 では文字列のエンコーディングをUTF-8になるようにした
    • ドキュメントの根ノードから違うドキュメントの根ノードに移動した時に生じた SEGVを修正 GH 91
    • ノードをインスタンス化する時のO(n)のペナルティーを修正 GH 101
    • XMLのドキュメントをHTMLのドキュメントとして出力出来るようになった
  • 廃棄予定
    • Hpricotの互換性レイヤーがNokogiriの1.4.0で除去される予定

1.3.2 / 2009年6月22日

  • 新しい機能
    • Nokogiri::XML::DTD#validate はドキュメントを検証できるようになった
  • バグの修正
    • Nokogiri::XML::NodeSet#search はトップレベルのノードを検索するようになった GH 73
    • Nokogiri::XML::Documentからメソッドに関係する名前空間を取り除いた
    • 2回同じ名前空間が追加されたときSEGVする問題を修正した
    • Snow Leopard で Nokogiri が動くようになった GH 79
    • メーリングリストはGoogle Groupsの以下のURLに移動した groups.google.com/group/nokogiri-talk
    • HTML フラグメントはコメントとCDATAを正確に扱うようになった
    • Nokogiri::XML::Document#cloneはdupのaliasになった
  • 廃棄予定
    • Nokogiri::XML::SAX::Document#start_element_nsは廃棄予定なので Nokogiri::XML::SAX::Document#start_element_namespaceを代わりに使用して下さい
    • Nokogiri::XML::SAX::Document#end_element_nsは廃棄予定なので Nokogiri::XML::SAX::Document#end_element_namespaceを代わりに使用して下さい

1.3.1 / 2009年6月7日

  • バグの修正
    • extconf.rb は任意のRelaxNGとSchemaの機能を探すようになった
    • ドキュメントのノードキャッシュに名前空間のノードが入るようになった

1.3.0 / 2009年5月30日

  • 新しい機能
    • Builderがブロックの引数の数に応じてスコープが定まるようになった
    • Builderがアンダースコアで終わるメソッドをtagzと同様にサポートするようになった
    • Nokogiri::XML::Node#<=> がドキュメントの位置によりノードを比較するように なった
    • Nokogiri::XML::Node#matches?が与えられたセレクタ内でノードがあればtrue を返すようになった
    • Nokogiri::XML::Node#ancestors がNokogiri::XML::NodeSetオブジェクトを返すようになった
    • Nokogiri::XML::Node#ancestorsがオプションのセレクタに対応する親をマッチする ようになった
    • Nokogiri::HTML::Document#meta_encoding がメタデータのエンコードを返すように なった
    • Nokogiri::HTML::Document#meta_encoding= でメタデータのエンコードを 設定できるようになった
    • Nokogiri::XML::Document#encoding= でドキュメントのエンコードを 設定できるようになった
    • Nokogiri::XML::Schema でドキュメントがXSDのスキーマに沿って記述されているか を検証できるようになった
    • Nokogiri::XML::RelaxNG でドキュメントがRelaxNGのスキーマに沿って 記述されているかを検証できるようになった
    • Nokogiri::HTML::ElementDescription はHTML要素の説明フェッチ動作するよう になった
    • Nokogiri::XML::Node#descriptionは ノードの説明をフェッチ動作するよう になった
    • Nokogiri::XML::Node#accept は Visitor パターンを実行するようになった
    • 簡単にドキュメントを解析するコマンド bin/nokogiri を追加 (Yataka HARAさんに感謝感激)
    • Nokogiri::XML::NodeSetが更にArrayとEnumerableの演算を サポートするようになった:
        index, delete, slice, - (差分), + (連結), & (共通部分),
        push, pop, shift, ==
      
    • Nokogiri.XML, Nokogiri.HTMLNokogiri::XML::ParseOptions objectと一緒に 呼び出されるブロックを受け入れるようになった
    • Nokogiri::XML::Node#namespace は Nokogiri::XML::Namespaceを返すようになった
    • Nokogiri::XML::Node#namespaceはノードの名前空間を設定するようになった
    • FFI 経由で JRuby 1.3.0 をサポートするようになった
  • バグの修正
    • nilがCDATAsonstructorに渡される際の問題を修正
    • Fragment メソッドが正規表現を抜け出させるようになった (Joelさんに感謝感激) (LH 73)
    • Builder スコープのLH 61, LH 74, LH 70に関しての様々な問題を修正
    • 名前空間を付け加える時、名前空間が LH#78より除去されてしまう問題を修正
    • 連結しないノードが発生し、再育成してしまう問題を修正(GH#22)
    • XSLT が解析中にエラーを発見し損なう問題を修正(GH#32)
    • CSS selectors内での条件属性のバグ問題を修正(GH#36)
    • Node#before/after/inner_html=で値なしのHTML属性が受け入れられなかった問題を 修正 (GH#35)

1.2.3 / 2009年3月22日

  • バグの修正
    • Node#new 内にて、バグを修正する
    • DocumentFragmentの作成時、名前空間に割り当てる LH 66
    • Nokogiri::XML::NodeSet#dup は機能するようになった GH 10
    • Nokogiri::HTMLは文字列がブランクの時、空のドキュメントで返す GH#11
    • 子ノードを付加する事で、重複した名前空間の宣言を取り除く LH#67
    • ビルダ方法はハッシュを第二引数とする

1.2.2 / 2009年3月14日

  • 新しい機能
    • Nokogiri は soap4r と一緒に使う事が可能。(XSD::XMLParser::Nokogiri 参照)
    • Nokogiri::XML::Node#inner_html= はノードの中のHTMLをセット出来る
    • NokogiriのBuilderのインタフェースの改良
    • Nokogiri::XML::Node#swap は、現在のノードに新しいhtmlを交換する事が出来る
  • バグの修正
    • BuilderAPIのタグのネスティングを修正 (LH 41)
    • Nokogiri::HTML.fragment はテキストだけのノードを適切に扱う事が出来る(LH 43)
    • Nokogiri::XML::Node#before はテキストノードのはじめに挿入する事が出来る (LH 44)
    • Nokogiri::XML::Node#after はテキストノードの文末に挿入する事が出来る
    • Nokogiri::XML::Node#search 名前空間が自動的に登録されるようになった(LH#42)
    • Nokogiri::XML::NodeSet#search 名前空間が自動的に登録されるようになった
    • Nokogiri::HTML::NamedCharacters はlibxml2に委任
    • Nokogiri::XML::Node#[] はSymbolを使う (LH 48)
    • vasprintf にwindowsを修正 (Geffroy Couprie ありがとう!)
    • Nokogiri::XML::Node#[]= はentityを符号化しない (LH 55)
    • 名前空間はreparentedのノードに模写する (LH 56)
    • StringのエンコードはRuby 1.9での初期設定を使用する
    • Document#dup は新しいドキュメントに同じタイプを作る (LH 59)
    • Document#parent は存在しない (LH 64)

1.2.1 / 2009年2月23日

  • 修正
    • CSS のセレクターのスペースを修正
    • Ruby 1.9 のStringのエンコードを修正 (角谷さんに感謝!)

1.2.0 / 2009年2月22日

  • 新しい機能
    • CSSサーチが CSS3 名前空間クエリをサポートするようになった
    • ルート要素での名前空間が自動的に登録されるようになった
    • CSS クエリが初期設定の名前空間を使うようになった
    • Nokogiri::XML::Document#encoding で文書にエンコードを使用、受け取る
    • Nokogiri::XML::Document#url で文書のURLを受け取る
    • Nokogiri::XML::Node#each はname属性、値を一組にし反復適用する
    • Nokogiri::XML::Node#keys はすべてのname属性を受け取る
    • Nokogiri::XML::Node#line は行番号をノード用に受け取る (Dirkjan Bussinkさんに感謝感激)
    • Nokogiri::XML::Node#serialize は任意されたencodingパラメーターを受け入れる
    • Nokogiri::XML::Node#to_html, to_xml, と to_xhtml は任意されたencodingパラメーターを受け入れる
    • Nokogiri::XML::Node#to_str
    • Nokogiri::XML::Node#to_xhtml でXHTML文書を生成する
    • Nokogiri::XML::Node#values が全ての属性値を受け入れる
    • Nokogiri::XML::Node#write_to は任意されたencodingで要素をIOオブジェクトへ書く
    • Nokogiri::XML::ProcessingInstrunction.new
    • Nokogiri::XML::SAX::PushParser は全てのプッシュパースに必要な解析をする
  • バグの修正
    • Nokogiri::XML::Document#dup を修正
    • ヘッダ検知を修正. 謝々るびきちさん!
    • 無効なCSS内にて解析機能を動かなくさせる原因を修正
  • 廃棄予定
    • Nokogiri::XML::Node.new_from_str は1.3.0にて廃棄予定
  • APIの変更
    • Nokogiri::HTML.fragment は XML::DocumentFragment (LH 32)で返す

1.1.1

  • 新しい機能
    • XML::Node#elem? を追加
    • XML::Node#attribute_nodes を追加
    • XML::Attr を追加
    • XML::Node#delete を追加
    • XML::NodeSet#inner_html を追加
  • バグの修正
    • HTML のノードを \r のエンティティを含まない
    • CSS::SelectorHandler と XML::XPathHandler を除去
    • XML::Node#attributes が Attr node を value値に返す
    • XML::NodeSet が to_xml へ実行

1.1.0

  • 新しい機能
    • カスタム XPath 機能はある。( Nokogiri::XML::Node#xpath 参照 )
    • カスタム CSS 擬似クラスと機能はある。( Nokogiri::XML::Node#css 参照 )
    • Nokogiri::XML::Node#<< が作成中に子ノードを自動追加
  • バグの修正
    • mutex が CSS のキャッシュのアクセスをロックする
    • GCC 3.3.5 のビルドに関する問題を修正
    • XML::Node#to_xml が引数indentationを取る
    • XML::Node#dup が引数任意のdepthを取る
    • XML::Node#add_previous_sibling が新しい兄弟ノードで返す

1.0.7

  • バグの修正
    • Dike 使用時中のメモリーリークの修正
    • SAX パーサーが現在 IO Stream 同時解析
    • コメント nodes が独自のクラスを継承する
    • Nokogiri() は Nokogiri.parse() へデリゲートする
    • ENV[‘PATH’] に付加せれる代わりに先頭へデータ挿入される
    • 複雑な CSS 内のバグを修正完了 :not selector ではありません

1.0.6

  • 5つの修正
    • XPath のパーサーが SyntaxError を生じさせ解析停止させる
    • CSS のパーサーが SyntaxError を生じさせ解析停止させる
    • filter() と not() hpricot の互換性を追加
    • CSS が Node#search 経由で検索し、常時対応する事が出来るようになった
    • CSS より XPath 変換がキャッシュに入れられるようになった

1.0.5

  • バグフィックス
    • メーリンクリストを作成
    • バグファイルを作成
    • Windows 内で ENV[‘PATH’] が存在しない場合でも、存在出来るように設定完了
    • Document 内の NodeSet#[] の結果をキャッシュする

1.0.4

  • バグフィックス
    • 弱参照からドキュメント参照へのメモリー管理の変換
    • メモリリークに接続
    • Builderブロックが取り囲んでいるコンテキストから メソッドの呼び出しをする事が出来る

1.0.3

  • 5つのバグ修正
    • NodeSet が to_ary へ実行
    • XML::Document#parent を除去
    • GCバグ修正済み (Mike は最高!)
    • 1.8.5互換性の為の RARRAY_LEN 除去
    • inner_html 修正済み (Yahuda に感謝)

1.0.2

  • 1つのバグ修正
    • extconf.rb は frex や racc を調べないはず

1.0.1

  • 1つのバグ修正
    • extconf.rb が libdir や prefix を検索しない事を確認済み それによって、ports libxml/ruby が正しくリンクする (lucsky に感謝!)

1.0.0 / 2008-07-13

  • 1つの偉大な増進
    • ご誕生である

[Validate]