1.5.0 / 2011年7月1日
- Notes
- 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 <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.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日
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 が複製可能になった
- 廃棄予定
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のドキュメントとして出力出来るようになった
- 廃棄予定
1.3.2 / 2009年6月22日
- 新しい機能
- Nokogiri::XML::DTD#validate
はドキュメントを検証できるようになった
- バグの修正
- 廃棄予定
- 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.HTML はNokogiri::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日
- 新しい機能
- バグの修正
- 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