nokogiri 1.5.10 → 1.12.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (328) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1903 -0
  4. data/LICENSE.md +9 -0
  5. data/README.md +278 -0
  6. data/bin/nokogiri +50 -10
  7. data/dependencies.yml +74 -0
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +944 -100
  10. data/ext/nokogiri/gumbo.c +584 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +120 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  17. data/ext/nokogiri/nokogiri.c +232 -87
  18. data/ext/nokogiri/nokogiri.h +188 -129
  19. data/ext/nokogiri/test_global_handlers.c +40 -0
  20. data/ext/nokogiri/xml_attr.c +49 -40
  21. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  22. data/ext/nokogiri/xml_cdata.c +24 -23
  23. data/ext/nokogiri/xml_comment.c +29 -21
  24. data/ext/nokogiri/xml_document.c +305 -201
  25. data/ext/nokogiri/xml_document_fragment.c +13 -15
  26. data/ext/nokogiri/xml_dtd.c +54 -48
  27. data/ext/nokogiri/xml_element_content.c +31 -26
  28. data/ext/nokogiri/xml_element_decl.c +22 -22
  29. data/ext/nokogiri/xml_encoding_handler.c +30 -19
  30. data/ext/nokogiri/xml_entity_decl.c +32 -30
  31. data/ext/nokogiri/xml_entity_reference.c +16 -18
  32. data/ext/nokogiri/xml_namespace.c +74 -32
  33. data/ext/nokogiri/xml_node.c +808 -503
  34. data/ext/nokogiri/xml_node_set.c +239 -208
  35. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  36. data/ext/nokogiri/xml_reader.c +198 -186
  37. data/ext/nokogiri/xml_relax_ng.c +52 -28
  38. data/ext/nokogiri/xml_sax_parser.c +123 -125
  39. data/ext/nokogiri/xml_sax_parser_context.c +138 -79
  40. data/ext/nokogiri/xml_sax_push_parser.c +88 -35
  41. data/ext/nokogiri/xml_schema.c +112 -33
  42. data/ext/nokogiri/xml_syntax_error.c +50 -23
  43. data/ext/nokogiri/xml_text.c +14 -18
  44. data/ext/nokogiri/xml_xpath_context.c +162 -98
  45. data/ext/nokogiri/xslt_stylesheet.c +162 -168
  46. data/gumbo-parser/CHANGES.md +63 -0
  47. data/gumbo-parser/Makefile +101 -0
  48. data/gumbo-parser/THANKS +27 -0
  49. data/gumbo-parser/src/Makefile +34 -0
  50. data/gumbo-parser/src/README.md +41 -0
  51. data/gumbo-parser/src/ascii.c +75 -0
  52. data/gumbo-parser/src/ascii.h +115 -0
  53. data/gumbo-parser/src/attribute.c +42 -0
  54. data/gumbo-parser/src/attribute.h +17 -0
  55. data/gumbo-parser/src/char_ref.c +22225 -0
  56. data/gumbo-parser/src/char_ref.h +29 -0
  57. data/gumbo-parser/src/char_ref.rl +2154 -0
  58. data/gumbo-parser/src/error.c +626 -0
  59. data/gumbo-parser/src/error.h +148 -0
  60. data/gumbo-parser/src/foreign_attrs.c +104 -0
  61. data/gumbo-parser/src/foreign_attrs.gperf +27 -0
  62. data/gumbo-parser/src/gumbo.h +943 -0
  63. data/gumbo-parser/src/insertion_mode.h +33 -0
  64. data/gumbo-parser/src/macros.h +91 -0
  65. data/gumbo-parser/src/parser.c +4886 -0
  66. data/gumbo-parser/src/parser.h +41 -0
  67. data/gumbo-parser/src/replacement.h +33 -0
  68. data/gumbo-parser/src/string_buffer.c +103 -0
  69. data/gumbo-parser/src/string_buffer.h +68 -0
  70. data/gumbo-parser/src/string_piece.c +48 -0
  71. data/gumbo-parser/src/svg_attrs.c +174 -0
  72. data/gumbo-parser/src/svg_attrs.gperf +77 -0
  73. data/gumbo-parser/src/svg_tags.c +137 -0
  74. data/gumbo-parser/src/svg_tags.gperf +55 -0
  75. data/gumbo-parser/src/tag.c +222 -0
  76. data/gumbo-parser/src/tag_lookup.c +382 -0
  77. data/gumbo-parser/src/tag_lookup.gperf +169 -0
  78. data/gumbo-parser/src/tag_lookup.h +13 -0
  79. data/gumbo-parser/src/token_buffer.c +79 -0
  80. data/gumbo-parser/src/token_buffer.h +71 -0
  81. data/gumbo-parser/src/token_type.h +17 -0
  82. data/gumbo-parser/src/tokenizer.c +3463 -0
  83. data/gumbo-parser/src/tokenizer.h +112 -0
  84. data/gumbo-parser/src/tokenizer_states.h +339 -0
  85. data/gumbo-parser/src/utf8.c +245 -0
  86. data/gumbo-parser/src/utf8.h +164 -0
  87. data/gumbo-parser/src/util.c +68 -0
  88. data/gumbo-parser/src/util.h +30 -0
  89. data/gumbo-parser/src/vector.c +111 -0
  90. data/gumbo-parser/src/vector.h +45 -0
  91. data/lib/nokogiri/css/node.rb +1 -50
  92. data/lib/nokogiri/css/parser.rb +317 -286
  93. data/lib/nokogiri/css/parser.y +57 -43
  94. data/lib/nokogiri/css/parser_extras.rb +39 -36
  95. data/lib/nokogiri/css/syntax_error.rb +2 -1
  96. data/lib/nokogiri/css/tokenizer.rb +105 -103
  97. data/lib/nokogiri/css/tokenizer.rex +5 -5
  98. data/lib/nokogiri/css/xpath_visitor.rb +137 -48
  99. data/lib/nokogiri/css.rb +15 -14
  100. data/lib/nokogiri/decorators/slop.rb +13 -5
  101. data/lib/nokogiri/extension.rb +31 -0
  102. data/lib/nokogiri/gumbo.rb +14 -0
  103. data/lib/nokogiri/html.rb +32 -27
  104. data/lib/nokogiri/{html → html4}/builder.rb +3 -2
  105. data/lib/nokogiri/{html → html4}/document.rb +118 -50
  106. data/lib/nokogiri/{html → html4}/document_fragment.rb +20 -11
  107. data/lib/nokogiri/{html → html4}/element_description.rb +2 -1
  108. data/lib/nokogiri/{html → html4}/element_description_defaults.rb +2 -1
  109. data/lib/nokogiri/{html → html4}/entity_lookup.rb +2 -1
  110. data/lib/nokogiri/{html → html4}/sax/parser.rb +22 -14
  111. data/lib/nokogiri/html4/sax/parser_context.rb +19 -0
  112. data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
  113. data/lib/nokogiri/html4.rb +40 -0
  114. data/lib/nokogiri/html5/document.rb +74 -0
  115. data/lib/nokogiri/html5/document_fragment.rb +80 -0
  116. data/lib/nokogiri/html5/node.rb +93 -0
  117. data/lib/nokogiri/html5.rb +473 -0
  118. data/lib/nokogiri/jruby/dependencies.rb +20 -0
  119. data/lib/nokogiri/syntax_error.rb +1 -0
  120. data/lib/nokogiri/version/constant.rb +5 -0
  121. data/lib/nokogiri/version/info.rb +215 -0
  122. data/lib/nokogiri/version.rb +3 -91
  123. data/lib/nokogiri/xml/attr.rb +1 -0
  124. data/lib/nokogiri/xml/attribute_decl.rb +1 -0
  125. data/lib/nokogiri/xml/builder.rb +75 -33
  126. data/lib/nokogiri/xml/cdata.rb +1 -0
  127. data/lib/nokogiri/xml/character_data.rb +1 -0
  128. data/lib/nokogiri/xml/document.rb +157 -54
  129. data/lib/nokogiri/xml/document_fragment.rb +55 -8
  130. data/lib/nokogiri/xml/dtd.rb +15 -4
  131. data/lib/nokogiri/xml/element_content.rb +1 -0
  132. data/lib/nokogiri/xml/element_decl.rb +1 -0
  133. data/lib/nokogiri/xml/entity_decl.rb +1 -0
  134. data/lib/nokogiri/xml/entity_reference.rb +19 -0
  135. data/lib/nokogiri/xml/namespace.rb +1 -0
  136. data/lib/nokogiri/xml/node/save_options.rb +2 -1
  137. data/lib/nokogiri/xml/node.rb +712 -431
  138. data/lib/nokogiri/xml/node_set.rb +140 -123
  139. data/lib/nokogiri/xml/notation.rb +1 -0
  140. data/lib/nokogiri/xml/parse_options.rb +31 -0
  141. data/lib/nokogiri/xml/pp/character_data.rb +1 -0
  142. data/lib/nokogiri/xml/pp/node.rb +1 -0
  143. data/lib/nokogiri/xml/pp.rb +3 -2
  144. data/lib/nokogiri/xml/processing_instruction.rb +1 -0
  145. data/lib/nokogiri/xml/reader.rb +9 -12
  146. data/lib/nokogiri/xml/relax_ng.rb +7 -2
  147. data/lib/nokogiri/xml/sax/document.rb +25 -30
  148. data/lib/nokogiri/xml/sax/parser.rb +8 -8
  149. data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
  150. data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
  151. data/lib/nokogiri/xml/sax.rb +5 -4
  152. data/lib/nokogiri/xml/schema.rb +13 -4
  153. data/lib/nokogiri/xml/searchable.rb +239 -0
  154. data/lib/nokogiri/xml/syntax_error.rb +25 -1
  155. data/lib/nokogiri/xml/text.rb +1 -0
  156. data/lib/nokogiri/xml/xpath/syntax_error.rb +2 -1
  157. data/lib/nokogiri/xml/xpath.rb +4 -5
  158. data/lib/nokogiri/xml/xpath_context.rb +1 -0
  159. data/lib/nokogiri/xml.rb +37 -35
  160. data/lib/nokogiri/xslt/stylesheet.rb +2 -1
  161. data/lib/nokogiri/xslt.rb +17 -16
  162. data/lib/nokogiri.rb +55 -58
  163. data/lib/xsd/xmlparser/nokogiri.rb +1 -0
  164. data/patches/libxml2/0001-Remove-script-macro-support.patch +40 -0
  165. data/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch +44 -0
  166. data/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch +25 -0
  167. data/patches/libxml2/0004-use-glibc-strlen.patch +53 -0
  168. data/patches/libxml2/0005-avoid-isnan-isinf.patch +81 -0
  169. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +2511 -0
  170. data/patches/libxml2/0007-Fix-XPath-recursion-limit.patch +31 -0
  171. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +2511 -0
  172. data/patches/libxslt/0002-Fix-xml2-config-check-in-configure-script.patch +19 -0
  173. data/ports/archives/libxml2-2.9.12.tar.gz +0 -0
  174. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
  175. metadata +307 -459
  176. data/.autotest +0 -26
  177. data/.gemtest +0 -0
  178. data/CHANGELOG.ja.rdoc +0 -785
  179. data/CHANGELOG.rdoc +0 -783
  180. data/C_CODING_STYLE.rdoc +0 -33
  181. data/Manifest.txt +0 -303
  182. data/README.ja.rdoc +0 -106
  183. data/README.rdoc +0 -175
  184. data/ROADMAP.md +0 -90
  185. data/Rakefile +0 -228
  186. data/STANDARD_RESPONSES.md +0 -47
  187. data/Y_U_NO_GEMSPEC.md +0 -155
  188. data/build_all +0 -105
  189. data/ext/nokogiri/html_document.c +0 -170
  190. data/ext/nokogiri/html_document.h +0 -10
  191. data/ext/nokogiri/html_element_description.c +0 -279
  192. data/ext/nokogiri/html_element_description.h +0 -10
  193. data/ext/nokogiri/html_entity_lookup.c +0 -32
  194. data/ext/nokogiri/html_entity_lookup.h +0 -8
  195. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  196. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  197. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  198. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  199. data/ext/nokogiri/xml_attr.h +0 -9
  200. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  201. data/ext/nokogiri/xml_cdata.h +0 -9
  202. data/ext/nokogiri/xml_comment.h +0 -9
  203. data/ext/nokogiri/xml_document.h +0 -23
  204. data/ext/nokogiri/xml_document_fragment.h +0 -10
  205. data/ext/nokogiri/xml_dtd.h +0 -10
  206. data/ext/nokogiri/xml_element_content.h +0 -10
  207. data/ext/nokogiri/xml_element_decl.h +0 -9
  208. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  209. data/ext/nokogiri/xml_entity_decl.h +0 -10
  210. data/ext/nokogiri/xml_entity_reference.h +0 -9
  211. data/ext/nokogiri/xml_io.c +0 -56
  212. data/ext/nokogiri/xml_io.h +0 -11
  213. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  214. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  215. data/ext/nokogiri/xml_namespace.h +0 -13
  216. data/ext/nokogiri/xml_node.h +0 -13
  217. data/ext/nokogiri/xml_node_set.h +0 -14
  218. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  219. data/ext/nokogiri/xml_reader.h +0 -10
  220. data/ext/nokogiri/xml_relax_ng.h +0 -9
  221. data/ext/nokogiri/xml_sax_parser.h +0 -39
  222. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  223. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  224. data/ext/nokogiri/xml_schema.h +0 -9
  225. data/ext/nokogiri/xml_syntax_error.h +0 -13
  226. data/ext/nokogiri/xml_text.h +0 -9
  227. data/ext/nokogiri/xml_xpath_context.h +0 -10
  228. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  229. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  230. data/lib/nokogiri/html/sax/push_parser.rb +0 -16
  231. data/tasks/cross_compile.rb +0 -150
  232. data/tasks/nokogiri.org.rb +0 -24
  233. data/tasks/test.rb +0 -95
  234. data/test/css/test_nthiness.rb +0 -159
  235. data/test/css/test_parser.rb +0 -341
  236. data/test/css/test_tokenizer.rb +0 -198
  237. data/test/css/test_xpath_visitor.rb +0 -91
  238. data/test/decorators/test_slop.rb +0 -16
  239. data/test/files/2ch.html +0 -108
  240. data/test/files/address_book.rlx +0 -12
  241. data/test/files/address_book.xml +0 -10
  242. data/test/files/bar/bar.xsd +0 -4
  243. data/test/files/dont_hurt_em_why.xml +0 -422
  244. data/test/files/encoding.html +0 -82
  245. data/test/files/encoding.xhtml +0 -84
  246. data/test/files/exslt.xml +0 -8
  247. data/test/files/exslt.xslt +0 -35
  248. data/test/files/foo/foo.xsd +0 -4
  249. data/test/files/metacharset.html +0 -10
  250. data/test/files/noencoding.html +0 -47
  251. data/test/files/po.xml +0 -32
  252. data/test/files/po.xsd +0 -66
  253. data/test/files/shift_jis.html +0 -10
  254. data/test/files/shift_jis.xml +0 -5
  255. data/test/files/snuggles.xml +0 -3
  256. data/test/files/staff.dtd +0 -10
  257. data/test/files/staff.xml +0 -59
  258. data/test/files/staff.xslt +0 -32
  259. data/test/files/test_document_url/bar.xml +0 -2
  260. data/test/files/test_document_url/document.dtd +0 -4
  261. data/test/files/test_document_url/document.xml +0 -6
  262. data/test/files/tlm.html +0 -850
  263. data/test/files/to_be_xincluded.xml +0 -2
  264. data/test/files/valid_bar.xml +0 -2
  265. data/test/files/xinclude.xml +0 -4
  266. data/test/helper.rb +0 -154
  267. data/test/html/sax/test_parser.rb +0 -141
  268. data/test/html/sax/test_parser_context.rb +0 -46
  269. data/test/html/test_builder.rb +0 -164
  270. data/test/html/test_document.rb +0 -552
  271. data/test/html/test_document_encoding.rb +0 -138
  272. data/test/html/test_document_fragment.rb +0 -261
  273. data/test/html/test_element_description.rb +0 -105
  274. data/test/html/test_named_characters.rb +0 -14
  275. data/test/html/test_node.rb +0 -196
  276. data/test/html/test_node_encoding.rb +0 -27
  277. data/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  278. data/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  279. data/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  280. data/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -66
  281. data/test/test_convert_xpath.rb +0 -135
  282. data/test/test_css_cache.rb +0 -45
  283. data/test/test_encoding_handler.rb +0 -46
  284. data/test/test_memory_leak.rb +0 -156
  285. data/test/test_nokogiri.rb +0 -132
  286. data/test/test_reader.rb +0 -555
  287. data/test/test_soap4r_sax.rb +0 -52
  288. data/test/test_xslt_transforms.rb +0 -254
  289. data/test/xml/node/test_save_options.rb +0 -28
  290. data/test/xml/node/test_subclass.rb +0 -44
  291. data/test/xml/sax/test_parser.rb +0 -366
  292. data/test/xml/sax/test_parser_context.rb +0 -106
  293. data/test/xml/sax/test_push_parser.rb +0 -157
  294. data/test/xml/test_attr.rb +0 -64
  295. data/test/xml/test_attribute_decl.rb +0 -86
  296. data/test/xml/test_builder.rb +0 -306
  297. data/test/xml/test_c14n.rb +0 -151
  298. data/test/xml/test_cdata.rb +0 -48
  299. data/test/xml/test_comment.rb +0 -29
  300. data/test/xml/test_document.rb +0 -828
  301. data/test/xml/test_document_encoding.rb +0 -28
  302. data/test/xml/test_document_fragment.rb +0 -223
  303. data/test/xml/test_dtd.rb +0 -103
  304. data/test/xml/test_dtd_encoding.rb +0 -33
  305. data/test/xml/test_element_content.rb +0 -56
  306. data/test/xml/test_element_decl.rb +0 -73
  307. data/test/xml/test_entity_decl.rb +0 -122
  308. data/test/xml/test_entity_reference.rb +0 -245
  309. data/test/xml/test_namespace.rb +0 -95
  310. data/test/xml/test_node.rb +0 -1137
  311. data/test/xml/test_node_attributes.rb +0 -96
  312. data/test/xml/test_node_encoding.rb +0 -107
  313. data/test/xml/test_node_inheritance.rb +0 -32
  314. data/test/xml/test_node_reparenting.rb +0 -374
  315. data/test/xml/test_node_set.rb +0 -755
  316. data/test/xml/test_parse_options.rb +0 -64
  317. data/test/xml/test_processing_instruction.rb +0 -30
  318. data/test/xml/test_reader_encoding.rb +0 -142
  319. data/test/xml/test_relax_ng.rb +0 -60
  320. data/test/xml/test_schema.rb +0 -103
  321. data/test/xml/test_syntax_error.rb +0 -12
  322. data/test/xml/test_text.rb +0 -45
  323. data/test/xml/test_unparented_node.rb +0 -422
  324. data/test/xml/test_xinclude.rb +0 -83
  325. data/test/xml/test_xpath.rb +0 -295
  326. data/test/xslt/test_custom_functions.rb +0 -133
  327. data/test/xslt/test_exception_handling.rb +0 -37
  328. data/test_all +0 -81
data/CHANGELOG.rdoc DELETED
@@ -1,783 +0,0 @@
1
- === 1.5.10 / 2013-06-07
2
-
3
- * Bugfixes
4
-
5
- * (JRuby) Fix "null document" error when parsing an empty IO in jruby 1.7.3. #883
6
- * (JRuby) Fix schema validation when XSD has DOCTYPE set to DTD. #861 (Thanks, Patrick Cheng!)
7
- * (MRI) Fix segfault when there is no default subelement for an HTML node. #917
8
-
9
-
10
- * Notes
11
-
12
- * Use rb_ary_entry instead of RARRAY_PTR (you know, for Rubinius). #877 (Thanks, Dirkjan Bussink!)
13
- * Fix TypeError when running tests. #900 (Thanks, Cédric Boutillier!)
14
-
15
-
16
- === 1.5.9 / 2013-03-21
17
-
18
- * Bugfixes
19
-
20
- * Ensure that prefixed attributes are properly namespaced when reparented. #869
21
- * Fix for inconsistent namespaced attribute access for SVG nested in HTML. #861
22
- * (MRI) Fixed a memory leak in fragment parsing if nodes are not all subsequently reparented. #856
23
-
24
-
25
- === 1.5.8 / 2013-03-19
26
-
27
- * Bugfixes
28
-
29
- * (JRuby) Fix EmptyStackException thrown by elements with xlink:href attributes and no base_uri #534, #805. (Thanks, Patrick Quinn and Brian Hoffman!)
30
- * Fixes duplicate attributes issue introduced in 1.5.7. #865
31
- * Allow use of a prefixed namespace on a root node using Nokogiri::XML::Builder #868
32
-
33
-
34
- === 1.5.7 / 2013-03-18
35
-
36
- * Features
37
-
38
- * Windows support for Ruby 2.0.
39
-
40
-
41
- * Bugfixes
42
-
43
- * SAX::Parser.parse_io throw an error when used with lower case encoding. #828
44
- * (JRuby) Java Nokogiri is finally green (passes all tests) under 1.8 and 1.9 mode. High five everyone. #798, #705
45
- * (JRuby) Nokogiri::XML::Reader broken (as a pull parser) on jruby - reads the whole XML document. #831
46
- * (JRuby) JRuby hangs parsing "&". #837
47
- * (JRuby) JRuby NPE parsing an invalid XML instruction. #838
48
- * (JRuby) Node#content= incompatibility. #839
49
- * (JRuby) to_xhtml doesn't print the last slash for self-closing tags in JRuby. #834
50
- * (JRuby) Adding an EntityReference after a Text node mangles the entity in JRuby. #835
51
- * (JRuby) JRuby version inconsistency: nil for empty attributes. #818
52
- * CSS queries for classes (e.g., ".foo") now treat all whitespace identically. #854
53
- * Namespace behavior cleaned up and made consistent between JRuby and MRI. #846, #801 (Thanks, Michael Klein!)
54
- * (MRI) SAX parser handles empty processing instructions. #845
55
-
56
-
57
- === 1.5.6 / 2012-12-19
58
-
59
- * Features
60
-
61
- * Improved performance of XML::Document#collect_namespaces. #761 (Thanks, Juergen Mangler!)
62
- * New callback SAX::Document#processing_instruction (Thanks, Kitaiti Makoto!)
63
- * Node#native_content= allows setting unescaped node contant. #768
64
- * XPath lookup with namespaces supports symbol keys. #729 (Thanks, Ben Langfeld.)
65
- * XML::Node#[]= stringifies values. #729 (Thanks, Ben Langfeld.)
66
- * bin/nokogiri will process a document from $stdin
67
- * bin/nokogiri -e will execute a program from the command line
68
- * (JRuby) bin/nokogiri --version will print the Xerces and NekoHTML versions.
69
-
70
-
71
- * Bugfixes
72
-
73
- * Nokogiri now detects XSLT transform errors. #731 (Thanks, Justin Fitzsimmons!)
74
- * Don't throw an Error when trying to replace top-level text node in DocumentFragment. #775
75
- * Raise an ArgumentError if an invalid encoding is passed to the SAX parser. #756 (Thanks, Bradley Schaefer!)
76
- * Prefixed element inconsistency between CRuby and JRuby. #712
77
- * (JRuby) space prior to xml preamble causes nokogiri to fail parsing. (fixed along with #748) #790
78
- * (JRuby) Fixed the bug Nokogiri::XML::Node#content inconsistency between Java and C. #794, #797
79
- * (JRuby) raises INVALID_CHARACTER_ERR exception when EntityReference name starts with '#'. #719
80
- * (JRuby) doesn't coerce namespaces out of strings on a direct subclass of Node. #715
81
- * (JRuby) Node#content now renders newlines properly. #737 (Thanks, Piotr Szmielew!)
82
- * (JRuby) Unknown namespace are ignore when the recover option is used. #748
83
- * (JRuby) XPath queries for namespaces should not throw exceptions when called twice in a row. #764
84
- * (JRuby) More consistent (with libxml2) whitespace formatting when emitting XML. #771
85
- * (JRuby) namespaced attributes broken when appending raw xml to builder. #770
86
- * (JRuby) Nokogiri::XML::Document#wrap raises undefined method `length' for nil:NilClass when trying to << to a node. #781
87
- * (JRuby) Fixed "bad file descriptor" bug when closing open file descriptors. #495
88
- * (JRuby) JRuby/CRuby incompatibility for attribute decorators. #785
89
- * (JRuby) Issues parsing valid XML with no internal subset in the DTD. #547, #811
90
- * (JRuby) Issues parsing valid node content when it contains colons. #728
91
- * (JRuby) Correctly parse the doc type of html documents. #733
92
- * (JRuby) Include dtd in the xml output when a builder is used with create_internal_subset. #751
93
- * (JRuby) builder requires textwrappers for valid utf8 in jruby, not in mri. #784
94
-
95
-
96
- === 1.5.5 / 2012-06-24
97
-
98
- * Features
99
-
100
- * Much-improved support for JRuby in 1.9 mode! Yay!
101
-
102
- * Bugfixes
103
-
104
- * Regression in JRuby Nokogiri add_previous_sibling (1.5.0 -> 1.5.1) #691 (Thanks, John Shahid!)
105
- * JRuby unable to create HTML doc if URL arg provided #674 (Thanks, John Shahid!)
106
- * JRuby raises NullPointerException when given HTML document is nil or empty string. #699
107
- * JRuby 1.9 error, uncaught throw 'encoding_found', has been fixed. #673
108
- * Invalid encoding returned in JRuby with US-ASCII. #583
109
- * XmlSaxPushParser raises IndexOutOfBoundsException when over 512 characters are given. #567, #615
110
- * When xpath evaluation returns empty NodeSet, decorating NodeSet's base document raises exception. #514
111
- * JRuby raises exception when xpath with namespace is specified. pull request #681 (Thanks, Piotr Szmielew)
112
- * JRuby renders nodes without their namespace when subclassing Node. #695
113
- * JRuby raises NAMESPACE_ERR (org.w3c.dom.DOMException) while instantiating RDF::RDFXML::Writer. #683
114
- * JRuby is not able to use namespaces in xpath. #493
115
- * JRuby's Entity resolving should be consistent with C-Nokogiri #704, #647, #703
116
-
117
-
118
- === 1.5.4 / 2012-06-12
119
-
120
- * Features
121
-
122
- * The "nokogiri" script now has more verbose output when passed the `--rng` option. #675 (Thanks, Dan Radez!)
123
- * Build support on hardened Debian systems that use `-Werror=format-security`. #680.
124
- * Better build support for systems with pkg-config. #584
125
- * Better build support for systems with multiple iconv installations.
126
-
127
- * Bugfixes
128
-
129
- * Segmentation fault when creating a comment node for a DocumentFragment. #677, #678.
130
- * Treat '.' as xpath in at() and search(). #690
131
-
132
- * (MRI, Security) Default parse options for XML documents were
133
- changed to not make network connections during document parsing,
134
- to avoid XXE vulnerability. #693
135
-
136
- To re-enable this behavior, the configuration method `nononet` may
137
- be called, like this:
138
-
139
- Nokogiri::XML::Document.parse(xml) { |config| config.nononet }
140
-
141
- Insert your own joke about double-negatives here.
142
-
143
-
144
- === 1.5.3 / 2012-06-01
145
-
146
- * Features
147
-
148
- * Support for "prefixless" CSS selectors ~, > and + like jQuery
149
- supports. #621, #623. (Thanks, David Lee!)
150
- * Attempting to improve installation on homebrew 0.9 (with regards
151
- to iconv). Isn't package management convenient?
152
-
153
- * Bugfixes
154
-
155
- * Custom xpath functions with empty nodeset arguments cause a
156
- segfault. #634.
157
- * Nokogiri::XML::Node#css now works for XML documents with default
158
- namespaces when the rule contains attribute selector without
159
- namespace.
160
- * Fixed marshalling bugs around how arguments are passed to (and
161
- returned from) XSLT custom xpath functions. #640.
162
- * Nokogiri::XML::Reader#outer_xml is broken in JRuby #617
163
- * Nokogiri::XML::Attribute on JRuby returns a nil namespace #647
164
- * Nokogiri::XML::Node#namespace= cannot set a namespace without a
165
- prefix on JRuby #648
166
- * (JRuby) 1.9 mode causes dead lock while running rake #571
167
- * HTML::Document#meta_encoding does not raise exception on docs with
168
- malformed content-type. #655
169
- * Fixing segfault related to unsupported encodings in in-context
170
- parsing on 1.8.7. #643
171
- * (JRuby) Concurrency issue in XPath parsing. #682
172
-
173
-
174
- === 1.5.2 / 2012-03-09
175
-
176
- Repackaging of 1.5.1 with a gemspec that is compatible with older Rubies. #631, #632.
177
-
178
-
179
- === 1.5.1 / 2012-03-09
180
-
181
- * Features
182
-
183
- * XML::Builder#comment allows creation of comment nodes.
184
- * CSS searches now support namespaced attributes. #593
185
- * Java integration feature is added. Now, XML::Document.wrap
186
- and XML::Document#to_java methods are available.
187
- * RelaxNG validator support in the `nokogiri` cli utility. #591 (thanks, Dan Radez!)
188
-
189
- * Bugfixes
190
-
191
- * Fix many memory leaks and segfault opportunities. Thanks, Tim Elliott!
192
- * extconf searches homebrew paths if homebrew is installed.
193
- * Inconsistent behavior of Nokogiri 1.5.0 Java #620
194
- * Inheriting from Nokogiri::XML::Node on JRuby (1.6.4/5) fails #560
195
- * XML::Attr nodes are not allowed to be added as node children, so an
196
- exception is raised. #558
197
- * No longer defensively "pickle" adjacent text nodes on
198
- Node#add_next_sibling and Node#add_previous_sibling calls. #595.
199
- * Java version inconsistency: it returns nil for empty attributes #589
200
- * to_xhtml incorrectly generates <p /></p> when tag is empty #557
201
- * Document#add_child now accepts a Node, NodeSet, DocumentFragment,
202
- or String. #546.
203
- * Document#create_element now recognizes namespaces containing
204
- non-word characters (like "SOAP-ENV"). This is mostly relevant to
205
- users of Builder, which calls Document#create_element for nearly
206
- everything. #531.
207
- * File encoding broken in 1.5.0 / jruby / windows #529
208
- * Java version does not return namespace defs as attrs for ::HTML #542
209
- * Bad file descriptor with Nokogiri 1.5.0 #495
210
- * remove_namespace! doesn't work in pure java version #492
211
- * The Nokogiri Java native build throws a null pointer exception
212
- when ActiveSupport's .blank? method is called directly on a parsed
213
- object. #489
214
- * 1.5.0 Not using correct character encoding #488
215
- * Raw XML string in XML Builder broken on JRuby #486
216
- * Nokogiri 1.5.0 XML generation broken on JRuby #484
217
- * Do not allow multiple root nodes. #550
218
- * Fixes for custom XPath functions. #605, #606 (thanks, Juan Wajnerman!)
219
- * Node#to_xml does not override :save_with if it is provided. #505
220
- * Node#set is a private method (JRuby). #564 (thanks, Nick Sieger!)
221
- * C14n cleanup and Node#canonicalize (thanks, Ivan Pirlik!) #563
222
-
223
-
224
- === 1.5.0 / 2011-07-01
225
-
226
- * Notes
227
-
228
- * See changelog from 1.4.7
229
-
230
- * Features
231
-
232
- * extracted sets of Node::SaveOptions into Node::SaveOptions::DEFAULT_{X,H,XH}TML (refactor)
233
-
234
- * Bugfixes
235
-
236
- * default output of XML on JRuby is no longer formatted due to
237
- inconsistent whitespace handling. #415
238
- * (JRuby) making empty NodeSets with null `nodes` member safe to operate on. #443
239
- * Fix a bug in advanced encoding detection that leads to partially
240
- duplicated document when parsing an HTML file with unknown
241
- encoding.
242
- * Add support for <meta charset="...">.
243
-
244
-
245
- === 1.5.0 beta3 / 2010/12/02
246
-
247
- * Notes
248
-
249
- * JRuby performance tuning
250
- * See changelog from 1.4.4
251
-
252
- * Bugfixes
253
-
254
- * Node#inner_text no longer returns nil. (JRuby) #264
255
-
256
-
257
- === 1.5.0 beta2 / 2010/07/30
258
-
259
- * Notes
260
-
261
- * See changelog from 1.4.3
262
-
263
-
264
- === 1.5.0 beta1 / 2010/05/22
265
-
266
- * Notes
267
-
268
- * JRuby support is provided by a new pure-java backend.
269
-
270
- * Deprecations
271
-
272
- * Ruby 1.8.6 is deprecated. Nokogiri will install, but official support is ended.
273
- * LibXML 2.6.16 and earlier are deprecated. Nokogiri will refuse to install.
274
- * FFI support is removed.
275
-
276
-
277
- === 1.4.7 / 2011-07-01
278
-
279
- * Bugfixes
280
-
281
- * Fix a bug in advanced encoding detection that leads to partially
282
- duplicated document when parsing an HTML file with unknown
283
- encoding. Thanks, Timothy Elliott (@ender672)! #478
284
-
285
-
286
- === 1.4.6 / 2011-06-19
287
-
288
- * Notes
289
-
290
- * This version is functionally identical to 1.4.5.
291
- * Ruby 1.8.6 support has been restored.
292
-
293
-
294
- === 1.4.5 / 2011-05-19
295
-
296
- * New Features
297
-
298
- * Nokogiri::HTML::Document#title accessor gets and sets the document title.
299
- * extracted sets of Node::SaveOptions into Node::SaveOptions::DEFAULT_{X,H,XH}TML (refactor)
300
- * Raise an exception if a string is passed to Nokogiri::XML::Schema#validate. #406
301
-
302
- * Bugfixes
303
-
304
- * Node#serialize-and-friends now accepts a SaveOption object as the, erm, save object.
305
- * Nokogiri::CSS::Parser has-a Nokogiri::CSS::Tokenizer
306
- * (JRUBY+FFI only) Weak references are now threadsafe. #355
307
- * Make direct start_element() callback (currently used for
308
- HTML::SAX::Parser) pass attributes in assoc array, just as
309
- emulated start_element() callback does. rel. #356
310
- * HTML::SAX::Parser should call back a block given to parse*() if any, just as XML::SAX::Parser does.
311
- * Add further encoding detection to HTML parser that libxml2 does not do.
312
- * Document#remove_namespaces! now handles attributes with namespaces. #396
313
- * XSLT::Stylesheet#transform no longer segfaults when handed a non-XML::Document. #452
314
- * XML::Reader no longer segfaults when under GC pressure. #439
315
-
316
-
317
- === 1.4.4 / 2010-11-15
318
-
319
- * New Features
320
-
321
- * XML::Node#children= sets the node's inner html (much like #inner_html=), but returns the reparent node(s).
322
- * XSLT supports function extensions. #336
323
- * XPath bind parameter substitution. #329
324
- * XML::Reader node type constants. #369
325
- * SAX Parser context provides line and column information
326
-
327
- * Bugfixes
328
-
329
- * XML::DTD#attributes returns an empty hash instead of nil when there are no attributes.
330
- * XML::DTD#{keys,each} now work as expected. #324
331
- * {XML,HTML}::DocumentFragment.{new,parse} no longer strip leading and trailing whitespace. #319
332
- * XML::Node#{add_child,add_previous_sibling,add_next_sibling,replace} return a NodeSet when passed a string.
333
- * Unclosed tags parsed more robustly in fragments. #315
334
- * XML::Node#{replace,add_previous_sibling,add_next_sibling} edge cases fixed related to libxml's text node merging. #308
335
- * Fixed a segfault when GC occurs during xpath handler argument marshalling. #345
336
- * Added hack to Slop decorator to work with previously defined methods. #330
337
- * Fix a memory leak when duplicating child nodes. #353
338
- * Fixed off-by-one bug with nth-last-{child,of-type} CSS selectors when NOT using an+b notation. #354
339
- * Fixed passing of non-namespace attributes to SAX::Document#start_element. #356
340
- * Workaround for libxml2 in-context parsing bug. #362
341
- * Fixed NodeSet#wrap on nodes within a fragment. #331
342
-
343
-
344
- === 1.4.3 / 2010/07/28
345
-
346
- * New Features
347
-
348
- * XML::Reader#empty_element? returns true for empty elements. #262
349
- * Node#remove_namespaces! now removes namespace *declarations* as well. #294
350
- * NodeSet#at_xpath, NodeSet#at_css and NodeSet#> do what the corresponding
351
- methods of Node do.
352
-
353
- * Bugfixes
354
-
355
- * XML::NodeSet#{include?,delete,push} accept an XML::Namespace
356
- * XML::Document#parse added for parsing in the context of a document
357
- * XML::DocumentFragment#inner_html= works with contextual parsing! #298, #281
358
- * lib/nokogiri/css/parser.y Combined CSS functions + pseudo selectors fixed
359
- * Reparenting text nodes is safe, even when the operation frees adjacent merged nodes. #283
360
- * Fixed libxml2 versionitis issue with xmlFirstElementChild et al. #303
361
- * XML::Attr#add_namespace now works as expected. #252
362
- * HTML::DocumentFragment uses the string's encoding. #305
363
- * Fix the CSS3 selector translation rule for the general sibling combinator
364
- (a.k.a. preceding selector) that incorrectly converted "E ~ F G" to
365
- "//F//G[preceding-sibling::E]".
366
-
367
-
368
- === 1.4.2 / 2010/05/22
369
-
370
- * New Features
371
-
372
- * XML::Node#parse will parse XML or HTML fragments with respect to the
373
- context node.
374
- * XML::Node#namespaces returns all namespaces defined in the node and all
375
- ancestor nodes
376
- (previously did not return ancestors' namespace definitions).
377
- * Added Enumerable to XML::Node
378
- * Nokogiri::XML::Schema#validate now uses xmlSchemaValidateFile if a
379
- filename is passed, which is faster and more memory-efficient. GH #219
380
- * XML::Document#create_entity will create new EntityDecl objects. GH #174
381
- * JRuby FFI implementation no longer uses ObjectSpace._id2ref,
382
- instead using Charles Nutter's rocking Weakling gem.
383
- * Nokogiri::XML::Node#first_element_child fetch the first child node that is
384
- an ELEMENT node.
385
- * Nokogiri::XML::Node#last_element_child fetch the last child node that is
386
- an ELEMENT node.
387
- * Nokogiri::XML::Node#elements fetch all children nodes that are ELEMENT
388
- nodes.
389
- * Nokogiri::XML::Node#add_child, #add_previous_sibling, #before,
390
- #add_next_sibling, #after, #inner_html, #swap and #replace all now
391
- accept a Node, DocumentFragment, NodeSet, or a string containing
392
- markup.
393
- * Node#fragment? indicates whether a node is a DocumentFragment.
394
-
395
- * Bugfixes
396
-
397
- * XML::NodeSet is now always decorated (if the document has decorators).
398
- GH #198
399
- * XML::NodeSet#slice gracefully handles offset+length larger than the set
400
- length. GH #200
401
- * XML::Node#content= safely unlinks previous content. GH #203
402
- * XML::Node#namespace= takes nil as a parameter
403
- * XML::Node#xpath returns things other than NodeSet objects. GH #208
404
- * XSLT::StyleSheet#transform accepts hashes for parameters. GH #223
405
- * Psuedo selectors inside not() work. GH #205
406
- * XML::Builder doesn't break when nodes are unlinked.
407
- Thanks to vihai! GH #228
408
- * Encoding can be forced on the SAX parser. Thanks Eugene Pimenov! GH #204
409
- * XML::DocumentFragment uses XML::Node#parse to determine children.
410
- * Fixed a memory leak in xml reader. Thanks sdor! GH #244
411
- * Node#replace returns the new child node as claimed in the
412
- RDoc. Previously returned +self+.
413
-
414
- * Notes
415
-
416
- * The Windows gems now bundle DLLs for libxml 2.7.6 and libxslt
417
- 1.1.26. Prior to this release, libxml 2.7.3 and libxslt 1.1.24
418
- were bundled.
419
-
420
-
421
- === 1.4.1 / 2009/12/10
422
-
423
- * New Features
424
-
425
- * Added Nokogiri::LIBXML_ICONV_ENABLED
426
- * Alias Node#[] to Node#attr
427
- * XML::Node#next_element added
428
- * XML::Node#> added for searching a nodes immediate children
429
- * XML::NodeSet#reverse added
430
- * Added fragment support to Node#add_child, Node#add_next_sibling,
431
- Node#add_previous_sibling, and Node#replace.
432
- * XML::Node#previous_element implemented
433
- * Rubinius support
434
- * Ths CSS selector engine now supports :has()
435
- * XML::NodeSet#filter() was added
436
- * XML::Node.next= and .previous= are aliases for add_next_sibling and add_previous_sibling. GH #183
437
-
438
- * Bugfixes
439
-
440
- * XML fragments with namespaces do not raise an exception (regression in 1.4.0)
441
- * Node#matches? works in nodes contained by a DocumentFragment. GH #158
442
- * Document should not define add_namespace() method. GH #169
443
- * XPath queries returning namespace declarations do not segfault.
444
- * Node#replace works with nodes from different documents. GH #162
445
- * Adding XML::Document#collect_namespaces
446
- * Fixed bugs in the SOAP4R adapter
447
- * Fixed bug in XML::Node#next_element for certain edge cases
448
- * Fixed load path issue with JRuby under Windows. GH #160.
449
- * XSLT#apply_to will honor the "output method". Thanks richardlehane!
450
- * Fragments containing leading text nodes with newlines now parse properly. GH #178.
451
-
452
-
453
- === 1.4.0 / 2009/10/30
454
-
455
- * Happy Birthday!
456
-
457
- * New Features
458
-
459
- * Node#at_xpath returns the first element of the NodeSet matching the XPath
460
- expression.
461
- * Node#at_css returns the first element of the NodeSet matching the CSS
462
- selector.
463
- * NodeSet#| for unions GH #119 (Thanks Serabe!)
464
- * NodeSet#inspect makes prettier output
465
- * Node#inspect implemented for more rubyish document inspecting
466
- * Added XML::DTD#external_id
467
- * Added XML::DTD#system_id
468
- * Added XML::ElementContent for DTD Element content validity
469
- * Better namespace declaration support in Nokogiri::XML::Builder
470
- * Added XML::Node#external_subset
471
- * Added XML::Node#create_external_subset
472
- * Added XML::Node#create_internal_subset
473
- * XML Builder can append raw strings (GH #141, patch from dudleyf)
474
- * XML::SAX::ParserContext added
475
- * XML::Document#remove_namespaces! for the namespace-impaired
476
-
477
- * Bugfixes
478
-
479
- * returns nil when HTML documents do not declare a meta encoding tag. GH #115
480
- * Uses RbConfig::CONFIG['host_os'] to adjust ENV['PATH'] GH #113
481
- * NodeSet#search is more efficient GH #119 (Thanks Serabe!)
482
- * NodeSet#xpath handles custom xpath functions
483
- * Fixing a SEGV when XML::Reader gets attributes for current node
484
- * Node#inner_html takes the same arguments as Node#to_html GH #117
485
- * DocumentFragment#css delegates to it's child nodes GH #123
486
- * NodeSet#[] works with slices larger than NodeSet#length GH #131
487
- * Reparented nodes maintain their namespace. GH #134
488
- * Fixed SEGV when adding an XML::Document to NodeSet
489
- * XML::SyntaxError can be duplicated. GH #148
490
-
491
- * Deprecations
492
-
493
- * Hpricot compatibility layer removed
494
-
495
-
496
- === 1.3.3 / 2009/07/26
497
-
498
- * New Features
499
-
500
- * NodeSet#children returns all children of all nodes
501
-
502
- * Bugfixes
503
-
504
- * Override libxml-ruby's global error handler
505
- * ParseOption#strict fixed
506
- * Fixed a segfault when sending an empty string to Node#inner_html= GH #88
507
- * String encoding is now set to UTF-8 in Ruby 1.9
508
- * Fixed a segfault when moving root nodes between documents. GH #91
509
- * Fixed an O(n) penalty on node creation. GH #101
510
- * Allowing XML documents to be output as HTML documents
511
-
512
- * Deprecations
513
-
514
- * Hpricot compatibility layer will be removed in 1.4.0
515
-
516
-
517
- === 1.3.2 / 2009-06-22
518
-
519
- * New Features
520
-
521
- * Nokogiri::XML::DTD#validate will validate your document
522
-
523
- * Bugfixes
524
-
525
- * Nokogiri::XML::NodeSet#search will search top level nodes. GH #73
526
- * Removed namespace related methods from Nokogiri::XML::Document
527
- * Fixed a segfault when a namespace was added twice
528
- * Made nokogiri work with Snow Leopard GH #79
529
- * Mailing list has moved to: http://groups.google.com/group/nokogiri-talk
530
- * HTML fragments now correctly handle comments and CDATA blocks. GH #78
531
- * Nokogiri::XML::Document#clone is now an alias of dup
532
-
533
- * Deprecations
534
-
535
- * Nokogiri::XML::SAX::Document#start_element_ns is deprecated, please switch
536
- to Nokogiri::XML::SAX::Document#start_element_namespace
537
- * Nokogiri::XML::SAX::Document#end_element_ns is deprecated, please switch
538
- to Nokogiri::XML::SAX::Document#end_element_namespace
539
-
540
-
541
- === 1.3.1 / 2009-06-07
542
-
543
- * Bugfixes
544
-
545
- * extconf.rb checks for optional RelaxNG and Schema functions
546
- * Namespace nodes are added to the Document node cache
547
-
548
-
549
- === 1.3.0 / 2009-05-30
550
-
551
- * New Features
552
-
553
- * Builder changes scope based on block arity
554
- * Builder supports methods ending in underscore similar to tagz
555
- * Nokogiri::XML::Node#<=> compares nodes based on Document position
556
- * Nokogiri::XML::Node#matches? returns true if Node can be found with
557
- given selector.
558
- * Nokogiri::XML::Node#ancestors now returns an Nokogiri::XML::NodeSet
559
- * Nokogiri::XML::Node#ancestors will match parents against optional selector
560
- * Nokogiri::HTML::Document#meta_encoding for getting the meta encoding
561
- * Nokogiri::HTML::Document#meta_encoding= for setting the meta encoding
562
- * Nokogiri::XML::Document#encoding= to set the document encoding
563
- * Nokogiri::XML::Schema for validating documents against XSD schema
564
- * Nokogiri::XML::RelaxNG for validating documents against RelaxNG schema
565
- * Nokogiri::HTML::ElementDescription for fetching HTML element descriptions
566
- * Nokogiri::XML::Node#description to fetch the node description
567
- * Nokogiri::XML::Node#accept implements Visitor pattern
568
- * bin/nokogiri for easily examining documents (Thanks Yutaka HARA!)
569
- * Nokogiri::XML::NodeSet now supports more Array and Enumerable operators:
570
- index, delete, slice, - (difference), + (concatenation), & (intersection),
571
- push, pop, shift, ==
572
- * Nokogiri.XML, Nokogiri.HTML take blocks that receive
573
- Nokogiri::XML::ParseOptions objects
574
- * Nokogiri::XML::Node#namespace returns a Nokogiri::XML::Namespace
575
- * Nokogiri::XML::Node#namespace= for setting a node's namespace
576
- * Nokogiri::XML::DocumentFragment and Nokogiri::HTML::DocumentFragment
577
- have a sensible API and a more robust implementation.
578
- * JRuby 1.3.0 support via FFI.
579
-
580
- * Bugfixes
581
-
582
- * Fixed a problem with nil passed to CDATA constructor
583
- * Fragment method deals with regular expression characters
584
- (Thanks Joel!) LH #73
585
- * Fixing builder scope issues LH #61, LH #74, LH #70
586
- * Fixed a problem when adding a child could remove the child namespace LH#78
587
- * Fixed bug with unlinking a node then reparenting it. (GH#22)
588
- * Fixed failure to catch errors during XSLT parsing (GH#32)
589
- * Fixed a bug with attribute conditions in CSS selectors (GH#36)
590
- * Fixed intolerance of HTML attributes without values in Node#before/after/inner_html=. (GH#35)
591
-
592
-
593
- === 1.2.3 / 2009-03-22
594
-
595
- * Bugfixes
596
-
597
- * Fixing bug where a node is passed in to Node#new
598
- * Namespace should be assigned on DocumentFragment creation. LH #66
599
- * Nokogiri::XML::NodeSet#dup works GH #10
600
- * Nokogiri::HTML returns an empty Document when given a blank string GH#11
601
- * Adding a child will remove duplicate namespace declarations LH #67
602
- * Builder methods take a hash as a second argument
603
-
604
-
605
- === 1.2.2 / 2009-03-14
606
-
607
- * New features
608
-
609
- * Nokogiri may be used with soap4r. See XSD::XMLParser::Nokogiri
610
- * Nokogiri::XML::Node#inner_html= to set the inner html for a node
611
- * Nokogiri builder interface improvements
612
- * Nokogiri::XML::Node#swap swaps html for current node (LH #50)
613
-
614
- * Bugfixes
615
-
616
- * Fixed a tag nesting problem in the Builder API (LH #41)
617
- * Nokogiri::HTML.fragment will properly handle text only nodes (LH #43)
618
- * Nokogiri::XML::Node#before will prepend text nodes (LH #44)
619
- * Nokogiri::XML::Node#after will append text nodes
620
- * Nokogiri::XML::Node#search automatically registers root namespaces (LH #42)
621
- * Nokogiri::XML::NodeSet#search automatically registers namespaces
622
- * Nokogiri::HTML::NamedCharacters delegates to libxml2
623
- * Nokogiri::XML::Node#[] can take a symbol (LH #48)
624
- * vasprintf for windows updated. Thanks Geoffroy Couprie!
625
- * Nokogiri::XML::Node#[]= should not encode entities (LH #55)
626
- * Namespaces should be copied to reparented nodes (LH #56)
627
- * Nokogiri uses encoding set on the string for default in Ruby 1.9
628
- * Document#dup should create a new document of the same type (LH #59)
629
- * Document should not have a parent method (LH #64)
630
-
631
-
632
- === 1.2.1 / 2009-02-23
633
-
634
- * Bugfixes
635
-
636
- * Fixed a CSS selector space bug
637
- * Fixed Ruby 1.9 String Encoding (Thanks 角谷さん!)
638
-
639
-
640
- === 1.2.0 / 2009-02-22
641
-
642
- * New features
643
-
644
- * CSS search now supports CSS3 namespace queries
645
- * Namespaces on the root node are automatically registered
646
- * CSS queries use the default namespace
647
- * Nokogiri::XML::Document#encoding get encoding used for this document
648
- * Nokogiri::XML::Document#url get the document url
649
- * Nokogiri::XML::Node#add_namespace add a namespace to the node LH#38
650
- * Nokogiri::XML::Node#each iterate over attribute name, value pairs
651
- * Nokogiri::XML::Node#keys get all attribute names
652
- * Nokogiri::XML::Node#line get the line number for a node (Thanks Dirkjan Bussink!)
653
- * Nokogiri::XML::Node#serialize now takes an optional encoding parameter
654
- * Nokogiri::XML::Node#to_html, to_xml, and to_xhtml take an optional encoding
655
- * Nokogiri::XML::Node#to_str
656
- * Nokogiri::XML::Node#to_xhtml to produce XHTML documents
657
- * Nokogiri::XML::Node#values get all attribute values
658
- * Nokogiri::XML::Node#write_to writes the node to an IO object with optional encoding
659
- * Nokogiri::XML::ProcessingInstrunction.new
660
- * Nokogiri::XML::SAX::PushParser for all your push parsing needs.
661
-
662
- * Bugfixes
663
-
664
- * Fixed Nokogiri::XML::Document#dup
665
- * Fixed header detection. Thanks rubikitch!
666
- * Fixed a problem where invalid CSS would cause the parser to hang
667
-
668
- * Deprecations
669
-
670
- * Nokogiri::XML::Node.new_from_str will be deprecated in 1.3.0
671
-
672
- * API Changes
673
-
674
- * Nokogiri::HTML.fragment now returns an XML::DocumentFragment (LH #32)
675
-
676
-
677
- === 1.1.1
678
-
679
- * New features
680
-
681
- * Added XML::Node#elem?
682
- * Added XML::Node#attribute_nodes
683
- * Added XML::Attr
684
- * XML::Node#delete added.
685
- * XML::NodeSet#inner_html added.
686
-
687
- * Bugfixes
688
-
689
- * Not including an HTML entity for \r for HTML nodes.
690
- * Removed CSS::SelectorHandler and XML::XPathHandler
691
- * XML::Node#attributes returns an Attr node for the value.
692
- * XML::NodeSet implements to_xml
693
-
694
-
695
- === 1.1.0
696
-
697
- * New Features
698
-
699
- * Custom XPath functions are now supported. See Nokogiri::XML::Node#xpath
700
- * Custom CSS pseudo classes are now supported. See Nokogiri::XML::Node#css
701
- * Nokogiri::XML::Node#<< will add a child to the current node
702
-
703
- * Bugfixes
704
-
705
- * Mutex lock on CSS cache access
706
- * Fixed build problems with GCC 3.3.5
707
- * XML::Node#to_xml now takes an indentation argument
708
- * XML::Node#dup takes an optional depth argument
709
- * XML::Node#add_previous_sibling returns new sibling node.
710
-
711
-
712
- === 1.0.7
713
-
714
- * Bugfixes
715
-
716
- * Fixed memory leak when using Dike
717
- * SAX parser now parses IO streams
718
- * Comment nodes have their own class
719
- * Nokogiri() should delegate to Nokogiri.parse()
720
- * Prepending rather than appending to ENV['PATH'] on windows
721
- * Fixed a bug in complex CSS negation selectors
722
-
723
-
724
- === 1.0.6
725
-
726
- * 5 Bugfixes
727
-
728
- * XPath Parser raises a SyntaxError on parse failure
729
- * CSS Parser raises a SyntaxError on parse failure
730
- * filter() and not() hpricot compatibility added
731
- * CSS searches via Node#search are now always relative
732
- * CSS to XPath conversion is now cached
733
-
734
-
735
- === 1.0.5
736
-
737
- * Bugfixes
738
-
739
- * Added mailing list and ticket tracking information to the README.txt
740
- * Sets ENV['PATH'] on windows if it doesn't exist
741
- * Caching results of NodeSet#[] on Document
742
-
743
-
744
- === 1.0.4
745
-
746
- * Bugfixes
747
-
748
- * Changed memory management from weak refs to document refs
749
- * Plugged some memory leaks
750
- * Builder blocks can call methods from surrounding contexts
751
-
752
-
753
- === 1.0.3
754
-
755
- * 5 Bugfixes
756
-
757
- * NodeSet now implements to_ary
758
- * XML::Document should not implement parent
759
- * More GC Bugs fixed. (Mike is AWESOME!)
760
- * Removed RARRAY_LEN for 1.8.5 compatibility. Thanks Shane Hanna.
761
- * inner_html fixed. (Thanks Yehuda!)
762
-
763
-
764
- === 1.0.2
765
-
766
- * 1 Bugfix
767
-
768
- * extconf.rb should not check for frex and racc
769
-
770
-
771
- === 1.0.1
772
-
773
- * 1 Bugfix
774
-
775
- * Made sure extconf.rb searched libdir and prefix so that ports libxml/ruby
776
- will link properly. Thanks lucsky!
777
-
778
-
779
- === 1.0.0 / 2008-07-13
780
-
781
- * 1 major enhancement
782
-
783
- * Birthday!