rexml 3.2.5 → 3.4.1

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