nokogiri 1.6.0 → 1.13.2

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