rexml 3.2.5 → 3.3.6

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

Potentially problematic release.


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

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc3edd128c37b7817a6db92dfa9d45add8328d9c5f6983652d24562cd6968672
4
- data.tar.gz: 1c604fe6aa4908d8c13134c8f0966bd1483a01ad2ccca0ad1a85057e39f36e54
3
+ metadata.gz: 4b79c22060286dad847e18d30b4b336bda21d2772ccb35413fb9ba51a0012ed2
4
+ data.tar.gz: feb56a4a3071541e983acd33b8baa6b9052f8d67d871102cfe6e69773a0cfcfe
5
5
  SHA512:
6
- metadata.gz: 4b3f5f714c38e22ed05b53389e7d3950896f1da2675527c28ed6c7f91ef18bb49fec90e0120c2f2c911da85db34a3a99e9b6209ba4d5dc4876379c6302a01ace
7
- data.tar.gz: 9b11b1cfcdb9404574f35ad237b141c6d6fd97b34ead68401064228eb7562c2d13576e1b66a75fa1e3ddc70d937ff638c31de03eb9bc47274c01711eb8abcf3f
6
+ metadata.gz: b615c95f8624212e151443ad03ba9b64f39aee8a200ea212150a10116340157cfda1bf974ab3d03161c0fb37d866e8c1c69ccc6a9549a13398452b32166af2d8
7
+ data.tar.gz: db7dcac658e1f51f30575c24d6f36dc256349331fa1951c8fdfaf214baf97a5a446a1fcc411358a76d2c6fc36388ec8b1178adeacc3225d16d5d95ac53a8c4b3
data/NEWS.md CHANGED
@@ -1,15 +1,419 @@
1
1
  # News
2
2
 
3
+ ## 3.3.6 - 2024-08-22 {#version-3-3-6}
4
+
5
+ ### Improvements
6
+
7
+ * Removed duplicated entity expansions for performance.
8
+ * GH-194
9
+ * Patch by Viktor Ivarsson.
10
+
11
+ * Improved namespace conflicted attribute check performance. It was
12
+ too slow for deep elements.
13
+ * Reported by l33thaxor.
14
+
15
+ ### Fixes
16
+
17
+ * Fixed a bug that default entity expansions are counted for
18
+ security check. Default entity expansions should not be counted
19
+ because they don't have a security risk.
20
+ * GH-198
21
+ * GH-199
22
+ * Patch Viktor Ivarsson
23
+
24
+ * Fixed a parser bug that parameter entity references in internal
25
+ subsets are expanded. It's not allowed in the XML specification.
26
+ * GH-191
27
+ * Patch by NAITOH Jun.
28
+
29
+ * Fixed a stream parser bug that user-defined entity references in
30
+ text aren't expanded.
31
+ * GH-200
32
+ * Patch by NAITOH Jun.
33
+
34
+ ### Thanks
35
+
36
+ * Viktor Ivarsson
37
+
38
+ * NAITOH Jun
39
+
40
+ * l33thaxor
41
+
42
+ ## 3.3.5 - 2024-08-12 {#version-3-3-5}
43
+
44
+ ### Fixes
45
+
46
+ * Fixed a bug that `REXML::Security.entity_expansion_text_limit`
47
+ check has wrong text size calculation in SAX and pull parsers.
48
+ * GH-193
49
+ * GH-195
50
+ * Reported by Viktor Ivarsson.
51
+ * Patch by NAITOH Jun.
52
+
53
+ ### Thanks
54
+
55
+ * Viktor Ivarsson
56
+
57
+ * NAITOH Jun
58
+
59
+ ## 3.3.4 - 2024-08-01 {#version-3-3-4}
60
+
61
+ ### Fixes
62
+
63
+ * Fixed a bug that `REXML::Security` isn't defined when
64
+ `REXML::Parsers::StreamParser` is used and
65
+ `rexml/parsers/streamparser` is only required.
66
+ * GH-189
67
+ * Patch by takuya kodama.
68
+
69
+ ### Thanks
70
+
71
+ * takuya kodama
72
+
73
+ ## 3.3.3 - 2024-08-01 {#version-3-3-3}
74
+
75
+ ### Improvements
76
+
77
+ * Added support for detecting invalid XML that has unsupported
78
+ content before root element
79
+ * GH-184
80
+ * Patch by NAITOH Jun.
81
+
82
+ * Added support for `REXML::Security.entity_expansion_limit=` and
83
+ `REXML::Security.entity_expansion_text_limit=` in SAX2 and pull
84
+ parsers
85
+ * GH-187
86
+ * Patch by NAITOH Jun.
87
+
88
+ * Added more tests for invalid XMLs.
89
+ * GH-183
90
+ * Patch by Watson.
91
+
92
+ * Added more performance tests.
93
+ * Patch by Watson.
94
+
95
+ * Improved parse performance.
96
+ * GH-186
97
+ * Patch by tomoya ishida.
98
+
99
+ ### Thanks
100
+
101
+ * NAITOH Jun
102
+
103
+ * Watson
104
+
105
+ * tomoya ishida
106
+
107
+ ## 3.3.2 - 2024-07-16 {#version-3-3-2}
108
+
109
+ ### Improvements
110
+
111
+ * Improved parse performance.
112
+ * GH-160
113
+ * Patch by NAITOH Jun.
114
+
115
+ * Improved parse performance.
116
+ * GH-169
117
+ * GH-170
118
+ * GH-171
119
+ * GH-172
120
+ * GH-173
121
+ * GH-174
122
+ * GH-175
123
+ * GH-176
124
+ * GH-177
125
+ * Patch by Watson.
126
+
127
+ * Added support for raising a parse exception when an XML has extra
128
+ content after the root element.
129
+ * GH-161
130
+ * Patch by NAITOH Jun.
131
+
132
+ * Added support for raising a parse exception when an XML
133
+ declaration exists in wrong position.
134
+ * GH-162
135
+ * Patch by NAITOH Jun.
136
+
137
+ * Removed needless a space after XML declaration in pretty print mode.
138
+ * GH-164
139
+ * Patch by NAITOH Jun.
140
+
141
+ * Stopped to emit `:text` event after the root element.
142
+ * GH-167
143
+ * Patch by NAITOH Jun.
144
+
145
+ ### Fixes
146
+
147
+ * Fixed a bug that SAX2 parser doesn't expand predefined entities for
148
+ `characters` callback.
149
+ * GH-168
150
+ * Patch by NAITOH Jun.
151
+
152
+ ### Thanks
153
+
154
+ * NAITOH Jun
155
+
156
+ * Watson
157
+
158
+ ## 3.3.1 - 2024-06-25 {#version-3-3-1}
159
+
160
+ ### Improvements
161
+
162
+ * Added support for detecting malformed top-level comments.
163
+ * GH-145
164
+ * Patch by Hiroya Fujinami.
165
+
166
+ * Improved `REXML::Element#attribute` performance.
167
+ * GH-146
168
+ * Patch by Hiroya Fujinami.
169
+
170
+ * Added support for detecting malformed `<!-->` comments.
171
+ * GH-147
172
+ * Patch by Hiroya Fujinami.
173
+
174
+ * Added support for detecting unclosed `DOCTYPE`.
175
+ * GH-152
176
+ * Patch by Hiroya Fujinami.
177
+
178
+ * Added `changlog_uri` metadata to gemspec.
179
+ * GH-156
180
+ * Patch by fynsta.
181
+
182
+ * Improved parse performance.
183
+ * GH-157
184
+ * GH-158
185
+ * Patch by NAITOH Jun.
186
+
187
+ ### Fixes
188
+
189
+ * Fixed a bug that large XML can't be parsed.
190
+ * GH-154
191
+ * Patch by NAITOH Jun.
192
+
193
+ * Fixed a bug that private constants are visible.
194
+ * GH-155
195
+ * Patch by NAITOH Jun.
196
+
197
+ ### Thanks
198
+
199
+ * Hiroya Fujinami
200
+
201
+ * NAITOH Jun
202
+
203
+ * fynsta
204
+
205
+ ## 3.3.0 - 2024-06-11 {#version-3-3-0}
206
+
207
+ ### Improvements
208
+
209
+ * Added support for strscan 0.7.0 installed with Ruby 2.6.
210
+ * GH-142
211
+ * Reported by Fernando Trigoso.
212
+
213
+ ### Thanks
214
+
215
+ * Fernando Trigoso
216
+
217
+ ## 3.2.9 - 2024-06-09 {#version-3-2-9}
218
+
219
+ ### Improvements
220
+
221
+ * Added support for old strscan.
222
+ * GH-132
223
+ * Reported by Adam.
224
+
225
+ * Improved attribute value parse performance.
226
+ * GH-135
227
+ * Patch by NAITOH Jun.
228
+
229
+ * Improved `REXML::Node#each_recursive` performance.
230
+ * GH-134
231
+ * GH-139
232
+ * Patch by Hiroya Fujinami.
233
+
234
+ * Improved text parse performance.
235
+ * Reported by mprogrammer.
236
+
237
+ ### Thanks
238
+
239
+ * Adam
240
+ * NAITOH Jun
241
+ * Hiroya Fujinami
242
+ * mprogrammer
243
+
244
+ ## 3.2.8 - 2024-05-16 {#version-3-2-8}
245
+
246
+ ### Fixes
247
+
248
+ * Suppressed a warning
249
+
250
+ ## 3.2.7 - 2024-05-16 {#version-3-2-7}
251
+
252
+ ### Improvements
253
+
254
+ * Improve parse performance by using `StringScanner`.
255
+
256
+ * GH-106
257
+ * GH-107
258
+ * GH-108
259
+ * GH-109
260
+ * GH-112
261
+ * GH-113
262
+ * GH-114
263
+ * GH-115
264
+ * GH-116
265
+ * GH-117
266
+ * GH-118
267
+ * GH-119
268
+ * GH-121
269
+
270
+ * Patch by NAITOH Jun.
271
+
272
+ * Improved parse performance when an attribute has many `<`s.
273
+
274
+ * GH-126
275
+
276
+ ### Fixes
277
+
278
+ * XPath: Fixed a bug of `normalize_space(array)`.
279
+
280
+ * GH-110
281
+ * GH-111
282
+
283
+ * Patch by flatisland.
284
+
285
+ * XPath: Fixed a bug that wrong position is used with nested path.
286
+
287
+ * GH-110
288
+ * GH-122
289
+
290
+ * Reported by jcavalieri.
291
+ * Patch by NAITOH Jun.
292
+
293
+ * Fixed a bug that an exception message can't be generated for
294
+ invalid encoding XML.
295
+
296
+ * GH-29
297
+ * GH-123
298
+
299
+ * Reported by DuKewu.
300
+ * Patch by NAITOH Jun.
301
+
302
+ ### Thanks
303
+
304
+ * NAITOH Jun
305
+ * flatisland
306
+ * jcavalieri
307
+ * DuKewu
308
+
309
+ ## 3.2.6 - 2023-07-27 {#version-3-2-6}
310
+
311
+ ### Improvements
312
+
313
+ * Required Ruby 2.5 or later explicitly.
314
+ [GH-69][gh-69]
315
+ [Patch by Ivo Anjo]
316
+
317
+ * Added documentation for maintenance cycle.
318
+ [GH-71][gh-71]
319
+ [Patch by Ivo Anjo]
320
+
321
+ * Added tutorial.
322
+ [GH-77][gh-77]
323
+ [GH-78][gh-78]
324
+ [Patch by Burdette Lamar]
325
+
326
+ * Improved performance and memory usage.
327
+ [GH-94][gh-94]
328
+ [Patch by fatkodima]
329
+
330
+ * `REXML::Parsers::XPathParser#abbreviate`: Added support for
331
+ function arguments.
332
+ [GH-95][gh-95]
333
+ [Reported by pulver]
334
+
335
+ * `REXML::Parsers::XPathParser#abbreviate`: Added support for string
336
+ literal that contains double-quote.
337
+ [GH-96][gh-96]
338
+ [Patch by pulver]
339
+
340
+ * `REXML::Parsers::XPathParser#abbreviate`: Added missing `/` to
341
+ `:descendant_or_self/:self/:parent`.
342
+ [GH-97][gh-97]
343
+ [Reported by pulver]
344
+
345
+ * `REXML::Parsers::XPathParser#abbreviate`: Added support for more patterns.
346
+ [GH-97][gh-97]
347
+ [Reported by pulver]
348
+
349
+ ### Fixes
350
+
351
+ * Fixed a typo in NEWS.
352
+ [GH-72][gh-72]
353
+ [Patch by Spencer Goodman]
354
+
355
+ * Fixed a typo in NEWS.
356
+ [GH-75][gh-75]
357
+ [Patch by Andrew Bromwich]
358
+
359
+ * Fixed documents.
360
+ [GH-87][gh-87]
361
+ [Patch by Alexander Ilyin]
362
+
363
+ * Fixed a bug that `Attriute` convert `'` and `&apos;` even when
364
+ `attribute_quote: :quote` is used.
365
+ [GH-92][gh-92]
366
+ [Reported by Edouard Brière]
367
+
368
+ * Fixed links in tutorial.
369
+ [GH-99][gh-99]
370
+ [Patch by gemmaro]
371
+
372
+
373
+ ### Thanks
374
+
375
+ * Ivo Anjo
376
+
377
+ * Spencer Goodman
378
+
379
+ * Andrew Bromwich
380
+
381
+ * Burdette Lamar
382
+
383
+ * Alexander Ilyin
384
+
385
+ * Edouard Brière
386
+
387
+ * fatkodima
388
+
389
+ * pulver
390
+
391
+ * gemmaro
392
+
393
+ [gh-69]:https://github.com/ruby/rexml/issues/69
394
+ [gh-71]:https://github.com/ruby/rexml/issues/71
395
+ [gh-72]:https://github.com/ruby/rexml/issues/72
396
+ [gh-75]:https://github.com/ruby/rexml/issues/75
397
+ [gh-77]:https://github.com/ruby/rexml/issues/77
398
+ [gh-87]:https://github.com/ruby/rexml/issues/87
399
+ [gh-92]:https://github.com/ruby/rexml/issues/92
400
+ [gh-94]:https://github.com/ruby/rexml/issues/94
401
+ [gh-95]:https://github.com/ruby/rexml/issues/95
402
+ [gh-96]:https://github.com/ruby/rexml/issues/96
403
+ [gh-97]:https://github.com/ruby/rexml/issues/97
404
+ [gh-98]:https://github.com/ruby/rexml/issues/98
405
+ [gh-99]:https://github.com/ruby/rexml/issues/99
406
+
3
407
  ## 3.2.5 - 2021-04-05 {#version-3-2-5}
4
408
 
5
409
  ### Improvements
6
410
 
7
411
  * Add more validations to XPath parser.
8
412
 
9
- * `require "rexml/docuemnt"` by default.
413
+ * `require "rexml/document"` by default.
10
414
  [GitHub#36][Patch by Koichi ITO]
11
415
 
12
- * Don't add `#dcloe` method to core classes globally.
416
+ * Don't add `#dclone` method to core classes globally.
13
417
  [GitHub#37][Patch by Akira Matsuda]
14
418
 
15
419
  * Add more documentations.
data/README.md CHANGED
@@ -6,7 +6,7 @@ REXML supports both tree and stream document parsing. Stream parsing is faster (
6
6
 
7
7
  ## API
8
8
 
9
- See the {API documentation}[https://ruby.github.io/rexml/]
9
+ See the [API documentation](https://ruby.github.io/rexml/).
10
10
 
11
11
  ## Usage
12
12
 
@@ -33,6 +33,15 @@ doc = Document.new string
33
33
 
34
34
  So parsing a string is just as easy as parsing a file.
35
35
 
36
+ ## Support
37
+
38
+ REXML support follows the same maintenance cycle as Ruby releases, as shown on <https://www.ruby-lang.org/en/downloads/branches/>.
39
+
40
+ If you are running on an end-of-life Ruby, do not expect modern REXML releases to be compatible with it; in fact, it's recommended that you DO NOT use this gem, and instead use the REXML version that came bundled with your end-of-life Ruby version.
41
+
42
+ The `required_ruby_version` on the gemspec is kept updated on a [best-effort basis](https://github.com/ruby/rexml/pull/70) by the community.
43
+ Up to version 3.2.5, this information was not set. That version [is known broken with at least Ruby < 2.3](https://github.com/ruby/rexml/issues/69).
44
+
36
45
  ## Development
37
46
 
38
47
  After checking out the repo, run `rake test` to run the tests.
@@ -369,7 +369,7 @@ to retrieve the first text node in a specified element:
369
369
 
370
370
  Use method
371
371
  {Element#has_text?}[../../../../REXML/Element.html#method-i-has_text-3F]
372
- to determine whethe the element has text:
372
+ to determine whether the element has text:
373
373
 
374
374
  e = REXML::Element.new('foo')
375
375
  e.has_text? # => false
@@ -486,7 +486,7 @@ to remove a specific namespace from the element:
486
486
 
487
487
  Use method
488
488
  {Element#namespace}[../../../../REXML/Element.html#method-i-namespace]
489
- to retrieve a speficic namespace URI for the element:
489
+ to retrieve a specific namespace URI for the element:
490
490
 
491
491
  xml_string = <<-EOT
492
492
  <root>