S
Sean Russell
Hi,
Long time, no release.
2.7.2 is in the CVS repository, so it should be included with Ruby
1.8.1.
Here's the change log since 2.7.1:
* More fixes for compatability with the Ruby 1.8 series
* Exceptions are normalized
* Some changes to the Light API
* Improvements to encoding support. iconv is now used whenever
possible, falling back to the old encoding mechanism for backwards
compatability (Ruby < 1.8)
* Bug to maintain inline external entity instances
* Removed a cascading tainting issue with encoding
* Function::string() now handles Element nodes properly, which means
that XPath text() now works properly.
* A minor indentation bug was fixed
* Applied a patch from Simon Conrad-Armes that improves REXML's
handling of namespaces in the SAX2 parser
* Encoding support is more reliable and thread resistant. The Output
class now works like you'd intuitively expect it to. It is now much
easier to shift between encodings in various was -- by changing the
encoding, by creating an Output with the encoding, etc.
* Document:ECLARATION is deprecated. Use XMLDecl::default() (static
method).
Thanks to all the people who submitted patches, fixed, or reported
bugs.
Notice that most of these changes are bug fixes. Optimization is
still the issue that's at the top of my list, but I've had a hard time
getting anywhere with it. Ruby optimizations are entirely
counterintuitive to me; I think this is just the nature of high level
languages.
My optimization strategy includes a three-pronged attack:
* Optimize the base parser. This will improve performance across
REXML, since all parsers use it.
* Finalize the Light API. This will improve (memory) space
requirements for those who choose to use it, and will provide the
leanest, fastest possible tree parser.
* Add libxml awareness. That is, if REXML sees libxml is installed,
it'll use that as the base parser instead of the native Ruby parser.
Next in line after optimization is documentation. The main
documentation needs to be rewritten, and I need to work on the
changelog. I've got a system for automating the changelog, but I need
to merge it with the REXML project. The tutorial is out of date, and
incomplete, and I haven't looked at the rdoc output in a while -- I'm
sure it's pretty ugly.
Just below that is the creation of some utility classes, which
probably won't become part of the standard REXML distribution: RelaxNG
validation, an XPath tool, and so on. Then there's some work on
Namespace support that Tobias has been hounding me about; I've placed
that on the back burner for the moment, because it only applies to
writing sub-trees -- which, while admittedly desireable, isn't useful
in any XML processing *I* do, and requires a major overhaul of
Namespace support in REXML. If this is important to anybody, I
recommend contributing patches to REXML, 'cause I've got other things
which I think are more important, and I don't know when I'm going to
get to it.
Finally, I've been really bad about getting back to people, and I'm
sorry about that. The bug tracker has been having chronic problems
since we upgraded the server, and I haven't had time to fix it. I've
dropped the Freshmeat entry; it was too much of a pain maintaining 4
release announcement mechanisms.
BTW, the darcs repository is now the preferred repository to make
changes in, despite the fact that the Subversion repository is listed
in the RAA. The reason is that it is much easier for users to submit,
and for me to accept, darcs patches; as Subversion doesn't have any
concept of patches, I have to either provide direct write access to
the repository to contributors, or I have to manually pick apart and
apply patches, and darcs is just easier.
The REXML home page is, as always,
http://www.germane-software.com/software/XML/rexml/
The Subversion repository is at:
http://www.germane-software.com/repositories/public/rexml
with the standard trunk/, tags/, and branches/ subhierarchy.
The darcs repository is at:
http://www.germane-software.com/darcs/rexml
That's the root of the development branch.
darcs is at:
http://abridgegame.org/darcs/
Thanks for your patience,
Sean
Long time, no release.
2.7.2 is in the CVS repository, so it should be included with Ruby
1.8.1.
Here's the change log since 2.7.1:
* More fixes for compatability with the Ruby 1.8 series
* Exceptions are normalized
* Some changes to the Light API
* Improvements to encoding support. iconv is now used whenever
possible, falling back to the old encoding mechanism for backwards
compatability (Ruby < 1.8)
* Bug to maintain inline external entity instances
* Removed a cascading tainting issue with encoding
* Function::string() now handles Element nodes properly, which means
that XPath text() now works properly.
* A minor indentation bug was fixed
* Applied a patch from Simon Conrad-Armes that improves REXML's
handling of namespaces in the SAX2 parser
* Encoding support is more reliable and thread resistant. The Output
class now works like you'd intuitively expect it to. It is now much
easier to shift between encodings in various was -- by changing the
encoding, by creating an Output with the encoding, etc.
* Document:ECLARATION is deprecated. Use XMLDecl::default() (static
method).
Thanks to all the people who submitted patches, fixed, or reported
bugs.
Notice that most of these changes are bug fixes. Optimization is
still the issue that's at the top of my list, but I've had a hard time
getting anywhere with it. Ruby optimizations are entirely
counterintuitive to me; I think this is just the nature of high level
languages.
My optimization strategy includes a three-pronged attack:
* Optimize the base parser. This will improve performance across
REXML, since all parsers use it.
* Finalize the Light API. This will improve (memory) space
requirements for those who choose to use it, and will provide the
leanest, fastest possible tree parser.
* Add libxml awareness. That is, if REXML sees libxml is installed,
it'll use that as the base parser instead of the native Ruby parser.
Next in line after optimization is documentation. The main
documentation needs to be rewritten, and I need to work on the
changelog. I've got a system for automating the changelog, but I need
to merge it with the REXML project. The tutorial is out of date, and
incomplete, and I haven't looked at the rdoc output in a while -- I'm
sure it's pretty ugly.
Just below that is the creation of some utility classes, which
probably won't become part of the standard REXML distribution: RelaxNG
validation, an XPath tool, and so on. Then there's some work on
Namespace support that Tobias has been hounding me about; I've placed
that on the back burner for the moment, because it only applies to
writing sub-trees -- which, while admittedly desireable, isn't useful
in any XML processing *I* do, and requires a major overhaul of
Namespace support in REXML. If this is important to anybody, I
recommend contributing patches to REXML, 'cause I've got other things
which I think are more important, and I don't know when I'm going to
get to it.
Finally, I've been really bad about getting back to people, and I'm
sorry about that. The bug tracker has been having chronic problems
since we upgraded the server, and I haven't had time to fix it. I've
dropped the Freshmeat entry; it was too much of a pain maintaining 4
release announcement mechanisms.
BTW, the darcs repository is now the preferred repository to make
changes in, despite the fact that the Subversion repository is listed
in the RAA. The reason is that it is much easier for users to submit,
and for me to accept, darcs patches; as Subversion doesn't have any
concept of patches, I have to either provide direct write access to
the repository to contributors, or I have to manually pick apart and
apply patches, and darcs is just easier.
The REXML home page is, as always,
http://www.germane-software.com/software/XML/rexml/
The Subversion repository is at:
http://www.germane-software.com/repositories/public/rexml
with the standard trunk/, tags/, and branches/ subhierarchy.
The darcs repository is at:
http://www.germane-software.com/darcs/rexml
That's the root of the development branch.
darcs is at:
http://abridgegame.org/darcs/
Thanks for your patience,
Sean