- Accept
REXML::Document.new("")for backward compatibility- GH-296
- GH-295
- Patch by NAITOH Jun
- Reported by Joe Rafaniello
-
NAITOH Jun
-
Joe Rafaniello
- Reject no root element XML as an invalid XML
- GH-289
- GH-291
- Patch by NAITOH Jun
- Reported by Sutou Kouhei
- Fixed an issue with
IOSource#read_untilwhen reaching the end of a file- GH-287
- GH-288
- Patch by NAITOH Jun
- Reported by Jason Thomas
-
NAITOH Jun
-
Sutou Kouhei
-
Jason Thomas
-
Improved performance.
- GH-244
- GH-245
- GH-246
- GH-249
- GH-256
- Patch by NAITOH Jun
-
Raise appropriate exception when failing to match start tag in DOCTYPE
- GH-247
- Patch by NAITOH Jun
-
Deprecate accepting array as an element in XPath.match, first and each
- GH-252
- Patch by tomoya ishida
-
Don't call needless encoding_updated
- GH-259
- Patch by Sutou Kouhei
-
Reuse XPath::match
- GH-263
- Patch by pboling
-
Cache redundant calls for doctype
- GH-264
- Patch by pboling
-
Use Safe Navigation (&.) from Ruby 2.3
- GH-265
- Patch by pboling
-
Remove redundant return statements
- GH-266
- Patch by pboling
-
Added XML declaration check & Source#skip_spaces method
- GH-282
- Patch by NAITOH Jun
- Reported by Sofi Aberegg
-
Fix docs typo
- GH-248
- Patch by James Coleman
-
Fix reverse sort in xpath_parser
- GH-251
- Patch by tomoya ishida
-
Fix duplicate responses in XPath following, following-sibling, preceding, preceding-sibling
- GH-255
- Patch by NAITOH Jun
-
Fix wrong Encoding resolution
- GH-258
- Patch by Sutou Kouhei
-
Handle nil when parsing fragment
- GH-267
- GH-268
- Patch by pboling
-
[Documentation] Use # to reference instance methods
- GH-269
- GH-270
- Patch by pboling
-
Fix & Deprecate REXML::Text#text_indent
- GH-273
- GH-275
- Patch by pboling
-
remove bundler from dev deps
- GH-276
- GH-277
- Patch by pboling
-
remove ostruct from dev deps
- GH-280
- GH-281
- Patch by pboling
-
NAITOH Jun
-
tomoya ishida
-
James Coleman
-
pboling
-
Sutou Kouhei
-
Sofi Aberegg
- Improved performance.
- GH-226
- GH-227
- GH-237
- Patch by NAITOH Jun
- Fix serialization of ATTLIST is incorrect
- GH-233
- GH-234
- Patch by OlofKalufs
- Reported by OlofKalufs
-
NAITOH Jun
-
OlofKalufs
-
Improved performance.
- GH-216
- Patch by NAITOH Jun
-
JRuby: Improved parse performance.
- GH-219
- Patch by João Duarte
-
Added support for reusing pull parser.
- GH-214
- GH-220
- Patch by Dmitry Pogrebnoy
-
Improved error handling when source is
IO.- GH-221
- Patch by NAITOH Jun
-
NAITOH Jun
-
João Duarte
-
Dmitry Pogrebnoy
- Improved performance.
- GH-210
- Patch by NAITOH Jun.
-
Fixed a parse bug for text only invalid XML.
- GH-215
- Patch by NAITOH Jun.
-
Fixed a parse bug that
�x...;is accepted as a character reference.
- NAITOH Jun
- SAX2: Improve parse performance.
- GH-207
- Patch by NAITOH Jun.
- Fixed a bug that unexpected attribute namespace conflict error for
the predefined "xml" namespace is reported.
- GH-208
- Patch by KITAITI Makoto
-
NAITOH Jun
-
KITAITI Makoto
-
Added local entity expansion limit methods
- GH-192
- GH-202
- Reported by takuya kodama.
- Patch by NAITOH Jun.
-
Removed explicit strscan dependency
- GH-204
- Patch by Bo Anderson.
-
takuya kodama
-
NAITOH Jun
-
Bo Anderson
-
Removed duplicated entity expansions for performance.
- GH-194
- Patch by Viktor Ivarsson.
-
Improved namespace conflicted attribute check performance. It was too slow for deep elements.
- Reported by l33thaxor.
-
Fixed a bug that default entity expansions are counted for security check. Default entity expansions should not be counted because they don't have a security risk.
- GH-198
- GH-199
- Patch Viktor Ivarsson
-
Fixed a parser bug that parameter entity references in internal subsets are expanded. It's not allowed in the XML specification.
- GH-191
- Patch by NAITOH Jun.
-
Fixed a stream parser bug that user-defined entity references in text aren't expanded.
- GH-200
- Patch by NAITOH Jun.
-
Viktor Ivarsson
-
NAITOH Jun
-
l33thaxor
- Fixed a bug that
REXML::Security.entity_expansion_text_limitcheck has wrong text size calculation in SAX and pull parsers.- GH-193
- GH-195
- Reported by Viktor Ivarsson.
- Patch by NAITOH Jun.
-
Viktor Ivarsson
-
NAITOH Jun
- Fixed a bug that
REXML::Securityisn't defined whenREXML::Parsers::StreamParseris used andrexml/parsers/streamparseris only required.- GH-189
- Patch by takuya kodama.
- takuya kodama
-
Added support for detecting invalid XML that has unsupported content before root element
- GH-184
- Patch by NAITOH Jun.
-
Added support for
REXML::Security.entity_expansion_limit=andREXML::Security.entity_expansion_text_limit=in SAX2 and pull parsers- GH-187
- Patch by NAITOH Jun.
-
Added more tests for invalid XMLs.
- GH-183
- Patch by Watson.
-
Added more performance tests.
- Patch by Watson.
-
Improved parse performance.
- GH-186
- Patch by tomoya ishida.
-
NAITOH Jun
-
Watson
-
tomoya ishida
-
Improved parse performance.
- GH-160
- Patch by NAITOH Jun.
-
Improved parse performance.
- GH-169
- GH-170
- GH-171
- GH-172
- GH-173
- GH-174
- GH-175
- GH-176
- GH-177
- Patch by Watson.
-
Added support for raising a parse exception when an XML has extra content after the root element.
- GH-161
- Patch by NAITOH Jun.
-
Added support for raising a parse exception when an XML declaration exists in wrong position.
- GH-162
- Patch by NAITOH Jun.
-
Removed needless a space after XML declaration in pretty print mode.
- GH-164
- Patch by NAITOH Jun.
-
Stopped to emit
:textevent after the root element.- GH-167
- Patch by NAITOH Jun.
- Fixed a bug that SAX2 parser doesn't expand predefined entities for
characterscallback.- GH-168
- Patch by NAITOH Jun.
-
NAITOH Jun
-
Watson
-
Added support for detecting malformed top-level comments.
- GH-145
- Patch by Hiroya Fujinami.
-
Improved
REXML::Element#attributeperformance.- GH-146
- Patch by Hiroya Fujinami.
-
Added support for detecting malformed
<!-->comments.- GH-147
- Patch by Hiroya Fujinami.
-
Added support for detecting unclosed
DOCTYPE.- GH-152
- Patch by Hiroya Fujinami.
-
Added
changlog_urimetadata to gemspec.- GH-156
- Patch by fynsta.
-
Improved parse performance.
- GH-157
- GH-158
- Patch by NAITOH Jun.
-
Fixed a bug that large XML can't be parsed.
- GH-154
- Patch by NAITOH Jun.
-
Fixed a bug that private constants are visible.
- GH-155
- Patch by NAITOH Jun.
-
Hiroya Fujinami
-
NAITOH Jun
-
fynsta
- Added support for strscan 0.7.0 installed with Ruby 2.6.
- GH-142
- Reported by Fernando Trigoso.
- Fernando Trigoso
-
Added support for old strscan.
- GH-132
- Reported by Adam.
-
Improved attribute value parse performance.
- GH-135
- Patch by NAITOH Jun.
-
Improved
REXML::Node#each_recursiveperformance.- GH-134
- GH-139
- Patch by Hiroya Fujinami.
-
Improved text parse performance.
- Reported by mprogrammer.
- Adam
- NAITOH Jun
- Hiroya Fujinami
- mprogrammer
- Suppressed a warning
-
Improve parse performance by using
StringScanner.-
GH-106
-
GH-107
-
GH-108
-
GH-109
-
GH-112
-
GH-113
-
GH-114
-
GH-115
-
GH-116
-
GH-117
-
GH-118
-
GH-119
-
GH-121
-
Patch by NAITOH Jun.
-
-
Improved parse performance when an attribute has many
>s.- GH-126
-
XPath: Fixed a bug of
normalize_space(array).-
GH-110
-
GH-111
-
Patch by flatisland.
-
-
XPath: Fixed a bug that wrong position is used with nested path.
-
GH-110
-
GH-122
-
Reported by jcavalieri.
-
Patch by NAITOH Jun.
-
-
Fixed a bug that an exception message can't be generated for invalid encoding XML.
-
GH-29
-
GH-123
-
Reported by DuKewu.
-
Patch by NAITOH Jun.
-
- NAITOH Jun
- flatisland
- jcavalieri
- DuKewu
-
Required Ruby 2.5 or later explicitly. GH-69 [Patch by Ivo Anjo]
-
Added documentation for maintenance cycle. GH-71 [Patch by Ivo Anjo]
-
Added tutorial. GH-77 [GH-78][gh-78] [Patch by Burdette Lamar]
-
Improved performance and memory usage. GH-94 [Patch by fatkodima]
-
REXML::Parsers::XPathParser#abbreviate: Added support for function arguments. GH-95 [Reported by pulver] -
REXML::Parsers::XPathParser#abbreviate: Added support for string literal that contains double-quote. GH-96 [Patch by pulver] -
REXML::Parsers::XPathParser#abbreviate: Added missing/to:descendant_or_self/:self/:parent. GH-97 [Reported by pulver] -
REXML::Parsers::XPathParser#abbreviate: Added support for more patterns. GH-97 [Reported by pulver]
-
Fixed a typo in NEWS. GH-72 [Patch by Spencer Goodman]
-
Fixed a typo in NEWS. GH-75 [Patch by Andrew Bromwich]
-
Fixed documents. GH-87 [Patch by Alexander Ilyin]
-
Fixed a bug that
Attriuteconvert'and'even whenattribute_quote: :quoteis used. GH-92 [Reported by Edouard Brière] -
Fixed links in tutorial. GH-99 [Patch by gemmaro]
-
Ivo Anjo
-
Spencer Goodman
-
Andrew Bromwich
-
Burdette Lamar
-
Alexander Ilyin
-
Edouard Brière
-
fatkodima
-
pulver
-
gemmaro
-
Add more validations to XPath parser.
-
require "rexml/document"by default. [GitHub#36][Patch by Koichi ITO] -
Don't add
#dclonemethod to core classes globally. [GitHub#37][Patch by Akira Matsuda] -
Add more documentations. [Patch by Burdette Lamar]
-
Added
REXML::Elements#parent. [GitHub#52][Patch by Burdette Lamar]
-
Fixed a bug that
REXML::DocType#clonedoesn't copy external ID information. -
Fixed round-trip vulnerability bugs. See also: https://www.ruby-lang.org/en/news/2021/04/05/xml-round-trip-vulnerability-in-rexml-cve-2021-28965/ [HackerOne#1104077][CVE-2021-28965][Reported by Juho Nurminen]
-
Koichi ITO
-
Akira Matsuda
-
Burdette Lamar
-
Juho Nurminen
- Don't use
taintwith Ruby 2.7 or later. [GitHub#21][Patch by Jeremy Evans]
- Fixed a
elsiftypo. [GitHub#22][Patch by Nobuyoshi Nakada]
-
Jeremy Evans
-
Nobuyoshi Nakada
- Fixed a bug that
REXML::XMLDecl#closedoesn't copy@writethis. [GitHub#20][Patch by hirura]
- hirura
-
xpath: Fixed a bug for equality and relational expressions. [GitHub#17][Reported by Mirko Budszuhn]
-
xpath: Fixed
boolean()implementation. -
xpath: Fixed
local_name()with nonexistent node. -
xpath: Fixed
number()implementation with node set. [GitHub#18][Reported by Mirko Budszuhn]
- Mirko Budszuhn
-
Improved error message. [GitHub#12][Patch by FUJI Goro]
-
Improved error message. [GitHub#16][Patch by ujihisa]
-
Improved documentation markup. [GitHub#14][Patch by Alyssa Ross]
- Fixed a bug that
nilvariable value raises an unexpected exception. [GitHub#13][Patch by Alyssa Ross]
-
FUJI Goro
-
Alyssa Ross
-
ujihisa
-
Fixed a bug that no namespace attribute isn't matched with prefix.
[ruby-list:50731][Reported by Yasuhiro KIMURA]
-
Fixed a bug that the default namespace is applied to attribute names.
NOTE: It's a backward incompatible change. If your program has any problem with this change, please report it. We may revert this fix.
-
REXML::Attribute#prefixreturns""for no namespace attribute. -
REXML::Attribute#namespacereturns""for no namespace attribute.
-
- Yasuhiro KIMURA
-
Improved backward compatibility.
Restored
REXML::Parsers::BaseParser::UNQME_STRbecause it's used by kramdown.
-
Added support for customizing quote character in prologue. [GitHub#8][Bug #9367][Reported by Takashi Oguma]
-
You can use
"as quote character by specifying:quotetoREXML::Document#context[:prologue_quote]. -
You can use
'as quote character by specifying:apostrophetoREXML::Document#context[:prologue_quote].
-
-
Added processing instruction target check. The target must not nil. [GitHub#7][Reported by Ariel Zelivansky]
-
Added name check for element and attribute. [GitHub#7][Reported by Ariel Zelivansky]
-
Stopped to use
Exception. [GitHub#9][Patch by Jean Boussier]
- Fixed a bug that
REXML::Text#cloneescapes value twice. [ruby-dev:50626][Bug #15058][Reported by Ryosuke Nanba]
-
Takashi Oguma
-
Ariel Zelivansky
-
Jean Boussier
-
Ryosuke Nanba