superfeedr-nokogiri 1.4.0.20091116183308

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. data/.autotest +27 -0
  2. data/CHANGELOG.ja.rdoc +330 -0
  3. data/CHANGELOG.rdoc +314 -0
  4. data/Manifest.txt +269 -0
  5. data/README.ja.rdoc +105 -0
  6. data/README.rdoc +118 -0
  7. data/Rakefile +244 -0
  8. data/bin/nokogiri +49 -0
  9. data/ext/nokogiri/extconf.rb +145 -0
  10. data/ext/nokogiri/html_document.c +145 -0
  11. data/ext/nokogiri/html_document.h +10 -0
  12. data/ext/nokogiri/html_element_description.c +272 -0
  13. data/ext/nokogiri/html_element_description.h +10 -0
  14. data/ext/nokogiri/html_entity_lookup.c +32 -0
  15. data/ext/nokogiri/html_entity_lookup.h +8 -0
  16. data/ext/nokogiri/html_sax_parser_context.c +92 -0
  17. data/ext/nokogiri/html_sax_parser_context.h +11 -0
  18. data/ext/nokogiri/nokogiri.c +89 -0
  19. data/ext/nokogiri/nokogiri.h +145 -0
  20. data/ext/nokogiri/xml_attr.c +92 -0
  21. data/ext/nokogiri/xml_attr.h +9 -0
  22. data/ext/nokogiri/xml_attribute_decl.c +67 -0
  23. data/ext/nokogiri/xml_attribute_decl.h +9 -0
  24. data/ext/nokogiri/xml_cdata.c +54 -0
  25. data/ext/nokogiri/xml_cdata.h +9 -0
  26. data/ext/nokogiri/xml_comment.c +52 -0
  27. data/ext/nokogiri/xml_comment.h +9 -0
  28. data/ext/nokogiri/xml_document.c +388 -0
  29. data/ext/nokogiri/xml_document.h +24 -0
  30. data/ext/nokogiri/xml_document_fragment.c +46 -0
  31. data/ext/nokogiri/xml_document_fragment.h +10 -0
  32. data/ext/nokogiri/xml_dtd.c +192 -0
  33. data/ext/nokogiri/xml_dtd.h +10 -0
  34. data/ext/nokogiri/xml_element_content.c +123 -0
  35. data/ext/nokogiri/xml_element_content.h +10 -0
  36. data/ext/nokogiri/xml_element_decl.c +69 -0
  37. data/ext/nokogiri/xml_element_decl.h +9 -0
  38. data/ext/nokogiri/xml_entity_decl.c +97 -0
  39. data/ext/nokogiri/xml_entity_decl.h +10 -0
  40. data/ext/nokogiri/xml_entity_reference.c +50 -0
  41. data/ext/nokogiri/xml_entity_reference.h +9 -0
  42. data/ext/nokogiri/xml_io.c +31 -0
  43. data/ext/nokogiri/xml_io.h +11 -0
  44. data/ext/nokogiri/xml_namespace.c +74 -0
  45. data/ext/nokogiri/xml_namespace.h +12 -0
  46. data/ext/nokogiri/xml_node.c +1060 -0
  47. data/ext/nokogiri/xml_node.h +13 -0
  48. data/ext/nokogiri/xml_node_set.c +397 -0
  49. data/ext/nokogiri/xml_node_set.h +9 -0
  50. data/ext/nokogiri/xml_processing_instruction.c +54 -0
  51. data/ext/nokogiri/xml_processing_instruction.h +9 -0
  52. data/ext/nokogiri/xml_reader.c +593 -0
  53. data/ext/nokogiri/xml_reader.h +10 -0
  54. data/ext/nokogiri/xml_relax_ng.c +159 -0
  55. data/ext/nokogiri/xml_relax_ng.h +9 -0
  56. data/ext/nokogiri/xml_sax_parser.c +286 -0
  57. data/ext/nokogiri/xml_sax_parser.h +43 -0
  58. data/ext/nokogiri/xml_sax_parser_context.c +155 -0
  59. data/ext/nokogiri/xml_sax_parser_context.h +10 -0
  60. data/ext/nokogiri/xml_sax_push_parser.c +114 -0
  61. data/ext/nokogiri/xml_sax_push_parser.h +9 -0
  62. data/ext/nokogiri/xml_schema.c +156 -0
  63. data/ext/nokogiri/xml_schema.h +9 -0
  64. data/ext/nokogiri/xml_syntax_error.c +261 -0
  65. data/ext/nokogiri/xml_syntax_error.h +13 -0
  66. data/ext/nokogiri/xml_text.c +48 -0
  67. data/ext/nokogiri/xml_text.h +9 -0
  68. data/ext/nokogiri/xml_xpath.c +53 -0
  69. data/ext/nokogiri/xml_xpath.h +11 -0
  70. data/ext/nokogiri/xml_xpath_context.c +239 -0
  71. data/ext/nokogiri/xml_xpath_context.h +9 -0
  72. data/ext/nokogiri/xslt_stylesheet.c +131 -0
  73. data/ext/nokogiri/xslt_stylesheet.h +9 -0
  74. data/lib/nokogiri.rb +116 -0
  75. data/lib/nokogiri/css.rb +25 -0
  76. data/lib/nokogiri/css/generated_parser.rb +646 -0
  77. data/lib/nokogiri/css/generated_tokenizer.rb +142 -0
  78. data/lib/nokogiri/css/node.rb +99 -0
  79. data/lib/nokogiri/css/parser.rb +82 -0
  80. data/lib/nokogiri/css/parser.y +227 -0
  81. data/lib/nokogiri/css/syntax_error.rb +7 -0
  82. data/lib/nokogiri/css/tokenizer.rb +7 -0
  83. data/lib/nokogiri/css/tokenizer.rex +54 -0
  84. data/lib/nokogiri/css/xpath_visitor.rb +162 -0
  85. data/lib/nokogiri/decorators/slop.rb +33 -0
  86. data/lib/nokogiri/ffi/html/document.rb +28 -0
  87. data/lib/nokogiri/ffi/html/element_description.rb +85 -0
  88. data/lib/nokogiri/ffi/html/entity_lookup.rb +16 -0
  89. data/lib/nokogiri/ffi/html/sax/parser_context.rb +38 -0
  90. data/lib/nokogiri/ffi/io_callbacks.rb +42 -0
  91. data/lib/nokogiri/ffi/libxml.rb +356 -0
  92. data/lib/nokogiri/ffi/structs/common_node.rb +26 -0
  93. data/lib/nokogiri/ffi/structs/html_elem_desc.rb +24 -0
  94. data/lib/nokogiri/ffi/structs/html_entity_desc.rb +13 -0
  95. data/lib/nokogiri/ffi/structs/xml_alloc.rb +16 -0
  96. data/lib/nokogiri/ffi/structs/xml_attr.rb +19 -0
  97. data/lib/nokogiri/ffi/structs/xml_attribute.rb +27 -0
  98. data/lib/nokogiri/ffi/structs/xml_buffer.rb +16 -0
  99. data/lib/nokogiri/ffi/structs/xml_document.rb +108 -0
  100. data/lib/nokogiri/ffi/structs/xml_dtd.rb +28 -0
  101. data/lib/nokogiri/ffi/structs/xml_element.rb +26 -0
  102. data/lib/nokogiri/ffi/structs/xml_element_content.rb +17 -0
  103. data/lib/nokogiri/ffi/structs/xml_entity.rb +32 -0
  104. data/lib/nokogiri/ffi/structs/xml_enumeration.rb +12 -0
  105. data/lib/nokogiri/ffi/structs/xml_node.rb +28 -0
  106. data/lib/nokogiri/ffi/structs/xml_node_set.rb +53 -0
  107. data/lib/nokogiri/ffi/structs/xml_notation.rb +11 -0
  108. data/lib/nokogiri/ffi/structs/xml_ns.rb +15 -0
  109. data/lib/nokogiri/ffi/structs/xml_parser_context.rb +19 -0
  110. data/lib/nokogiri/ffi/structs/xml_relax_ng.rb +14 -0
  111. data/lib/nokogiri/ffi/structs/xml_sax_handler.rb +51 -0
  112. data/lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb +15 -0
  113. data/lib/nokogiri/ffi/structs/xml_schema.rb +13 -0
  114. data/lib/nokogiri/ffi/structs/xml_syntax_error.rb +31 -0
  115. data/lib/nokogiri/ffi/structs/xml_text_reader.rb +12 -0
  116. data/lib/nokogiri/ffi/structs/xml_xpath_context.rb +37 -0
  117. data/lib/nokogiri/ffi/structs/xml_xpath_object.rb +35 -0
  118. data/lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb +20 -0
  119. data/lib/nokogiri/ffi/structs/xslt_stylesheet.rb +13 -0
  120. data/lib/nokogiri/ffi/xml/attr.rb +41 -0
  121. data/lib/nokogiri/ffi/xml/attribute_decl.rb +27 -0
  122. data/lib/nokogiri/ffi/xml/cdata.rb +19 -0
  123. data/lib/nokogiri/ffi/xml/comment.rb +18 -0
  124. data/lib/nokogiri/ffi/xml/document.rb +135 -0
  125. data/lib/nokogiri/ffi/xml/document_fragment.rb +21 -0
  126. data/lib/nokogiri/ffi/xml/dtd.rb +69 -0
  127. data/lib/nokogiri/ffi/xml/element_content.rb +43 -0
  128. data/lib/nokogiri/ffi/xml/element_decl.rb +19 -0
  129. data/lib/nokogiri/ffi/xml/entity_decl.rb +27 -0
  130. data/lib/nokogiri/ffi/xml/entity_reference.rb +19 -0
  131. data/lib/nokogiri/ffi/xml/namespace.rb +44 -0
  132. data/lib/nokogiri/ffi/xml/node.rb +444 -0
  133. data/lib/nokogiri/ffi/xml/node_set.rb +133 -0
  134. data/lib/nokogiri/ffi/xml/processing_instruction.rb +20 -0
  135. data/lib/nokogiri/ffi/xml/reader.rb +227 -0
  136. data/lib/nokogiri/ffi/xml/relax_ng.rb +85 -0
  137. data/lib/nokogiri/ffi/xml/sax/parser.rb +142 -0
  138. data/lib/nokogiri/ffi/xml/sax/parser_context.rb +67 -0
  139. data/lib/nokogiri/ffi/xml/sax/push_parser.rb +39 -0
  140. data/lib/nokogiri/ffi/xml/schema.rb +92 -0
  141. data/lib/nokogiri/ffi/xml/syntax_error.rb +91 -0
  142. data/lib/nokogiri/ffi/xml/text.rb +18 -0
  143. data/lib/nokogiri/ffi/xml/xpath.rb +19 -0
  144. data/lib/nokogiri/ffi/xml/xpath_context.rb +135 -0
  145. data/lib/nokogiri/ffi/xslt/stylesheet.rb +47 -0
  146. data/lib/nokogiri/html.rb +35 -0
  147. data/lib/nokogiri/html/builder.rb +35 -0
  148. data/lib/nokogiri/html/document.rb +88 -0
  149. data/lib/nokogiri/html/document_fragment.rb +15 -0
  150. data/lib/nokogiri/html/element_description.rb +23 -0
  151. data/lib/nokogiri/html/entity_lookup.rb +13 -0
  152. data/lib/nokogiri/html/sax/parser.rb +48 -0
  153. data/lib/nokogiri/html/sax/parser_context.rb +16 -0
  154. data/lib/nokogiri/syntax_error.rb +4 -0
  155. data/lib/nokogiri/version.rb +33 -0
  156. data/lib/nokogiri/version_warning.rb +11 -0
  157. data/lib/nokogiri/xml.rb +67 -0
  158. data/lib/nokogiri/xml/attr.rb +14 -0
  159. data/lib/nokogiri/xml/attribute_decl.rb +18 -0
  160. data/lib/nokogiri/xml/builder.rb +405 -0
  161. data/lib/nokogiri/xml/cdata.rb +11 -0
  162. data/lib/nokogiri/xml/character_data.rb +7 -0
  163. data/lib/nokogiri/xml/document.rb +131 -0
  164. data/lib/nokogiri/xml/document_fragment.rb +69 -0
  165. data/lib/nokogiri/xml/dtd.rb +11 -0
  166. data/lib/nokogiri/xml/element_content.rb +36 -0
  167. data/lib/nokogiri/xml/element_decl.rb +13 -0
  168. data/lib/nokogiri/xml/entity_decl.rb +15 -0
  169. data/lib/nokogiri/xml/fragment_handler.rb +71 -0
  170. data/lib/nokogiri/xml/namespace.rb +13 -0
  171. data/lib/nokogiri/xml/node.rb +665 -0
  172. data/lib/nokogiri/xml/node/save_options.rb +42 -0
  173. data/lib/nokogiri/xml/node_set.rb +307 -0
  174. data/lib/nokogiri/xml/notation.rb +6 -0
  175. data/lib/nokogiri/xml/parse_options.rb +85 -0
  176. data/lib/nokogiri/xml/pp.rb +2 -0
  177. data/lib/nokogiri/xml/pp/character_data.rb +18 -0
  178. data/lib/nokogiri/xml/pp/node.rb +56 -0
  179. data/lib/nokogiri/xml/processing_instruction.rb +8 -0
  180. data/lib/nokogiri/xml/reader.rb +74 -0
  181. data/lib/nokogiri/xml/relax_ng.rb +32 -0
  182. data/lib/nokogiri/xml/sax.rb +4 -0
  183. data/lib/nokogiri/xml/sax/document.rb +160 -0
  184. data/lib/nokogiri/xml/sax/parser.rb +115 -0
  185. data/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  186. data/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  187. data/lib/nokogiri/xml/schema.rb +61 -0
  188. data/lib/nokogiri/xml/syntax_error.rb +38 -0
  189. data/lib/nokogiri/xml/xpath.rb +10 -0
  190. data/lib/nokogiri/xml/xpath/syntax_error.rb +8 -0
  191. data/lib/nokogiri/xml/xpath_context.rb +16 -0
  192. data/lib/nokogiri/xslt.rb +48 -0
  193. data/lib/nokogiri/xslt/stylesheet.rb +25 -0
  194. data/lib/xsd/xmlparser/nokogiri.rb +71 -0
  195. data/tasks/test.rb +100 -0
  196. data/test/css/test_nthiness.rb +159 -0
  197. data/test/css/test_parser.rb +277 -0
  198. data/test/css/test_tokenizer.rb +183 -0
  199. data/test/css/test_xpath_visitor.rb +76 -0
  200. data/test/ffi/test_document.rb +35 -0
  201. data/test/files/2ch.html +108 -0
  202. data/test/files/address_book.rlx +12 -0
  203. data/test/files/address_book.xml +10 -0
  204. data/test/files/bar/bar.xsd +4 -0
  205. data/test/files/dont_hurt_em_why.xml +422 -0
  206. data/test/files/exslt.xml +8 -0
  207. data/test/files/exslt.xslt +35 -0
  208. data/test/files/foo/foo.xsd +4 -0
  209. data/test/files/po.xml +32 -0
  210. data/test/files/po.xsd +66 -0
  211. data/test/files/shift_jis.html +10 -0
  212. data/test/files/shift_jis.xml +5 -0
  213. data/test/files/snuggles.xml +3 -0
  214. data/test/files/staff.dtd +10 -0
  215. data/test/files/staff.xml +59 -0
  216. data/test/files/staff.xslt +32 -0
  217. data/test/files/tlm.html +850 -0
  218. data/test/files/valid_bar.xml +2 -0
  219. data/test/helper.rb +136 -0
  220. data/test/html/sax/test_parser.rb +64 -0
  221. data/test/html/sax/test_parser_context.rb +48 -0
  222. data/test/html/test_builder.rb +164 -0
  223. data/test/html/test_document.rb +390 -0
  224. data/test/html/test_document_encoding.rb +77 -0
  225. data/test/html/test_document_fragment.rb +132 -0
  226. data/test/html/test_element_description.rb +94 -0
  227. data/test/html/test_named_characters.rb +14 -0
  228. data/test/html/test_node.rb +228 -0
  229. data/test/html/test_node_encoding.rb +27 -0
  230. data/test/test_convert_xpath.rb +135 -0
  231. data/test/test_css_cache.rb +45 -0
  232. data/test/test_gc.rb +15 -0
  233. data/test/test_memory_leak.rb +77 -0
  234. data/test/test_nokogiri.rb +134 -0
  235. data/test/test_reader.rb +358 -0
  236. data/test/test_xslt_transforms.rb +131 -0
  237. data/test/xml/node/test_save_options.rb +20 -0
  238. data/test/xml/node/test_subclass.rb +44 -0
  239. data/test/xml/sax/test_parser.rb +307 -0
  240. data/test/xml/sax/test_parser_context.rb +56 -0
  241. data/test/xml/sax/test_push_parser.rb +131 -0
  242. data/test/xml/test_attr.rb +38 -0
  243. data/test/xml/test_attribute_decl.rb +82 -0
  244. data/test/xml/test_builder.rb +167 -0
  245. data/test/xml/test_cdata.rb +38 -0
  246. data/test/xml/test_comment.rb +29 -0
  247. data/test/xml/test_document.rb +607 -0
  248. data/test/xml/test_document_encoding.rb +26 -0
  249. data/test/xml/test_document_fragment.rb +138 -0
  250. data/test/xml/test_dtd.rb +82 -0
  251. data/test/xml/test_dtd_encoding.rb +33 -0
  252. data/test/xml/test_element_content.rb +56 -0
  253. data/test/xml/test_element_decl.rb +73 -0
  254. data/test/xml/test_entity_decl.rb +83 -0
  255. data/test/xml/test_entity_reference.rb +21 -0
  256. data/test/xml/test_namespace.rb +68 -0
  257. data/test/xml/test_node.rb +889 -0
  258. data/test/xml/test_node_attributes.rb +34 -0
  259. data/test/xml/test_node_encoding.rb +107 -0
  260. data/test/xml/test_node_set.rb +531 -0
  261. data/test/xml/test_parse_options.rb +52 -0
  262. data/test/xml/test_processing_instruction.rb +30 -0
  263. data/test/xml/test_reader_encoding.rb +126 -0
  264. data/test/xml/test_relax_ng.rb +60 -0
  265. data/test/xml/test_schema.rb +89 -0
  266. data/test/xml/test_syntax_error.rb +27 -0
  267. data/test/xml/test_text.rb +30 -0
  268. data/test/xml/test_unparented_node.rb +381 -0
  269. data/test/xml/test_xpath.rb +106 -0
  270. metadata +430 -0
@@ -0,0 +1,27 @@
1
+ # -*- ruby -*-
2
+
3
+ begin
4
+ require 'autotest/fsevent'
5
+ rescue LoadError
6
+ end
7
+
8
+ Autotest.add_hook :run_command do |at|
9
+ at.unit_diff = 'cat'
10
+ if ENV['ONENINE']
11
+ system "rake1.9 compile"
12
+ else
13
+ system "rake compile"
14
+ end
15
+ end
16
+
17
+ Autotest.add_hook :ran_command do |at|
18
+ File.open('/tmp/autotest.txt', 'wb') { |f|
19
+ f.write(at.results.join)
20
+ }
21
+ end
22
+
23
+ class Autotest
24
+ def ruby
25
+ 'ruby1.9'
26
+ end
27
+ end if ENV['ONENINE']
@@ -0,0 +1,330 @@
1
+ === 1.4.0 2009年10月30日
2
+
3
+ * 今日はノコギリの満一歳のお誕生日です
4
+
5
+ * 新しい機能
6
+ * Node#at_xpath はXPathの表現に適したNodeSetの一番最初の要素に返す
7
+ * Node#at_css はCSSのセレクターに合うNodeSetの一番最初の要素に返す
8
+ * NodeSet#| は合併させる機能を果たす GH #119 (Serabe ありがとう!)
9
+ * NodeSet#inspect inspectは出力をきれいにさせる
10
+ * Node#inspect インスペクト後、普通のrubyで出力施行する
11
+ * XML::DTD#external_id を追加
12
+ * XML::DTD#system_id を追加
13
+ * XML::ElementContent はDTD要素のコンテンツを有効化させる
14
+ * Nokogiri::XML::Builder内での名前空間宣言用のサポートを改良
15
+ * XML::Node#external_subsetを追加
16
+ * XML::Node#create_external_subsetを追加
17
+ * XML::Node#create_internal_subsetを追加
18
+ * XML Builderは生成されていないstringsを付加出来る様になった
19
+ (GH #141, patch from dudleyf)
20
+ * XML::SAX::ParserContext を追加
21
+ * XML::Document#remove_namespaces! は名前空間を使いこなせない人たち用の措置
22
+
23
+ * バグの修正
24
+
25
+ * HTMLドキュメントが メタエンコーディングのタグを宣言しない時、
26
+ nilを返すようになった GH #115
27
+ * ENV['PATH'] を調節する為に、RbConfig::CONFIG['host_os']を使用できるように
28
+ なった GH #113
29
+ * NodeSet#searchが更に効率的になった GH #119 (Serabe!に感謝します)
30
+ * NodeSet#xpathがcustom xpath機能を取り扱える様になった
31
+ * XML::Reader が現時点のノード用に属性を取得する際に、
32
+ SEGVを修正するようになった
33
+ * Node#inner_html がNode#to_html と同じ独立変数を受け入れるようになった
34
+ GH #117
35
+ * DocumentFragment#css は子ノードへ委任をするようになった GH #123
36
+ * NodeSet#[]がNodeSet#lengthより大きいスライスでも機能できるようになった
37
+ GH #131
38
+ * 新たな親ノードの名前空間の維持出来るようになった GH #134
39
+ * XML::Document をNodeSetに追加の際にSEGVが修正されるようになった
40
+ * XML::SyntaxError が重複可
41
+
42
+ * 廃棄予定
43
+
44
+ * Hpricot用の互換性レイヤーを削除
45
+
46
+ === 1.3.3 / 2009年7月26日
47
+
48
+ * 新しい機能
49
+
50
+ * NodeSet#children 全ての子ノードを返すようになった
51
+
52
+ * バグの修正
53
+
54
+ * libxml-ruby のグローバ ルエラー ハンドラー に優先するようになった
55
+ * ParseOption#strict を修正
56
+ * 空文字列を Node#inner_html= に与えた時に生じたSEGVを修正 GH #88
57
+ * Ruby 1.9 では文字列のエンコーディングをUTF-8になるようにした
58
+ * ドキュメントの根ノードから違うドキュメントの根ノードに移動した時に生じた
59
+ SEGVを修正 GH #91
60
+ * ノードをインスタンス化する時のO(n)のペナルティーを修正 GH #101
61
+ * XMLのドキュメントをHTMLのドキュメントとして出力出来るようになった
62
+
63
+ * 廃棄予定
64
+
65
+ * Hpricotの互換性レイヤーがNokogiriの1.4.0で除去される予定
66
+
67
+ === 1.3.2 / 2009年6月22日
68
+
69
+ * 新しい機能
70
+
71
+ * Nokogiri::XML::DTD#validate はドキュメントを検証できるようになった
72
+
73
+ * バグの修正
74
+
75
+ * Nokogiri::XML::NodeSet#search はトップレベルのノードを検索するようになった
76
+ GH #73
77
+ * Nokogiri::XML::Documentからメソッドに関係する名前空間を取り除いた
78
+ * 2回同じ名前空間が追加されたときSEGVする問題を修正した
79
+ * Snow Leopard で Nokogiri が動くようになった GH #79
80
+ * メーリングリストはGoogle Groupsの以下のURLに移動した
81
+ http://groups.google.com/group/nokogiri-talk
82
+ * HTML フラグメントはコメントとCDATAを正確に扱うようになった
83
+ * Nokogiri::XML::Document#cloneはdupのaliasになった
84
+
85
+ * 廃棄予定
86
+
87
+ * Nokogiri::XML::SAX::Document#start_element_nsは廃棄予定なので
88
+ Nokogiri::XML::SAX::Document#start_element_namespaceを代わりに使用して下さい
89
+ * Nokogiri::XML::SAX::Document#end_element_nsは廃棄予定なので
90
+ Nokogiri::XML::SAX::Document#end_element_namespaceを代わりに使用して下さい
91
+
92
+ === 1.3.1 / 2009年6月7日
93
+
94
+ * バグの修正
95
+
96
+ * extconf.rb は任意のRelaxNGとSchemaの機能を探すようになった
97
+ * ドキュメントのノードキャッシュに名前空間のノードが入るようになった
98
+
99
+ === 1.3.0 / 2009年5月30日
100
+
101
+ * 新しい機能
102
+
103
+ * Builderがブロックの引数の数に応じてスコープが定まるようになった
104
+ * Builderがアンダースコアで終わるメソッドをtagzと同様にサポートするようになった
105
+ * Nokogiri::XML::Node#<=> がドキュメントの位置によりノードを比較するように
106
+ なった
107
+ * Nokogiri::XML::Node#matches?が与えられたセレクタ内でノードがあればtrue
108
+ を返すようになった
109
+ * Nokogiri::XML::Node#ancestors がNokogiri::XML::NodeSetオブジェクトを返すようになった
110
+ * Nokogiri::XML::Node#ancestorsがオプションのセレクタに対応する親をマッチする
111
+ ようになった
112
+ * Nokogiri::HTML::Document#meta_encoding がメタデータのエンコードを返すように
113
+ なった
114
+ * Nokogiri::HTML::Document#meta_encoding= でメタデータのエンコードを
115
+ 設定できるようになった
116
+ * Nokogiri::XML::Document#encoding= でドキュメントのエンコードを
117
+ 設定できるようになった
118
+ * Nokogiri::XML::Schema でドキュメントがXSDのスキーマに沿って記述されているか
119
+ を検証できるようになった
120
+ * Nokogiri::XML::RelaxNG でドキュメントがRelaxNGのスキーマに沿って
121
+ 記述されているかを検証できるようになった
122
+ * Nokogiri::HTML::ElementDescription はHTML要素の説明フェッチ動作するよう
123
+ になった
124
+ * Nokogiri::XML::Node#descriptionは ノードの説明をフェッチ動作するよう
125
+ になった
126
+ * Nokogiri::XML::Node#accept は Visitor パターンを実行するようになった
127
+ * 簡単にドキュメントを解析するコマンド bin/nokogiri を追加
128
+ (Yataka HARAさんに感謝感激)
129
+ * Nokogiri::XML::NodeSetが更にArrayとEnumerableの演算を
130
+ サポートするようになった:
131
+ index, delete, slice, - (差分), + (連結), & (共通部分),
132
+ push, pop, shift, ==
133
+ * Nokogiri.XML, Nokogiri.HTML はNokogiri::XML::ParseOptions objectと一緒に
134
+ 呼び出されるブロックを受け入れるようになった
135
+ * Nokogiri::XML::Node#namespace は Nokogiri::XML::Namespaceを返すようになった
136
+ * Nokogiri::XML::Node#namespaceはノードの名前空間を設定するようになった
137
+ * FFI 経由で JRuby 1.3.0 をサポートするようになった
138
+
139
+ * バグの修正
140
+
141
+ * nilがCDATAsonstructorに渡される際の問題を修正
142
+ * Fragment メソッドが正規表現を抜け出させるようになった
143
+ (Joelさんに感謝感激) (LH #73)
144
+ * Builder スコープのLH #61, LH #74, LH #70に関しての様々な問題を修正
145
+ * 名前空間を付け加える時、名前空間が LH#78より除去されてしまう問題を修正
146
+ * 連結しないノードが発生し、再育成してしまう問題を修正(GH#22)
147
+ * XSLT が解析中にエラーを発見し損なう問題を修正(GH#32)
148
+ * CSS selectors内での条件属性のバグ問題を修正(GH#36)
149
+ * Node#before/after/inner_html=で値なしのHTML属性が受け入れられなかった問題を
150
+ 修正 (GH#35)
151
+
152
+ === 1.2.3 / 2009年3月22日
153
+
154
+ * バグの修正
155
+
156
+ * Node#new 内にて、バグを修正する
157
+ * DocumentFragmentの作成時、名前空間に割り当てる LH #66
158
+ * Nokogiri::XML::NodeSet#dup は機能するようになった GH #10
159
+ * Nokogiri::HTMLは文字列がブランクの時、空のドキュメントで返す GH#11
160
+ * 子ノードを付加する事で、重複した名前空間の宣言を取り除く LH#67
161
+ * ビルダ方法はハッシュを第二引数とする
162
+
163
+ === 1.2.2 / 2009年3月14日
164
+
165
+ * 新しい機能
166
+
167
+ * Nokogiri は soap4r と一緒に使う事が可能。(XSD::XMLParser::Nokogiri 参照)
168
+ * Nokogiri::XML::Node#inner_html= はノードの中のHTMLをセット出来る
169
+ * NokogiriのBuilderのインタフェースの改良
170
+ * Nokogiri::XML::Node#swap は、現在のノードに新しいhtmlを交換する事が出来る
171
+
172
+
173
+ * バグの修正
174
+
175
+ * BuilderAPIのタグのネスティングを修正 (LH #41)
176
+ * Nokogiri::HTML.fragment はテキストだけのノードを適切に扱う事が出来る(LH #43)
177
+ * Nokogiri::XML::Node#before はテキストノードのはじめに挿入する事が出来る (LH #44)
178
+ * Nokogiri::XML::Node#after はテキストノードの文末に挿入する事が出来る
179
+ * Nokogiri::XML::Node#search 名前空間が自動的に登録されるようになった(LH#42)
180
+ * Nokogiri::XML::NodeSet#search 名前空間が自動的に登録されるようになった
181
+ * Nokogiri::HTML::NamedCharacters はlibxml2に委任
182
+ * Nokogiri::XML::Node#[] はSymbolを使う (LH #48)
183
+ * vasprintf にwindowsを修正 (Geffroy Couprie ありがとう!)
184
+ * Nokogiri::XML::Node#[]= はentityを符号化しない (LH #55)
185
+ * 名前空間はreparentedのノードに模写する (LH #56)
186
+ * StringのエンコードはRuby 1.9での初期設定を使用する
187
+ * Document#dup は新しいドキュメントに同じタイプを作る (LH #59)
188
+ * Document#parent は存在しない (LH #64)
189
+
190
+
191
+ === 1.2.1 / 2009年2月23日
192
+
193
+ * 修正
194
+
195
+ * CSS のセレクターのスペースを修正
196
+ * Ruby 1.9 のStringのエンコードを修正 (角谷さんに感謝!)
197
+
198
+ === 1.2.0 / 2009年2月22日
199
+
200
+ * 新しい機能
201
+ * CSSサーチが CSS3 名前空間クエリをサポートするようになった
202
+ * ルート要素での名前空間が自動的に登録されるようになった
203
+ * CSS クエリが初期設定の名前空間を使うようになった
204
+ * Nokogiri::XML::Document#encoding で文書にエンコードを使用、受け取る
205
+ * Nokogiri::XML::Document#url で文書のURLを受け取る
206
+ * Nokogiri::XML::Node#each はname属性、値を一組にし反復適用する
207
+ * Nokogiri::XML::Node#keys はすべてのname属性を受け取る
208
+ * Nokogiri::XML::Node#line は行番号をノード用に受け取る (Dirkjan Bussinkさんに感謝感激)
209
+ * Nokogiri::XML::Node#serialize は任意されたencodingパラメーターを受け入れる
210
+ * Nokogiri::XML::Node#to_html, to_xml, と to_xhtml は任意されたencodingパラメーターを受け入れる
211
+ * Nokogiri::XML::Node#to_str
212
+ * Nokogiri::XML::Node#to_xhtml でXHTML文書を生成する
213
+ * Nokogiri::XML::Node#values が全ての属性値を受け入れる
214
+ * Nokogiri::XML::Node#write_to は任意されたencodingで要素をIOオブジェクトへ書く
215
+ * Nokogiri::XML::ProcessingInstrunction.new
216
+ * Nokogiri::XML::SAX::PushParser は全てのプッシュパースに必要な解析をする
217
+
218
+ * バグの修正
219
+
220
+ * Nokogiri::XML::Document#dup を修正
221
+ * ヘッダ検知を修正. 謝々るびきちさん!
222
+ * 無効なCSS内にて解析機能を動かなくさせる原因を修正
223
+
224
+ * 廃棄予定
225
+
226
+ * Nokogiri::XML::Node.new_from_str は1.3.0にて廃棄予定
227
+
228
+ * APIの変更
229
+
230
+ * Nokogiri::HTML.fragment は XML::DocumentFragment (LH #32)で返す
231
+
232
+ === 1.1.1
233
+
234
+ * 新しい機能
235
+ * XML::Node#elem? を追加
236
+ * XML::Node#attribute_nodes を追加
237
+ * XML::Attr を追加
238
+ * XML::Node#delete を追加
239
+ * XML::NodeSet#inner_html を追加
240
+
241
+ * バグの修正
242
+
243
+ * HTML のノードを \r のエンティティを含まない
244
+ * CSS::SelectorHandler と XML::XPathHandler を除去
245
+ * XML::Node#attributes が Attr node を value値に返す
246
+ * XML::NodeSet が to_xml へ実行
247
+
248
+ === 1.1.0
249
+
250
+ * 新しい機能
251
+
252
+ * カスタム XPath 機能はある。( Nokogiri::XML::Node#xpath 参照 )
253
+ * カスタム CSS 擬似クラスと機能はある。( Nokogiri::XML::Node#css 参照 )
254
+ * Nokogiri::XML::Node#<< が作成中に子ノードを自動追加
255
+
256
+ * バグの修正
257
+
258
+ * mutex が CSS のキャッシュのアクセスをロックする
259
+ * GCC 3.3.5 のビルドに関する問題を修正
260
+ * XML::Node#to_xml が引数indentationを取る
261
+ * XML::Node#dup が引数任意のdepthを取る
262
+ * XML::Node#add_previous_sibling が新しい兄弟ノードで返す
263
+
264
+ === 1.0.7
265
+
266
+ * バグの修正
267
+
268
+ * Dike 使用時中のメモリーリークの修正
269
+ * SAX パーサーが現在 IO Stream 同時解析
270
+ * コメント nodes が独自のクラスを継承する
271
+ * Nokogiri() は Nokogiri.parse() へデリゲートする
272
+ * ENV['PATH'] に付加せれる代わりに先頭へデータ挿入される
273
+ * 複雑な CSS 内のバグを修正完了 :not selector ではありません
274
+
275
+ === 1.0.6
276
+
277
+ * 5つの修正
278
+
279
+ * XPath のパーサーが SyntaxError を生じさせ解析停止させる
280
+ * CSS のパーサーが SyntaxError を生じさせ解析停止させる
281
+ * filter() と not() hpricot の互換性を追加
282
+ * CSS が Node#search 経由で検索し、常時対応する事が出来るようになった
283
+ * CSS より XPath 変換がキャッシュに入れられるようになった
284
+
285
+ === 1.0.5
286
+
287
+ * バグフィックス
288
+
289
+ * メーリンクリストを作成
290
+ * バグファイルを作成
291
+ * Windows 内で ENV['PATH'] が存在しない場合でも、存在出来るように設定完了
292
+ * Document 内の NodeSet#[] の結果をキャッシュする
293
+
294
+ === 1.0.4
295
+
296
+ * バグフィックス
297
+
298
+ * 弱参照からドキュメント参照へのメモリー管理の変換
299
+ * メモリリークに接続
300
+ * Builderブロックが取り囲んでいるコンテキストから
301
+ メソッドの呼び出しをする事が出来る
302
+
303
+ === 1.0.3
304
+
305
+ * 5つのバグ修正
306
+
307
+ * NodeSet が to_ary へ実行
308
+ * XML::Document#parent を除去
309
+ * GCバグ修正済み (Mike は最高!)
310
+ * 1.8.5互換性の為の RARRAY_LEN 除去
311
+ * inner_html 修正済み (Yahuda に感謝)
312
+
313
+ === 1.0.2
314
+
315
+ * 1つのバグ修正
316
+
317
+ * extconf.rb は frex や racc を調べないはず
318
+
319
+ === 1.0.1
320
+
321
+ * 1つのバグ修正
322
+
323
+ * extconf.rb が libdir や prefix を検索しない事を確認済み
324
+ それによって、ports libxml/ruby が正しくリンクする (lucsky に感謝!)
325
+
326
+ === 1.0.0 / 2008-07-13
327
+
328
+ * 1つの偉大な増進
329
+
330
+ * ご誕生である
@@ -0,0 +1,314 @@
1
+ === 1.4.0 / 2009/10/30
2
+
3
+ * Happy Birthday!
4
+
5
+ * New Features
6
+
7
+ * Node#at_xpath returns the first element of the NodeSet matching the XPath
8
+ expression.
9
+ * Node#at_css returns the first element of the NodeSet matching the CSS
10
+ selector.
11
+ * NodeSet#| for unions GH #119 (Thanks Serabe!)
12
+ * NodeSet#inspect makes prettier output
13
+ * Node#inspect implemented for more rubyish document inspecting
14
+ * Added XML::DTD#external_id
15
+ * Added XML::DTD#system_id
16
+ * Added XML::ElementContent for DTD Element content validity
17
+ * Better namespace declaration support in Nokogiri::XML::Builder
18
+ * Added XML::Node#external_subset
19
+ * Added XML::Node#create_external_subset
20
+ * Added XML::Node#create_internal_subset
21
+ * XML Builder can append raw strings (GH #141, patch from dudleyf)
22
+ * XML::SAX::ParserContext added
23
+ * XML::Document#remove_namespaces! for the namespace-impaired
24
+
25
+ * Bugfixes
26
+
27
+ * returns nil when HTML documents do not declare a meta encoding tag. GH #115
28
+ * Uses RbConfig::CONFIG['host_os'] to adjust ENV['PATH'] GH #113
29
+ * NodeSet#search is more efficient GH #119 (Thanks Serabe!)
30
+ * NodeSet#xpath handles custom xpath functions
31
+ * Fixing a SEGV when XML::Reader gets attributes for current node
32
+ * Node#inner_html takes the same arguments as Node#to_html GH #117
33
+ * DocumentFragment#css delegates to it's child nodes GH #123
34
+ * NodeSet#[] works with slices larger than NodeSet#length GH #131
35
+ * Reparented nodes maintain their namespace. GH #134
36
+ * Fixed SEGV when adding an XML::Document to NodeSet
37
+ * XML::SyntaxError can be duplicated. GH #148
38
+
39
+ * Deprecations
40
+
41
+ * Hpricot compatibility layer removed
42
+
43
+ === 1.3.3 / 2009/07/26
44
+
45
+ * New Features
46
+
47
+ * NodeSet#children returns all children of all nodes
48
+
49
+ * Bugfixes
50
+
51
+ * Override libxml-ruby's global error handler
52
+ * ParseOption#strict fixed
53
+ * Fixed a segfault when sending an empty string to Node#inner_html= GH #88
54
+ * String encoding is now set to UTF-8 in Ruby 1.9
55
+ * Fixed a segfault when moving root nodes between documents. GH #91
56
+ * Fixed an O(n) penalty on node creation. GH #101
57
+ * Allowing XML documents to be output as HTML documents
58
+
59
+ * Deprecations
60
+
61
+ * Hpricot compatibility layer will be removed in 1.4.0
62
+
63
+ === 1.3.2 / 2009-06-22
64
+
65
+ * New Features
66
+
67
+ * Nokogiri::XML::DTD#validate will validate your document
68
+
69
+ * Bugfixes
70
+
71
+ * Nokogiri::XML::NodeSet#search will search top level nodes. GH #73
72
+ * Removed namespace related methods from Nokogiri::XML::Document
73
+ * Fixed a segfault when a namespace was added twice
74
+ * Made nokogiri work with Snow Leopard GH #79
75
+ * Mailing list has moved to: http://groups.google.com/group/nokogiri-talk
76
+ * HTML fragments now correctly handle comments and CDATA blocks. GH #78
77
+ * Nokogiri::XML::Document#clone is now an alias of dup
78
+
79
+ * Deprecations
80
+
81
+ * Nokogiri::XML::SAX::Document#start_element_ns is deprecated, please switch
82
+ to Nokogiri::XML::SAX::Document#start_element_namespace
83
+ * Nokogiri::XML::SAX::Document#end_element_ns is deprecated, please switch
84
+ to Nokogiri::XML::SAX::Document#end_element_namespace
85
+
86
+ === 1.3.1 / 2009-06-07
87
+
88
+ * Bugfixes
89
+
90
+ * extconf.rb checks for optional RelaxNG and Schema functions
91
+ * Namespace nodes are added to the Document node cache
92
+
93
+ === 1.3.0 / 2009-05-30
94
+
95
+ * New Features
96
+
97
+ * Builder changes scope based on block arity
98
+ * Builder supports methods ending in underscore similar to tagz
99
+ * Nokogiri::XML::Node#<=> compares nodes based on Document position
100
+ * Nokogiri::XML::Node#matches? returns true if Node can be found with
101
+ given selector.
102
+ * Nokogiri::XML::Node#ancestors now returns an Nokogiri::XML::NodeSet
103
+ * Nokogiri::XML::Node#ancestors will match parents against optional selector
104
+ * Nokogiri::HTML::Document#meta_encoding for getting the meta encoding
105
+ * Nokogiri::HTML::Document#meta_encoding= for setting the meta encoding
106
+ * Nokogiri::XML::Document#encoding= to set the document encoding
107
+ * Nokogiri::XML::Schema for validating documents against XSD schema
108
+ * Nokogiri::XML::RelaxNG for validating documents against RelaxNG schema
109
+ * Nokogiri::HTML::ElementDescription for fetching HTML element descriptions
110
+ * Nokogiri::XML::Node#description to fetch the node description
111
+ * Nokogiri::XML::Node#accept implements Visitor pattern
112
+ * bin/nokogiri for easily examining documents (Thanks Yutaka HARA!)
113
+ * Nokogiri::XML::NodeSet now supports more Array and Enumerable operators:
114
+ index, delete, slice, - (difference), + (concatenation), & (intersection),
115
+ push, pop, shift, ==
116
+ * Nokogiri.XML, Nokogiri.HTML take blocks that receive
117
+ Nokogiri::XML::ParseOptions objects
118
+ * Nokogiri::XML::Node#namespace returns a Nokogiri::XML::Namespace
119
+ * Nokogiri::XML::Node#namespace= for setting a node's namespace
120
+ * Nokogiri::XML::DocumentFragment and Nokogiri::HTML::DocumentFragment
121
+ have a sensible API and a more robust implementation.
122
+ * JRuby 1.3.0 support via FFI.
123
+
124
+ * Bugfixes
125
+
126
+ * Fixed a problem with nil passed to CDATA constructor
127
+ * Fragment method deals with regular expression characters
128
+ (Thanks Joel!) LH #73
129
+ * Fixing builder scope issues LH #61, LH #74, LH #70
130
+ * Fixed a problem when adding a child could remove the child namespace LH#78
131
+ * Fixed bug with unlinking a node then reparenting it. (GH#22)
132
+ * Fixed failure to catch errors during XSLT parsing (GH#32)
133
+ * Fixed a bug with attribute conditions in CSS selectors (GH#36)
134
+ * Fixed intolerance of HTML attributes without values in Node#before/after/inner_html=. (GH#35)
135
+
136
+ === 1.2.3 / 2009-03-22
137
+
138
+ * Bugfixes
139
+
140
+ * Fixing bug where a node is passed in to Node#new
141
+ * Namespace should be assigned on DocumentFragment creation. LH #66
142
+ * Nokogiri::XML::NodeSet#dup works GH #10
143
+ * Nokogiri::HTML returns an empty Document when given a blank string GH#11
144
+ * Adding a child will remove duplicate namespace declarations LH #67
145
+ * Builder methods take a hash as a second argument
146
+
147
+ === 1.2.2 / 2009-03-14
148
+
149
+ * New features
150
+
151
+ * Nokogiri may be used with soap4r. See XSD::XMLParser::Nokogiri
152
+ * Nokogiri::XML::Node#inner_html= to set the inner html for a node
153
+ * Nokogiri builder interface improvements
154
+ * Nokogiri::XML::Node#swap swaps html for current node (LH #50)
155
+
156
+ * Bugfixes
157
+
158
+ * Fixed a tag nesting problem in the Builder API (LH #41)
159
+ * Nokogiri::HTML.fragment will properly handle text only nodes (LH #43)
160
+ * Nokogiri::XML::Node#before will prepend text nodes (LH #44)
161
+ * Nokogiri::XML::Node#after will append text nodes
162
+ * Nokogiri::XML::Node#search automatically registers root namepsaces (LH #42)
163
+ * Nokogiri::XML::NodeSet#search automatically registers namespaces
164
+ * Nokogiri::HTML::NamedCharacters delegates to libxml2
165
+ * Nokogiri::XML::Node#[] can take a symbol (LH #48)
166
+ * vasprintf for windows updated. Thanks Geoffroy Couprie!
167
+ * Nokogiri::XML::Node#[]= should not encode entities (LH #55)
168
+ * Namespaces should be copied to reparented nodes (LH #56)
169
+ * Nokogiri uses encoding set on the string for default in Ruby 1.9
170
+ * Document#dup should create a new document of the same type (LH #59)
171
+ * Document should not have a parent method (LH #64)
172
+
173
+ === 1.2.1 / 2009-02-23
174
+
175
+ * Bugfixes
176
+
177
+ * Fixed a CSS selector space bug
178
+ * Fixed Ruby 1.9 String Encoding (Thanks 角谷さん!)
179
+
180
+ === 1.2.0 / 2009-02-22
181
+
182
+ * New features
183
+
184
+ * CSS search now supports CSS3 namespace queries
185
+ * Namespaces on the root node are automatically registered
186
+ * CSS queries use the default namespace
187
+ * Nokogiri::XML::Document#encoding get encoding used for this document
188
+ * Nokogiri::XML::Document#url get the document url
189
+ * Nokogiri::XML::Node#add_namespace add a namespace to the node LH#38
190
+ * Nokogiri::XML::Node#each iterate over attribute name, value pairs
191
+ * Nokogiri::XML::Node#keys get all attribute names
192
+ * Nokogiri::XML::Node#line get the line number for a node (Thanks Dirkjan Bussink!)
193
+ * Nokogiri::XML::Node#serialize now takes an optional encoding parameter
194
+ * Nokogiri::XML::Node#to_html, to_xml, and to_xhtml take an optional encoding
195
+ * Nokogiri::XML::Node#to_str
196
+ * Nokogiri::XML::Node#to_xhtml to produce XHTML documents
197
+ * Nokogiri::XML::Node#values get all attribute values
198
+ * Nokogiri::XML::Node#write_to writes the node to an IO object with optional encoding
199
+ * Nokogiri::XML::ProcessingInstrunction.new
200
+ * Nokogiri::XML::SAX::PushParser for all your push parsing needs.
201
+
202
+ * Bugfixes
203
+
204
+ * Fixed Nokogiri::XML::Document#dup
205
+ * Fixed header detection. Thanks rubikitch!
206
+ * Fixed a problem where invalid CSS would cause the parser to hang
207
+
208
+ * Deprecations
209
+
210
+ * Nokogiri::XML::Node.new_from_str will be deprecated in 1.3.0
211
+
212
+ * API Changes
213
+
214
+ * Nokogiri::HTML.fragment now returns an XML::DocumentFragment (LH #32)
215
+
216
+ === 1.1.1
217
+
218
+ * New features
219
+
220
+ * Added XML::Node#elem?
221
+ * Added XML::Node#attribute_nodes
222
+ * Added XML::Attr
223
+ * XML::Node#delete added.
224
+ * XML::NodeSet#inner_html added.
225
+
226
+ * Bugfixes
227
+
228
+ * Not including an HTML entity for \r for HTML nodes.
229
+ * Removed CSS::SelectorHandler and XML::XPathHandler
230
+ * XML::Node#attributes returns an Attr node for the value.
231
+ * XML::NodeSet implements to_xml
232
+
233
+ === 1.1.0
234
+
235
+ * New Features
236
+
237
+ * Custom XPath functions are now supported. See Nokogiri::XML::Node#xpath
238
+ * Custom CSS pseudo classes are now supported. See Nokogiri::XML::Node#css
239
+ * Nokogiri::XML::Node#<< will add a child to the current node
240
+
241
+ * Bugfixes
242
+
243
+ * Mutex lock on CSS cache access
244
+ * Fixed build problems with GCC 3.3.5
245
+ * XML::Node#to_xml now takes an indentation argument
246
+ * XML::Node#dup takes an optional depth argument
247
+ * XML::Node#add_previous_sibling returns new sibling node.
248
+
249
+ === 1.0.7
250
+
251
+ * Bugfixes
252
+
253
+ * Fixed memory leak when using Dike
254
+ * SAX parser now parses IO streams
255
+ * Comment nodes have their own class
256
+ * Nokogiri() should delegate to Nokogiri.parse()
257
+ * Prepending rather than appending to ENV['PATH'] on windows
258
+ * Fixed a bug in complex CSS negation selectors
259
+
260
+ === 1.0.6
261
+
262
+ * 5 Bugfixes
263
+
264
+ * XPath Parser raises a SyntaxError on parse failure
265
+ * CSS Parser raises a SyntaxError on parse failure
266
+ * filter() and not() hpricot compatibility added
267
+ * CSS searches via Node#search are now always relative
268
+ * CSS to XPath conversion is now cached
269
+
270
+ === 1.0.5
271
+
272
+ * Bugfixes
273
+
274
+ * Added mailing list and ticket tracking information to the README.txt
275
+ * Sets ENV['PATH'] on windows if it doesn't exist
276
+ * Caching results of NodeSet#[] on Document
277
+
278
+ === 1.0.4
279
+
280
+ * Bugfixes
281
+
282
+ * Changed memory mangement from weak refs to document refs
283
+ * Plugged some memory leaks
284
+ * Builder blocks can call methods from surrounding contexts
285
+
286
+ === 1.0.3
287
+
288
+ * 5 Bugfixes
289
+
290
+ * NodeSet now implements to_ary
291
+ * XML::Document should not implement parent
292
+ * More GC Bugs fixed. (Mike is AWESOME!)
293
+ * Removed RARRAY_LEN for 1.8.5 compatibility. Thanks Shane Hanna.
294
+ * inner_html fixed. (Thanks Yehuda!)
295
+
296
+ === 1.0.2
297
+
298
+ * 1 Bugfix
299
+
300
+ * extconf.rb should not check for frex and racc
301
+
302
+ === 1.0.1
303
+
304
+ * 1 Bugfix
305
+
306
+ * Made sure extconf.rb searched libdir and prefix so that ports libxml/ruby
307
+ will link properly. Thanks lucsky!
308
+
309
+ === 1.0.0 / 2008-07-13
310
+
311
+ * 1 major enhancement
312
+
313
+ * Birthday!
314
+