rexml 3.2.5 → 3.3.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc3edd128c37b7817a6db92dfa9d45add8328d9c5f6983652d24562cd6968672
4
- data.tar.gz: 1c604fe6aa4908d8c13134c8f0966bd1483a01ad2ccca0ad1a85057e39f36e54
3
+ metadata.gz: 9d8de4465de1e9548d66ad026772932f724b9747dc8b1c62960d8efeaeaa8412
4
+ data.tar.gz: 1cb29aaa36dcef98ba8bd4e9fa249959405f67fdb6bed54d12b466fdf43f57af
5
5
  SHA512:
6
- metadata.gz: 4b3f5f714c38e22ed05b53389e7d3950896f1da2675527c28ed6c7f91ef18bb49fec90e0120c2f2c911da85db34a3a99e9b6209ba4d5dc4876379c6302a01ace
7
- data.tar.gz: 9b11b1cfcdb9404574f35ad237b141c6d6fd97b34ead68401064228eb7562c2d13576e1b66a75fa1e3ddc70d937ff638c31de03eb9bc47274c01711eb8abcf3f
6
+ metadata.gz: 78c881a10f12e46e1b6710d6ec75e42e4311c233376a7587756bc098063d21f52a4d82bcac8201001bf7e39079b3db4015482dae5b4ba46e561ef75fa15b15a0
7
+ data.tar.gz: 8d7a4b94937ce7b0bdf6ed83152fe207098dfe45333498a64e50d5fe9a686dffa2f66913c1edf265470b2b6a04cfae20857f1cffa404c278249784eeb533d594
data/NEWS.md CHANGED
@@ -1,15 +1,483 @@
1
1
  # News
2
2
 
3
+ ## 3.3.9 - 2024-10-24 {#version-3-3-9}
4
+
5
+ ### Improvements
6
+
7
+ * Improved performance.
8
+ * GH-210
9
+ * Patch by NAITOH Jun.
10
+
11
+ ### Fixes
12
+
13
+ * Fixed a parse bug for text only invalid XML.
14
+ * GH-215
15
+ * Patch by NAITOH Jun.
16
+
17
+ * Fixed a parse bug that `&#0x...;` is accepted as a character
18
+ reference.
19
+
20
+ ### Thanks
21
+
22
+ * NAITOH Jun
23
+
24
+ ## 3.3.8 - 2024-09-29 {#version-3-3-8}
25
+
26
+ ### Improvements
27
+
28
+ * SAX2: Improve parse performance.
29
+ * GH-207
30
+ * Patch by NAITOH Jun.
31
+
32
+ ### Fixes
33
+
34
+ * Fixed a bug that unexpected attribute namespace conflict error for
35
+ the predefined "xml" namespace is reported.
36
+ * GH-208
37
+ * Patch by KITAITI Makoto
38
+
39
+ ### Thanks
40
+
41
+ * NAITOH Jun
42
+
43
+ * KITAITI Makoto
44
+
45
+ ## 3.3.7 - 2024-09-04 {#version-3-3-7}
46
+
47
+ ### Improvements
48
+
49
+ * Added local entity expansion limit methods
50
+ * GH-192
51
+ * GH-202
52
+ * Reported by takuya kodama.
53
+ * Patch by NAITOH Jun.
54
+
55
+ * Removed explicit strscan dependency
56
+ * GH-204
57
+ * Patch by Bo Anderson.
58
+
59
+ ### Thanks
60
+
61
+ * takuya kodama
62
+
63
+ * NAITOH Jun
64
+
65
+ * Bo Anderson
66
+
67
+ ## 3.3.6 - 2024-08-22 {#version-3-3-6}
68
+
69
+ ### Improvements
70
+
71
+ * Removed duplicated entity expansions for performance.
72
+ * GH-194
73
+ * Patch by Viktor Ivarsson.
74
+
75
+ * Improved namespace conflicted attribute check performance. It was
76
+ too slow for deep elements.
77
+ * Reported by l33thaxor.
78
+
79
+ ### Fixes
80
+
81
+ * Fixed a bug that default entity expansions are counted for
82
+ security check. Default entity expansions should not be counted
83
+ because they don't have a security risk.
84
+ * GH-198
85
+ * GH-199
86
+ * Patch Viktor Ivarsson
87
+
88
+ * Fixed a parser bug that parameter entity references in internal
89
+ subsets are expanded. It's not allowed in the XML specification.
90
+ * GH-191
91
+ * Patch by NAITOH Jun.
92
+
93
+ * Fixed a stream parser bug that user-defined entity references in
94
+ text aren't expanded.
95
+ * GH-200
96
+ * Patch by NAITOH Jun.
97
+
98
+ ### Thanks
99
+
100
+ * Viktor Ivarsson
101
+
102
+ * NAITOH Jun
103
+
104
+ * l33thaxor
105
+
106
+ ## 3.3.5 - 2024-08-12 {#version-3-3-5}
107
+
108
+ ### Fixes
109
+
110
+ * Fixed a bug that `REXML::Security.entity_expansion_text_limit`
111
+ check has wrong text size calculation in SAX and pull parsers.
112
+ * GH-193
113
+ * GH-195
114
+ * Reported by Viktor Ivarsson.
115
+ * Patch by NAITOH Jun.
116
+
117
+ ### Thanks
118
+
119
+ * Viktor Ivarsson
120
+
121
+ * NAITOH Jun
122
+
123
+ ## 3.3.4 - 2024-08-01 {#version-3-3-4}
124
+
125
+ ### Fixes
126
+
127
+ * Fixed a bug that `REXML::Security` isn't defined when
128
+ `REXML::Parsers::StreamParser` is used and
129
+ `rexml/parsers/streamparser` is only required.
130
+ * GH-189
131
+ * Patch by takuya kodama.
132
+
133
+ ### Thanks
134
+
135
+ * takuya kodama
136
+
137
+ ## 3.3.3 - 2024-08-01 {#version-3-3-3}
138
+
139
+ ### Improvements
140
+
141
+ * Added support for detecting invalid XML that has unsupported
142
+ content before root element
143
+ * GH-184
144
+ * Patch by NAITOH Jun.
145
+
146
+ * Added support for `REXML::Security.entity_expansion_limit=` and
147
+ `REXML::Security.entity_expansion_text_limit=` in SAX2 and pull
148
+ parsers
149
+ * GH-187
150
+ * Patch by NAITOH Jun.
151
+
152
+ * Added more tests for invalid XMLs.
153
+ * GH-183
154
+ * Patch by Watson.
155
+
156
+ * Added more performance tests.
157
+ * Patch by Watson.
158
+
159
+ * Improved parse performance.
160
+ * GH-186
161
+ * Patch by tomoya ishida.
162
+
163
+ ### Thanks
164
+
165
+ * NAITOH Jun
166
+
167
+ * Watson
168
+
169
+ * tomoya ishida
170
+
171
+ ## 3.3.2 - 2024-07-16 {#version-3-3-2}
172
+
173
+ ### Improvements
174
+
175
+ * Improved parse performance.
176
+ * GH-160
177
+ * Patch by NAITOH Jun.
178
+
179
+ * Improved parse performance.
180
+ * GH-169
181
+ * GH-170
182
+ * GH-171
183
+ * GH-172
184
+ * GH-173
185
+ * GH-174
186
+ * GH-175
187
+ * GH-176
188
+ * GH-177
189
+ * Patch by Watson.
190
+
191
+ * Added support for raising a parse exception when an XML has extra
192
+ content after the root element.
193
+ * GH-161
194
+ * Patch by NAITOH Jun.
195
+
196
+ * Added support for raising a parse exception when an XML
197
+ declaration exists in wrong position.
198
+ * GH-162
199
+ * Patch by NAITOH Jun.
200
+
201
+ * Removed needless a space after XML declaration in pretty print mode.
202
+ * GH-164
203
+ * Patch by NAITOH Jun.
204
+
205
+ * Stopped to emit `:text` event after the root element.
206
+ * GH-167
207
+ * Patch by NAITOH Jun.
208
+
209
+ ### Fixes
210
+
211
+ * Fixed a bug that SAX2 parser doesn't expand predefined entities for
212
+ `characters` callback.
213
+ * GH-168
214
+ * Patch by NAITOH Jun.
215
+
216
+ ### Thanks
217
+
218
+ * NAITOH Jun
219
+
220
+ * Watson
221
+
222
+ ## 3.3.1 - 2024-06-25 {#version-3-3-1}
223
+
224
+ ### Improvements
225
+
226
+ * Added support for detecting malformed top-level comments.
227
+ * GH-145
228
+ * Patch by Hiroya Fujinami.
229
+
230
+ * Improved `REXML::Element#attribute` performance.
231
+ * GH-146
232
+ * Patch by Hiroya Fujinami.
233
+
234
+ * Added support for detecting malformed `<!-->` comments.
235
+ * GH-147
236
+ * Patch by Hiroya Fujinami.
237
+
238
+ * Added support for detecting unclosed `DOCTYPE`.
239
+ * GH-152
240
+ * Patch by Hiroya Fujinami.
241
+
242
+ * Added `changlog_uri` metadata to gemspec.
243
+ * GH-156
244
+ * Patch by fynsta.
245
+
246
+ * Improved parse performance.
247
+ * GH-157
248
+ * GH-158
249
+ * Patch by NAITOH Jun.
250
+
251
+ ### Fixes
252
+
253
+ * Fixed a bug that large XML can't be parsed.
254
+ * GH-154
255
+ * Patch by NAITOH Jun.
256
+
257
+ * Fixed a bug that private constants are visible.
258
+ * GH-155
259
+ * Patch by NAITOH Jun.
260
+
261
+ ### Thanks
262
+
263
+ * Hiroya Fujinami
264
+
265
+ * NAITOH Jun
266
+
267
+ * fynsta
268
+
269
+ ## 3.3.0 - 2024-06-11 {#version-3-3-0}
270
+
271
+ ### Improvements
272
+
273
+ * Added support for strscan 0.7.0 installed with Ruby 2.6.
274
+ * GH-142
275
+ * Reported by Fernando Trigoso.
276
+
277
+ ### Thanks
278
+
279
+ * Fernando Trigoso
280
+
281
+ ## 3.2.9 - 2024-06-09 {#version-3-2-9}
282
+
283
+ ### Improvements
284
+
285
+ * Added support for old strscan.
286
+ * GH-132
287
+ * Reported by Adam.
288
+
289
+ * Improved attribute value parse performance.
290
+ * GH-135
291
+ * Patch by NAITOH Jun.
292
+
293
+ * Improved `REXML::Node#each_recursive` performance.
294
+ * GH-134
295
+ * GH-139
296
+ * Patch by Hiroya Fujinami.
297
+
298
+ * Improved text parse performance.
299
+ * Reported by mprogrammer.
300
+
301
+ ### Thanks
302
+
303
+ * Adam
304
+ * NAITOH Jun
305
+ * Hiroya Fujinami
306
+ * mprogrammer
307
+
308
+ ## 3.2.8 - 2024-05-16 {#version-3-2-8}
309
+
310
+ ### Fixes
311
+
312
+ * Suppressed a warning
313
+
314
+ ## 3.2.7 - 2024-05-16 {#version-3-2-7}
315
+
316
+ ### Improvements
317
+
318
+ * Improve parse performance by using `StringScanner`.
319
+
320
+ * GH-106
321
+ * GH-107
322
+ * GH-108
323
+ * GH-109
324
+ * GH-112
325
+ * GH-113
326
+ * GH-114
327
+ * GH-115
328
+ * GH-116
329
+ * GH-117
330
+ * GH-118
331
+ * GH-119
332
+ * GH-121
333
+
334
+ * Patch by NAITOH Jun.
335
+
336
+ * Improved parse performance when an attribute has many `<`s.
337
+
338
+ * GH-126
339
+
340
+ ### Fixes
341
+
342
+ * XPath: Fixed a bug of `normalize_space(array)`.
343
+
344
+ * GH-110
345
+ * GH-111
346
+
347
+ * Patch by flatisland.
348
+
349
+ * XPath: Fixed a bug that wrong position is used with nested path.
350
+
351
+ * GH-110
352
+ * GH-122
353
+
354
+ * Reported by jcavalieri.
355
+ * Patch by NAITOH Jun.
356
+
357
+ * Fixed a bug that an exception message can't be generated for
358
+ invalid encoding XML.
359
+
360
+ * GH-29
361
+ * GH-123
362
+
363
+ * Reported by DuKewu.
364
+ * Patch by NAITOH Jun.
365
+
366
+ ### Thanks
367
+
368
+ * NAITOH Jun
369
+ * flatisland
370
+ * jcavalieri
371
+ * DuKewu
372
+
373
+ ## 3.2.6 - 2023-07-27 {#version-3-2-6}
374
+
375
+ ### Improvements
376
+
377
+ * Required Ruby 2.5 or later explicitly.
378
+ [GH-69][gh-69]
379
+ [Patch by Ivo Anjo]
380
+
381
+ * Added documentation for maintenance cycle.
382
+ [GH-71][gh-71]
383
+ [Patch by Ivo Anjo]
384
+
385
+ * Added tutorial.
386
+ [GH-77][gh-77]
387
+ [GH-78][gh-78]
388
+ [Patch by Burdette Lamar]
389
+
390
+ * Improved performance and memory usage.
391
+ [GH-94][gh-94]
392
+ [Patch by fatkodima]
393
+
394
+ * `REXML::Parsers::XPathParser#abbreviate`: Added support for
395
+ function arguments.
396
+ [GH-95][gh-95]
397
+ [Reported by pulver]
398
+
399
+ * `REXML::Parsers::XPathParser#abbreviate`: Added support for string
400
+ literal that contains double-quote.
401
+ [GH-96][gh-96]
402
+ [Patch by pulver]
403
+
404
+ * `REXML::Parsers::XPathParser#abbreviate`: Added missing `/` to
405
+ `:descendant_or_self/:self/:parent`.
406
+ [GH-97][gh-97]
407
+ [Reported by pulver]
408
+
409
+ * `REXML::Parsers::XPathParser#abbreviate`: Added support for more patterns.
410
+ [GH-97][gh-97]
411
+ [Reported by pulver]
412
+
413
+ ### Fixes
414
+
415
+ * Fixed a typo in NEWS.
416
+ [GH-72][gh-72]
417
+ [Patch by Spencer Goodman]
418
+
419
+ * Fixed a typo in NEWS.
420
+ [GH-75][gh-75]
421
+ [Patch by Andrew Bromwich]
422
+
423
+ * Fixed documents.
424
+ [GH-87][gh-87]
425
+ [Patch by Alexander Ilyin]
426
+
427
+ * Fixed a bug that `Attriute` convert `'` and `&apos;` even when
428
+ `attribute_quote: :quote` is used.
429
+ [GH-92][gh-92]
430
+ [Reported by Edouard Brière]
431
+
432
+ * Fixed links in tutorial.
433
+ [GH-99][gh-99]
434
+ [Patch by gemmaro]
435
+
436
+
437
+ ### Thanks
438
+
439
+ * Ivo Anjo
440
+
441
+ * Spencer Goodman
442
+
443
+ * Andrew Bromwich
444
+
445
+ * Burdette Lamar
446
+
447
+ * Alexander Ilyin
448
+
449
+ * Edouard Brière
450
+
451
+ * fatkodima
452
+
453
+ * pulver
454
+
455
+ * gemmaro
456
+
457
+ [gh-69]:https://github.com/ruby/rexml/issues/69
458
+ [gh-71]:https://github.com/ruby/rexml/issues/71
459
+ [gh-72]:https://github.com/ruby/rexml/issues/72
460
+ [gh-75]:https://github.com/ruby/rexml/issues/75
461
+ [gh-77]:https://github.com/ruby/rexml/issues/77
462
+ [gh-87]:https://github.com/ruby/rexml/issues/87
463
+ [gh-92]:https://github.com/ruby/rexml/issues/92
464
+ [gh-94]:https://github.com/ruby/rexml/issues/94
465
+ [gh-95]:https://github.com/ruby/rexml/issues/95
466
+ [gh-96]:https://github.com/ruby/rexml/issues/96
467
+ [gh-97]:https://github.com/ruby/rexml/issues/97
468
+ [gh-98]:https://github.com/ruby/rexml/issues/98
469
+ [gh-99]:https://github.com/ruby/rexml/issues/99
470
+
3
471
  ## 3.2.5 - 2021-04-05 {#version-3-2-5}
4
472
 
5
473
  ### Improvements
6
474
 
7
475
  * Add more validations to XPath parser.
8
476
 
9
- * `require "rexml/docuemnt"` by default.
477
+ * `require "rexml/document"` by default.
10
478
  [GitHub#36][Patch by Koichi ITO]
11
479
 
12
- * Don't add `#dcloe` method to core classes globally.
480
+ * Don't add `#dclone` method to core classes globally.
13
481
  [GitHub#37][Patch by Akira Matsuda]
14
482
 
15
483
  * 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>