html-to-markdown 2.24.6 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/ext/html-to-markdown-rb/native/Cargo.lock +3 -26
  4. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
  5. data/lib/html_to_markdown/version.rb +1 -1
  6. data/rust-vendor/html-to-markdown-rs/Cargo.toml +0 -1
  7. data/rust-vendor/html-to-markdown-rs/src/converter/main_helpers.rs +1 -1
  8. data/rust-vendor/html-to-markdown-rs/src/lib.rs +1 -0
  9. data/rust-vendor/{markup5ever_rcdom/lib.rs → html-to-markdown-rs/src/rcdom.rs} +53 -91
  10. data/rust-vendor/png/.cargo-checksum.json +1 -1
  11. data/rust-vendor/png/.cargo_vcs_info.json +1 -1
  12. data/rust-vendor/png/CHANGES.md +44 -0
  13. data/rust-vendor/png/Cargo.lock +124 -171
  14. data/rust-vendor/png/Cargo.toml +1 -1
  15. data/rust-vendor/png/Cargo.toml.orig +1 -1
  16. data/rust-vendor/png/benches/expand_paletted.rs +5 -5
  17. data/rust-vendor/png/benches/unfilter.rs +3 -3
  18. data/rust-vendor/png/src/adam7.rs +17 -10
  19. data/rust-vendor/png/src/common.rs +8 -8
  20. data/rust-vendor/png/src/decoder/mod.rs +53 -20
  21. data/rust-vendor/png/src/decoder/stream.rs +263 -78
  22. data/rust-vendor/png/src/decoder/unfiltering_buffer.rs +210 -53
  23. data/rust-vendor/png/src/decoder/zlib.rs +130 -90
  24. data/rust-vendor/png/src/encoder.rs +4 -2
  25. data/rust-vendor/png/src/{filter.rs → filter/mod.rs} +100 -367
  26. data/rust-vendor/png/src/filter/optimization-notes.md +104 -0
  27. data/rust-vendor/png/src/filter/paeth.rs +398 -0
  28. data/rust-vendor/png/src/filter/simd.rs +308 -0
  29. data/rust-vendor/png/src/lib.rs +1 -0
  30. metadata +7 -177
  31. data/rust-vendor/markup5ever_rcdom/.cargo-checksum.json +0 -1
  32. data/rust-vendor/markup5ever_rcdom/.cargo_vcs_info.json +0 -7
  33. data/rust-vendor/markup5ever_rcdom/Cargo.lock +0 -658
  34. data/rust-vendor/markup5ever_rcdom/Cargo.toml +0 -109
  35. data/rust-vendor/markup5ever_rcdom/Cargo.toml.orig +0 -42
  36. data/rust-vendor/markup5ever_rcdom/LICENSE-APACHE +0 -201
  37. data/rust-vendor/markup5ever_rcdom/LICENSE-MIT +0 -25
  38. data/rust-vendor/markup5ever_rcdom/README.md +0 -7
  39. data/rust-vendor/markup5ever_rcdom/custom-html5lib-tokenizer-tests/regression.test +0 -69
  40. data/rust-vendor/markup5ever_rcdom/data/test/ignore +0 -1
  41. data/rust-vendor/markup5ever_rcdom/examples/hello_xml.rs +0 -39
  42. data/rust-vendor/markup5ever_rcdom/examples/html2html.rs +0 -51
  43. data/rust-vendor/markup5ever_rcdom/examples/print-rcdom.rs +0 -78
  44. data/rust-vendor/markup5ever_rcdom/examples/xml_tree_printer.rs +0 -67
  45. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.gitattributes +0 -2
  46. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.github/workflows/downstream.yml +0 -76
  47. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.github/workflows/lint.yml +0 -25
  48. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.gitignore +0 -79
  49. data/rust-vendor/markup5ever_rcdom/html5lib-tests/AUTHORS.rst +0 -34
  50. data/rust-vendor/markup5ever_rcdom/html5lib-tests/LICENSE +0 -21
  51. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/chardet/test_big5.txt +0 -51
  52. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/scripted/tests1.dat +0 -5
  53. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/test-yahoo-jp.dat +0 -10
  54. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/tests1.dat +0 -388
  55. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/tests2.dat +0 -115
  56. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint +0 -6
  57. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/__init__.py +0 -0
  58. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/__init__.py +0 -0
  59. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/LICENSE +0 -18
  60. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/__init__.py +0 -0
  61. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/lexer.py +0 -211
  62. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/lexer.pyi +0 -34
  63. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/parser.py +0 -872
  64. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/parser.pyi +0 -83
  65. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/py.typed +0 -0
  66. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/util.py +0 -72
  67. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/util.pyi +0 -7
  68. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/vendor.txt +0 -1
  69. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor-patches/funcparserlib.patch +0 -24
  70. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/lint.py +0 -280
  71. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/parser.py +0 -177
  72. data/rust-vendor/markup5ever_rcdom/html5lib-tests/pyproject.toml +0 -7
  73. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/core.test +0 -125
  74. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/injectmeta.test +0 -66
  75. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/optionaltags.test +0 -965
  76. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/options.test +0 -60
  77. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/whitespace.test +0 -51
  78. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/README.md +0 -107
  79. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/contentModelFlags.test +0 -93
  80. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/domjs.test +0 -335
  81. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/entities.test +0 -542
  82. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/escapeFlag.test +0 -36
  83. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/namedEntities.test +0 -42422
  84. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/numericEntities.test +0 -1677
  85. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/pendingSpecChanges.test +0 -9
  86. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test1.test +0 -353
  87. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test2.test +0 -275
  88. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test3.test +0 -11233
  89. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test4.test +0 -532
  90. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/unicodeChars.test +0 -1577
  91. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/unicodeCharsProblematic.test +0 -41
  92. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/xmlViolation.test +0 -20
  93. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/README.md +0 -108
  94. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/adoption01.dat +0 -354
  95. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/adoption02.dat +0 -39
  96. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/blocks.dat +0 -695
  97. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/comments01.dat +0 -217
  98. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/doctype01.dat +0 -474
  99. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/domjs-unsafe.dat +0 -0
  100. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/entities01.dat +0 -943
  101. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/entities02.dat +0 -309
  102. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/foreign-fragment.dat +0 -645
  103. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/html5test-com.dat +0 -301
  104. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/inbody01.dat +0 -54
  105. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/isindex.dat +0 -49
  106. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/main-element.dat +0 -46
  107. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/math.dat +0 -104
  108. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/menuitem-element.dat +0 -240
  109. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/namespace-sensitivity.dat +0 -22
  110. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/noscript01.dat +0 -237
  111. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat +0 -0
  112. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/pending-spec-changes.dat +0 -46
  113. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/plain-text-unsafe.dat +0 -0
  114. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/quirks01.dat +0 -53
  115. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/ruby.dat +0 -302
  116. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scriptdata01.dat +0 -372
  117. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/adoption01.dat +0 -16
  118. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/ark.dat +0 -27
  119. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/webkit01.dat +0 -30
  120. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/search-element.dat +0 -46
  121. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/svg.dat +0 -104
  122. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tables01.dat +0 -322
  123. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/template.dat +0 -1673
  124. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests1.dat +0 -1956
  125. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests10.dat +0 -849
  126. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests11.dat +0 -523
  127. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests12.dat +0 -62
  128. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests14.dat +0 -75
  129. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests15.dat +0 -216
  130. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests16.dat +0 -2602
  131. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests17.dat +0 -179
  132. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests18.dat +0 -558
  133. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests19.dat +0 -1398
  134. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests2.dat +0 -831
  135. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests20.dat +0 -842
  136. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests21.dat +0 -306
  137. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests22.dat +0 -190
  138. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests23.dat +0 -168
  139. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests24.dat +0 -79
  140. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests25.dat +0 -288
  141. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests26.dat +0 -453
  142. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests3.dat +0 -305
  143. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests4.dat +0 -74
  144. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests5.dat +0 -210
  145. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests6.dat +0 -663
  146. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests7.dat +0 -453
  147. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests8.dat +0 -165
  148. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests9.dat +0 -472
  149. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests_innerHTML_1.dat +0 -843
  150. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tricky01.dat +0 -336
  151. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/webkit01.dat +0 -785
  152. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/webkit02.dat +0 -554
  153. data/rust-vendor/markup5ever_rcdom/tests/foreach_html5lib_test/mod.rs +0 -41
  154. data/rust-vendor/markup5ever_rcdom/tests/html-driver.rs +0 -29
  155. data/rust-vendor/markup5ever_rcdom/tests/html-serializer.rs +0 -265
  156. data/rust-vendor/markup5ever_rcdom/tests/html-tokenizer.rs +0 -487
  157. data/rust-vendor/markup5ever_rcdom/tests/html-tree-builder.rs +0 -298
  158. data/rust-vendor/markup5ever_rcdom/tests/html-tree-sink.rs +0 -141
  159. data/rust-vendor/markup5ever_rcdom/tests/util/find_tests.rs +0 -34
  160. data/rust-vendor/markup5ever_rcdom/tests/util/runner.rs +0 -48
  161. data/rust-vendor/markup5ever_rcdom/tests/xml-driver.rs +0 -101
  162. data/rust-vendor/markup5ever_rcdom/tests/xml-tokenizer.rs +0 -374
  163. data/rust-vendor/markup5ever_rcdom/tests/xml-tree-builder.rs +0 -237
  164. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/AUTHORS.rst +0 -9
  165. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/LICENSE +0 -21
  166. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/README.md +0 -92
  167. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/comments.test +0 -274
  168. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/doctype.test +0 -3232
  169. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/entities.test +0 -283
  170. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/eof.test +0 -113
  171. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/namedEntities.test +0 -42210
  172. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/numericEntities.test +0 -1349
  173. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/test1.test +0 -162
  174. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/test2.test +0 -64
  175. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/unicodeChars.test +0 -1295
  176. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/README.md +0 -104
  177. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/namespace.dat +0 -119
  178. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/test1.dat +0 -124
  179. data/rust-vendor/xml5ever/.cargo-checksum.json +0 -1
  180. data/rust-vendor/xml5ever/.cargo_vcs_info.json +0 -6
  181. data/rust-vendor/xml5ever/Cargo.lock +0 -752
  182. data/rust-vendor/xml5ever/Cargo.toml +0 -69
  183. data/rust-vendor/xml5ever/Cargo.toml.orig +0 -29
  184. data/rust-vendor/xml5ever/LICENSE-APACHE +0 -201
  185. data/rust-vendor/xml5ever/LICENSE-MIT +0 -25
  186. data/rust-vendor/xml5ever/README.md +0 -72
  187. data/rust-vendor/xml5ever/benches/xml5ever.rs +0 -77
  188. data/rust-vendor/xml5ever/data/bench/strong.xml +0 -1
  189. data/rust-vendor/xml5ever/examples/README.md +0 -223
  190. data/rust-vendor/xml5ever/examples/example.xml +0 -3
  191. data/rust-vendor/xml5ever/examples/simple_xml_tokenizer.rs +0 -81
  192. data/rust-vendor/xml5ever/examples/xml_tokenizer.rs +0 -115
  193. data/rust-vendor/xml5ever/src/driver.rs +0 -90
  194. data/rust-vendor/xml5ever/src/lib.rs +0 -47
  195. data/rust-vendor/xml5ever/src/macros.rs +0 -18
  196. data/rust-vendor/xml5ever/src/serialize/mod.rs +0 -216
  197. data/rust-vendor/xml5ever/src/tokenizer/char_ref/mod.rs +0 -456
  198. data/rust-vendor/xml5ever/src/tokenizer/interface.rs +0 -116
  199. data/rust-vendor/xml5ever/src/tokenizer/mod.rs +0 -1344
  200. data/rust-vendor/xml5ever/src/tokenizer/qname.rs +0 -84
  201. data/rust-vendor/xml5ever/src/tokenizer/states.rs +0 -167
  202. data/rust-vendor/xml5ever/src/tree_builder/mod.rs +0 -774
  203. data/rust-vendor/xml5ever/src/tree_builder/types.rs +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0cc6e5553ec13a221908d7529f53e0caa8d190df56523e7dab5b5852d229c9ef
4
- data.tar.gz: 9543fca98f17d95285d97e5421565d604ee6c3e29ff1007a9af1692af5742ffc
3
+ metadata.gz: 7e2a6b4dc4a14279490cf7f5b7f0bd006a749e66b4687fb30184a8c16e80b2a2
4
+ data.tar.gz: d8349390b59f2a226247d1f8ff365f75fe289e932ae96caa1d48a604f9f47657
5
5
  SHA512:
6
- metadata.gz: 948a72a00eceee87691aa3a20965d8fdde6cefb21ad465b46faed0fbec148915cad1573d98689de75c9d183528d90f1a118969d1857940d886884948195f6b4b
7
- data.tar.gz: 91425e85e5df7fc997e6b1a091103166da1270a55d700ecfdaa1c4273d7029f98d06501d593eac594b6fd1420fd55fd331b37a62e299dc330805c3c0e1fa031a
6
+ metadata.gz: 2f82461ef3c803f0eee6d27df11cb4149ab2c95099f77b1cb4e3625b80ed0960e206255f7060d064cc415233da66ad150ca809080ccda7f9b5469d7c106a1a08
7
+ data.tar.gz: ce73421a79bd75bdfa169059ba09233dec15be209bacfb06c1c4e73866e1777392c7f8070ea494c643d942c7f56d054e5d4d76125f6a5d4ff1d3fbc0234beda8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- html-to-markdown (2.24.6)
4
+ html-to-markdown (2.25.0)
5
5
  rb_sys (>= 0.9, < 1.0)
6
6
 
7
7
  GEM
@@ -161,7 +161,7 @@ CHECKSUMS
161
161
  ffi (1.17.3-x86_64-darwin) sha256=1f211811eb5cfaa25998322cdd92ab104bfbd26d1c4c08471599c511f2c00bb5
162
162
  ffi (1.17.3-x86_64-linux-gnu) sha256=3746b01f677aae7b16dc1acb7cb3cc17b3e35bdae7676a3f568153fb0e2c887f
163
163
  fileutils (1.8.0) sha256=8c6b1df54e2540bdb2f39258f08af78853aa70bad52b4d394bbc6424593c6e02
164
- html-to-markdown (2.24.6)
164
+ html-to-markdown (2.25.0)
165
165
  i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
166
166
  json (2.18.1) sha256=fe112755501b8d0466b5ada6cf50c8c3f41e897fa128ac5d263ec09eedc9f986
167
167
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
@@ -424,7 +424,7 @@ dependencies = [
424
424
 
425
425
  [[package]]
426
426
  name = "html-to-markdown-rb"
427
- version = "2.24.6"
427
+ version = "2.25.0"
428
428
  dependencies = [
429
429
  "html-to-markdown-rs",
430
430
  "magnus",
@@ -443,7 +443,6 @@ dependencies = [
443
443
  "html5ever",
444
444
  "image",
445
445
  "lru",
446
- "markup5ever_rcdom",
447
446
  "once_cell",
448
447
  "regex",
449
448
  "serde",
@@ -663,18 +662,6 @@ dependencies = [
663
662
  "web_atoms",
664
663
  ]
665
664
 
666
- [[package]]
667
- name = "markup5ever_rcdom"
668
- version = "0.36.0+unofficial"
669
- source = "registry+https://github.com/rust-lang/crates.io-index"
670
- checksum = "3e5fc8802e8797c0dfdd2ce5c21aa0aee21abbc7b3b18559100651b3352a7b63"
671
- dependencies = [
672
- "html5ever",
673
- "markup5ever",
674
- "tendril",
675
- "xml5ever",
676
- ]
677
-
678
665
  [[package]]
679
666
  name = "memchr"
680
667
  version = "2.8.0"
@@ -841,9 +828,9 @@ dependencies = [
841
828
 
842
829
  [[package]]
843
830
  name = "png"
844
- version = "0.18.0"
831
+ version = "0.18.1"
845
832
  source = "registry+https://github.com/rust-lang/crates.io-index"
846
- checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"
833
+ checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"
847
834
  dependencies = [
848
835
  "bitflags 2.11.0",
849
836
  "crc32fast",
@@ -1556,16 +1543,6 @@ dependencies = [
1556
1543
  "wasmparser",
1557
1544
  ]
1558
1545
 
1559
- [[package]]
1560
- name = "xml5ever"
1561
- version = "0.36.1"
1562
- source = "registry+https://github.com/rust-lang/crates.io-index"
1563
- checksum = "f57dd51b88a4b9f99f9b55b136abb86210629d61c48117ddb87f567e51e66be7"
1564
- dependencies = [
1565
- "log",
1566
- "markup5ever",
1567
- ]
1568
-
1569
1546
  [[package]]
1570
1547
  name = "yansi"
1571
1548
  version = "1.0.1"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "html-to-markdown-rb"
3
- version ="2.24.6"
3
+ version ="2.25.0"
4
4
  edition = "2024"
5
5
  authors = ["Na'aman Hirschfeld <naaman@kreuzberg.dev>"]
6
6
  license = "MIT"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HtmlToMarkdown
4
- VERSION = '2.24.6'
4
+ VERSION = '2.25.0'
5
5
  end
@@ -35,7 +35,6 @@ ahash = "0.8"
35
35
  html-escape = "0.2.13"
36
36
  image = { version = "0.25", default-features = false, features = ["gif", "jpeg", "png", "bmp", "webp"], optional = true }
37
37
  html5ever = "0.36"
38
- markup5ever_rcdom = "0.36"
39
38
  lru = "0.16"
40
39
  serde = { version = "1.0", features = ["derive"], optional = true }
41
40
  serde_json = { version = "1.0", optional = true }
@@ -101,9 +101,9 @@ pub fn has_custom_element_tags(html: &str) -> bool {
101
101
  ///
102
102
  /// Returns Some(repaired_html) if repair was successful, None otherwise.
103
103
  pub fn repair_with_html5ever(input: &str) -> Option<String> {
104
+ use crate::rcdom::{RcDom, SerializableHandle};
104
105
  use html5ever::serialize::{SerializeOpts, serialize};
105
106
  use html5ever::tendril::TendrilSink;
106
- use markup5ever_rcdom::{RcDom, SerializableHandle};
107
107
 
108
108
  let dom = html5ever::parse_document(RcDom::default(), Default::default())
109
109
  .from_utf8()
@@ -68,6 +68,7 @@ pub mod wrapper;
68
68
  mod convert_api;
69
69
  mod exports;
70
70
  pub mod prelude;
71
+ mod rcdom;
71
72
  mod validation;
72
73
 
73
74
  // ============================================================================
@@ -1,43 +1,36 @@
1
- // Copyright 2014-2017 The html5ever Project Developers. See the
2
- // COPYRIGHT file at the top-level directory of this distribution.
1
+ // Vendored from markup5ever_rcdom v0.36.0+unofficial
2
+ // Original source: https://github.com/servo/html5ever (rcdom/)
3
+ // Copyright (c) 2014 The html5ever Project Developers
4
+ // Licensed under MIT OR Apache-2.0 (see ATTRIBUTIONS.md)
3
5
  //
4
- // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
5
- // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
6
- // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
7
- // option. This file may not be copied, modified, or distributed
8
- // except according to those terms.
6
+ // Vendored to:
7
+ // - Remove unused xml5ever transitive dependency
8
+ // - Eliminate pinned external dependency on "+unofficial" crate
9
+ // - Gain full control over this small, critical module
10
+ //
11
+ // Changes from upstream:
12
+ // - Replaced `extern crate markup5ever` / `extern crate tendril` with
13
+ // `use` imports through `html5ever` (edition 2024 compatibility)
14
+ // - Added module-level clippy allows for vendored code style
15
+
16
+ #![allow(
17
+ clippy::panic,
18
+ clippy::expect_used,
19
+ clippy::missing_panics_doc,
20
+ clippy::must_use_candidate,
21
+ clippy::return_self_not_must_use,
22
+ clippy::module_name_repetitions,
23
+ clippy::redundant_else,
24
+ clippy::match_wildcard_for_single_variants,
25
+ clippy::similar_names,
26
+ clippy::items_after_statements,
27
+ missing_docs
28
+ )]
9
29
 
10
30
  //! A simple reference-counted DOM.
11
31
  //!
12
32
  //! This is sufficient as a static parse tree, but don't build a
13
33
  //! web browser using it. :)
14
- //!
15
- //! A DOM is a [tree structure] with ordered children that can be represented in an XML-like
16
- //! format. For example, the following graph
17
- //!
18
- //! ```text
19
- //! div
20
- //! +- "text node"
21
- //! +- span
22
- //! ```
23
- //! in HTML would be serialized as
24
- //!
25
- //! ```html
26
- //! <div>text node<span></span></div>
27
- //! ```
28
- //!
29
- //! See the [document object model article on wikipedia][dom wiki] for more information.
30
- //!
31
- //! This implementation stores the information associated with each node once, and then hands out
32
- //! refs to children. The nodes themselves are reference-counted to avoid copying - you can create
33
- //! a new ref and then a node will outlive the document. Nodes own their children, but only have
34
- //! weak references to their parents.
35
- //!
36
- //! [tree structure]: https://en.wikipedia.org/wiki/Tree_(data_structure)
37
- //! [dom wiki]: https://en.wikipedia.org/wiki/Document_Object_Model
38
-
39
- extern crate markup5ever;
40
- extern crate tendril;
41
34
 
42
35
  use std::borrow::Cow;
43
36
  use std::cell::{Cell, RefCell};
@@ -48,16 +41,16 @@ use std::io;
48
41
  use std::mem;
49
42
  use std::rc::{Rc, Weak};
50
43
 
51
- use tendril::StrTendril;
44
+ use html5ever::tendril::StrTendril;
52
45
 
53
- use markup5ever::interface::tree_builder;
54
- use markup5ever::interface::tree_builder::{ElementFlags, NodeOrText, QuirksMode, TreeSink};
55
- use markup5ever::serialize::TraversalScope;
56
- use markup5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode};
57
- use markup5ever::serialize::{Serialize, Serializer};
58
- use markup5ever::Attribute;
59
- use markup5ever::ExpandedName;
60
- use markup5ever::QualName;
46
+ use html5ever::Attribute;
47
+ use html5ever::ExpandedName;
48
+ use html5ever::QualName;
49
+ use html5ever::interface::tree_builder;
50
+ use html5ever::interface::tree_builder::{ElementFlags, NodeOrText, QuirksMode, TreeSink};
51
+ use html5ever::serialize::TraversalScope;
52
+ use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode};
53
+ use html5ever::serialize::{Serialize, Serializer};
61
54
 
62
55
  /// The different kinds of nodes in the DOM.
63
56
  #[derive(Debug)]
@@ -98,10 +91,7 @@ pub enum NodeData {
98
91
  },
99
92
 
100
93
  /// A Processing instruction.
101
- ProcessingInstruction {
102
- target: StrTendril,
103
- contents: StrTendril,
104
- },
94
+ ProcessingInstruction { target: StrTendril, contents: StrTendril },
105
95
  }
106
96
 
107
97
  /// A DOM node.
@@ -130,10 +120,9 @@ impl Drop for Node {
130
120
  let mut nodes = mem::take(&mut *self.children.borrow_mut());
131
121
  while let Some(node) = nodes.pop() {
132
122
  let children = mem::take(&mut *node.children.borrow_mut());
133
- nodes.extend(children.into_iter());
123
+ nodes.extend(children);
134
124
  if let NodeData::Element {
135
- ref template_contents,
136
- ..
125
+ ref template_contents, ..
137
126
  } = node.data
138
127
  {
139
128
  if let Some(template_contents) = template_contents.borrow_mut().take() {
@@ -193,7 +182,7 @@ fn append_to_existing_text(prev: &Handle, text: &str) -> bool {
193
182
  NodeData::Text { ref contents } => {
194
183
  contents.borrow_mut().push_slice(text);
195
184
  true
196
- },
185
+ }
197
186
  _ => false,
198
187
  }
199
188
  }
@@ -240,8 +229,7 @@ impl TreeSink for RcDom {
240
229
 
241
230
  fn get_template_contents(&self, target: &Handle) -> Handle {
242
231
  if let NodeData::Element {
243
- ref template_contents,
244
- ..
232
+ ref template_contents, ..
245
233
  } = target.data
246
234
  {
247
235
  template_contents
@@ -287,10 +275,7 @@ impl TreeSink for RcDom {
287
275
  }
288
276
 
289
277
  fn create_pi(&self, target: StrTendril, data: StrTendril) -> Handle {
290
- Node::new(NodeData::ProcessingInstruction {
291
- target,
292
- contents: data,
293
- })
278
+ Node::new(NodeData::ProcessingInstruction { target, contents: data })
294
279
  }
295
280
 
296
281
  fn append(&self, parent: &Handle, child: NodeOrText<Handle>) {
@@ -315,8 +300,7 @@ impl TreeSink for RcDom {
315
300
  }
316
301
 
317
302
  fn append_before_sibling(&self, sibling: &Handle, child: NodeOrText<Handle>) {
318
- let (parent, i) = get_parent_and_index(sibling)
319
- .expect("append_before_sibling called on node without parent");
303
+ let (parent, i) = get_parent_and_index(sibling).expect("append_before_sibling called on node without parent");
320
304
 
321
305
  let child = match (child, i) {
322
306
  // No previous node.
@@ -334,7 +318,7 @@ impl TreeSink for RcDom {
334
318
  Node::new(NodeData::Text {
335
319
  contents: RefCell::new(text),
336
320
  })
337
- },
321
+ }
338
322
 
339
323
  // The tree builder promises we won't have a text node after
340
324
  // the insertion point.
@@ -366,12 +350,7 @@ impl TreeSink for RcDom {
366
350
  }
367
351
  }
368
352
 
369
- fn append_doctype_to_document(
370
- &self,
371
- name: StrTendril,
372
- public_id: StrTendril,
373
- system_id: StrTendril,
374
- ) {
353
+ fn append_doctype_to_document(&self, name: StrTendril, public_id: StrTendril, system_id: StrTendril) {
375
354
  append(
376
355
  &self.document,
377
356
  Node::new(NodeData::Doctype {
@@ -389,15 +368,8 @@ impl TreeSink for RcDom {
389
368
  panic!("not an element")
390
369
  };
391
370
 
392
- let existing_names = existing
393
- .iter()
394
- .map(|e| e.name.clone())
395
- .collect::<HashSet<_>>();
396
- existing.extend(
397
- attrs
398
- .into_iter()
399
- .filter(|attr| !existing_names.contains(&attr.name)),
400
- );
371
+ let existing_names = existing.iter().map(|e| e.name.clone()).collect::<HashSet<_>>();
372
+ existing.extend(attrs.into_iter().filter(|attr| !existing_names.contains(&attr.name)));
401
373
  }
402
374
 
403
375
  fn remove_from_parent(&self, target: &Handle) {
@@ -461,27 +433,17 @@ impl Serialize for SerializableHandle {
461
433
  let mut ops = VecDeque::new();
462
434
  match traversal_scope {
463
435
  IncludeNode => ops.push_back(SerializeOp::Open(self.0.clone())),
464
- ChildrenOnly(_) => ops.extend(
465
- self.0
466
- .children
467
- .borrow()
468
- .iter()
469
- .map(|h| SerializeOp::Open(h.clone())),
470
- ),
436
+ ChildrenOnly(_) => ops.extend(self.0.children.borrow().iter().map(|h| SerializeOp::Open(h.clone()))),
471
437
  }
472
438
 
473
439
  while let Some(op) = ops.pop_front() {
474
440
  match op {
475
441
  SerializeOp::Open(handle) => match handle.data {
476
442
  NodeData::Element {
477
- ref name,
478
- ref attrs,
479
- ..
443
+ ref name, ref attrs, ..
480
444
  } => {
481
- serializer.start_elem(
482
- name.clone(),
483
- attrs.borrow().iter().map(|at| (&at.name, &at.value[..])),
484
- )?;
445
+ serializer
446
+ .start_elem(name.clone(), attrs.borrow().iter().map(|at| (&at.name, &at.value[..])))?;
485
447
 
486
448
  ops.reserve(1 + handle.children.borrow().len());
487
449
  ops.push_front(SerializeOp::Close(name.clone()));
@@ -489,7 +451,7 @@ impl Serialize for SerializableHandle {
489
451
  for child in handle.children.borrow().iter().rev() {
490
452
  ops.push_front(SerializeOp::Open(child.clone()));
491
453
  }
492
- },
454
+ }
493
455
 
494
456
  NodeData::Doctype { ref name, .. } => serializer.write_doctype(name)?,
495
457
 
@@ -507,7 +469,7 @@ impl Serialize for SerializableHandle {
507
469
 
508
470
  SerializeOp::Close(name) => {
509
471
  serializer.end_elem(name)?;
510
- },
472
+ }
511
473
  }
512
474
  }
513
475
 
@@ -1 +1 @@
1
- {"files":{".cargo_vcs_info.json":"a91fcad138a986e75f1b1969eb9a7ea09f54c3e8ba0e980506935a0694fd55cf","CHANGES.md":"10f69a3816c2e3ad5000190eacbfbdff49443a1ea4e857c0d76f47b90bfa6f4a","Cargo.lock":"ec5134bceca1b6cb6106843edad4abd9b17f4e11c095a622a2c4924f172187bf","Cargo.toml":"49f6371a3cb2902abffd8f1695d76ffa4c73c5c50c9302f799b9f31f9b45bb36","Cargo.toml.orig":"b0b9532d5a2b9103fac3d1ce049d7270de530a8182e9bbb033cc02d3f1741a5e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"eaf40297c75da471f7cda1f3458e8d91b4b2ec866e609527a13acfa93b638652","README.md":"2a69e61783cf6433b712acfe5b32ba1c539f947ccd00b1c07312d5eec3445b46","benches/README.md":"0c60c3d497abdf6c032863aa47da41bc6bb4f5ff696d45dec0e6eb33459b14b0","benches/adam7.rs":"ac81f74f2547790f85b09344d79f881718353b31bcb39402b115582df408701c","benches/decoder.rs":"390e75054ee3a4237a57aa255ac35429f3d81c1d2fc18bd0464fbc13e85b1f8c","benches/expand_paletted.rs":"945123a752835f13a4cc1c82470602183f9613c71b1e81f6a8096e2bb227423b","benches/unfilter.rs":"9186de79e6eef9df127f22051180c8286b75a7409c9d13b15be63dd1ad62e3f9","examples/change-png-info.rs":"bc4f3d7af7cee03714e80c3d58f5633f24b3406721af8eedd0a72ac78da6356f","examples/corpus-bench.rs":"b994744b00335536903408bc95fa203b637ee5401e568b6043d1e86fd234007e","examples/png-generate.rs":"e4cca06b9cc3291b52261d88a2e016940620b613fc1402bb54ccc68f73026a96","examples/pngcheck.rs":"575084dc9fe8754677f9875c0b1790c3f52adb58c19de63b59d28f6fea47dd71","src/adam7.rs":"60cb6d675d95a0f193b0aadf38c43404d38a726f4dec63d13e0744a8db4c384c","src/benchable_apis.rs":"be9c486ebaaa698517b7c0ac5c4d9ecf812eee4e6454bd32dfcb790048b3a0f9","src/chunk.rs":"3bfd87e49b951e0ec4372e34d6374a4813cb499f89104f2a20e109c95b63a2ac","src/common.rs":"f7289605ac9034a31033a844d8abc6c362f23fcd19cbf636b5bd5e191a0c4d53","src/decoder/interlace_info.rs":"ab953aabc548af9bdafdefcaeacf19bced6010ea15831039d47715661010c1d2","src/decoder/mod.rs":"db5e8258b9517cea28188f6d43a387cc161454f758c6e29449d8b7476f5866cd","src/decoder/read_decoder.rs":"ddde714e6ee17298850f934fd2328f7095cd3c9d096930867edef0bfab91cc5d","src/decoder/stream.rs":"80f529c8924e72cf8c72f0671aa2327939e3fe688e8b4b22c79983593e69b65b","src/decoder/transform.rs":"3ec21b666d543fc6e2203313663a0214837cb5dc5bdb32d4a3c23d4a8567cecf","src/decoder/transform/palette.rs":"8eed7854aa122c1ecf8f3f41e2cccdc08d60a0c323f3ef16c3dd5f1710bde38a","src/decoder/unfiltering_buffer.rs":"d8753a284cf2f962bc56bf8f22ea8aba763b5f04734860e9515768e056091bd6","src/decoder/zlib.rs":"c6b6df0d1ff9b7aa6fea6636eda49ddfa2952c88f71208950706b6368e7da999","src/encoder.rs":"31cfcb7f39b1ec4495a906046819d52405aab3f21fc9bef2b2c2228aa5fb40a1","src/filter.rs":"1d3e23c1914723fc6e86a3c34a0c9af97fe776e0050ed6d733976af6f9fd1ac8","src/lib.rs":"750d56a7859502bf55e8f4050621f097e5c5ef36bd2be88f44aa44b7a1adc67c","src/srgb.rs":"da1609902064016853410633926d316b5289d4bbe1fa469b21f116c1c1b2c18e","src/test_utils.rs":"9002657a02768d68fef55041629f4b0067570fa93e2ed91e40367dca60eed91c","src/text_metadata.rs":"1df449a40f1798daf5b77195cccc644d3d5ae0e5cc629d71b5399b457b1438a8","src/traits.rs":"79d357244e493f5174ca11873b0d5c443fd4a5e6e1f7c6df400a1767c5ad05b2"},"package":"97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"}
1
+ {"files":{".cargo_vcs_info.json":"8773db20f33df731c5464d83badcfd31e799f11384d0fc0bab063950fb8d077a","CHANGES.md":"28d2e4a7019e2c275c27c8626ef663f795e3ca8715356838ff0badcead09697b","Cargo.lock":"f0e0210e2060f90cc4e7f64770b50a26e345cbf1acd5be6e36d8b836d9393fd1","Cargo.toml":"642c5d3c2bf538404cf1d5c4aac254d033e0854af844610435fd13e910bf93aa","Cargo.toml.orig":"9cdbefa37506d26968c74e93355c29d8471ec961ebcadb0fdde25bb0e98870f0","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"eaf40297c75da471f7cda1f3458e8d91b4b2ec866e609527a13acfa93b638652","README.md":"2a69e61783cf6433b712acfe5b32ba1c539f947ccd00b1c07312d5eec3445b46","benches/README.md":"0c60c3d497abdf6c032863aa47da41bc6bb4f5ff696d45dec0e6eb33459b14b0","benches/adam7.rs":"ac81f74f2547790f85b09344d79f881718353b31bcb39402b115582df408701c","benches/decoder.rs":"390e75054ee3a4237a57aa255ac35429f3d81c1d2fc18bd0464fbc13e85b1f8c","benches/expand_paletted.rs":"71922dd42055283ec388264c3bf22b985763cfbcf905c0e106a3f412ddac13e0","benches/unfilter.rs":"ad5946ec7bdaed852eb210df3cc6efa8584de76836e7154f9a47cb274fc7627f","examples/change-png-info.rs":"bc4f3d7af7cee03714e80c3d58f5633f24b3406721af8eedd0a72ac78da6356f","examples/corpus-bench.rs":"b994744b00335536903408bc95fa203b637ee5401e568b6043d1e86fd234007e","examples/png-generate.rs":"e4cca06b9cc3291b52261d88a2e016940620b613fc1402bb54ccc68f73026a96","examples/pngcheck.rs":"575084dc9fe8754677f9875c0b1790c3f52adb58c19de63b59d28f6fea47dd71","src/adam7.rs":"6698303f534586f6d2cd952c800d4379f1f73db872d69c05689ae337fa4da2f6","src/benchable_apis.rs":"be9c486ebaaa698517b7c0ac5c4d9ecf812eee4e6454bd32dfcb790048b3a0f9","src/chunk.rs":"3bfd87e49b951e0ec4372e34d6374a4813cb499f89104f2a20e109c95b63a2ac","src/common.rs":"1da94ac8aae8bf7fb63efcf4b110416bee0aaf294d042476b70591b670c33519","src/decoder/interlace_info.rs":"ab953aabc548af9bdafdefcaeacf19bced6010ea15831039d47715661010c1d2","src/decoder/mod.rs":"8c15bb208e38ffcc55421fd3ece858dfa6460d0cc05be76d56d1640591669249","src/decoder/read_decoder.rs":"ddde714e6ee17298850f934fd2328f7095cd3c9d096930867edef0bfab91cc5d","src/decoder/stream.rs":"af87e912accd5057dcb098ca8aa3b6d4a1a1a2abc2412955409ee8260112e4ff","src/decoder/transform.rs":"3ec21b666d543fc6e2203313663a0214837cb5dc5bdb32d4a3c23d4a8567cecf","src/decoder/transform/palette.rs":"8eed7854aa122c1ecf8f3f41e2cccdc08d60a0c323f3ef16c3dd5f1710bde38a","src/decoder/unfiltering_buffer.rs":"6e146579e29cb57197375e61b077296e979ab80421a5b3d200f3b2cbddbd159e","src/decoder/zlib.rs":"fb97c2706b5901de03d23deee39e5d8fda4860b55ce0bbbe5fb8fd1206db4039","src/encoder.rs":"787f6f8922588a74436c76a3b2c2b5689206f7ed13a19a36227b8809710812ce","src/filter/mod.rs":"0078abe0ea3d654429c393fa08fbd841be232d321a2eceb14938749c16bd31b3","src/filter/optimization-notes.md":"0907bc5eafad69d9cdd3523e28f5ed06ded428a50a0fbeb07304c0b03cd50013","src/filter/paeth.rs":"ffb4bd183b313e15f2be44f247b5bb1596a02d1fc46ca6c9f2e09ce250e59bf5","src/filter/simd.rs":"0828b91a13ef4178247920de7ba7097dab89c3786ababb8d9cecf2ea499a37ef","src/lib.rs":"005d353ee9ed314a45ea9b85ff906cbc3bd57a7273c0d0360428c90aa460b4a8","src/srgb.rs":"da1609902064016853410633926d316b5289d4bbe1fa469b21f116c1c1b2c18e","src/test_utils.rs":"9002657a02768d68fef55041629f4b0067570fa93e2ed91e40367dca60eed91c","src/text_metadata.rs":"1df449a40f1798daf5b77195cccc644d3d5ae0e5cc629d71b5399b457b1438a8","src/traits.rs":"79d357244e493f5174ca11873b0d5c443fd4a5e6e1f7c6df400a1767c5ad05b2"},"package":"60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "git": {
3
- "sha1": "7d4c1b0866089f2eefdae5e9b44c521d52e5d348"
3
+ "sha1": "2a3f980245e3ae38b82ade96533e7b450e8477bb"
4
4
  },
5
5
  "path_in_vcs": ""
6
6
  }
@@ -1,3 +1,47 @@
1
+ ## 0.18.1
2
+
3
+ ### Additions
4
+
5
+ * Added `Filter::MinEntropy` for encoding, which selects the filter that
6
+ minimizes the Shannon entropy of the filtered row. ([#647])
7
+ * Made `ScaledFloat::SCALING` constant public. ([#650])
8
+ * Support skipping chunks without loading them into memory. ([#630])
9
+ * Allow full unfiltering for partial data, enabling progressive decoding
10
+ use cases. ([#664])
11
+
12
+ ### Changes
13
+
14
+ * Improved Paeth unfilter auto-vectorization by changing how loop state
15
+ is maintained. ([#635])
16
+ * Added `portable_simd` Paeth unfiltering for 3bpp and 4bpp images on nightly.
17
+ ([#632], [#633])
18
+ * Add early exit for adaptive filter selection when a perfect filter is found.
19
+ ([#646])
20
+ * Ignore duplicate `acTL` chunks instead of producing errors. ([#651])
21
+ * Require IDAT chunk(s) before fdAT chunks, as mandated by PNG specification.
22
+ ([#653])
23
+ * Enforce `acTL` frame counts to be valid PNG 4-byte integers (capped at 2^31-1).
24
+ ([#673])
25
+
26
+ ### Fixes
27
+
28
+ * Fixed and improved intra-doc links in documentation comments. ([#665])
29
+ * Fixed nightly `portable_simd` build. ([#675])
30
+
31
+ [#630]: https://github.com/image-rs/image-png/pull/630
32
+ [#632]: https://github.com/image-rs/image-png/pull/632
33
+ [#633]: https://github.com/image-rs/image-png/pull/633
34
+ [#635]: https://github.com/image-rs/image-png/pull/635
35
+ [#646]: https://github.com/image-rs/image-png/pull/646
36
+ [#647]: https://github.com/image-rs/image-png/pull/647
37
+ [#650]: https://github.com/image-rs/image-png/pull/650
38
+ [#651]: https://github.com/image-rs/image-png/pull/651
39
+ [#653]: https://github.com/image-rs/image-png/pull/653
40
+ [#664]: https://github.com/image-rs/image-png/pull/664
41
+ [#665]: https://github.com/image-rs/image-png/pull/665
42
+ [#673]: https://github.com/image-rs/image-png/pull/673
43
+ [#675]: https://github.com/image-rs/image-png/pull/675
44
+
1
45
  ## 0.18.0
2
46
 
3
47
  ### API Breaking Changes