123456789_123456789_123456789_123456789_123456789_

Nokogiri Changelog

Nokogiri follows Semantic Versioning, please see the README.md for details.


v1.next / unreleased

Dependencies

Notable changes

SAX Parsers

The XML and HTML4 SAX parsers have received a lot of attention in this release, and we've fixed multiple long-standing bugs with encoding and entity handling. In addition, libxml2 v2.13 has also made some underlying fixes and improvements to encoding and entity handling.

We're shipping these fixes in a minor release because we firmly believe the resulting behavior is correct and standards-compliant, however applications that have been depending on the buggy behavior may be impacted.

If your application relies on the SAX parsers, and in particular if you're SAX-parsing documents with parsed entities or incorrect encoding declarations, please read the changelog below carefully.

Fragment parsing

Document fragment parsing has been improved, particularly with respect to handling malformed fragments or fragments with implicit namespace prefixes. Namespace reconciliation still isn't where we want it to be, but it's an improvement.

HTML5 fragment parsing now allows the context node to be specified as a keyword argument to the HTML5::DocumentFragment.parse and .new methods, which in particular should allow for more flexible sanitization and support for the draft HTML Sanitizer API in downstream libraries.

Error handling

In scenarios where multiple errors could be reported by the underlying parser, the errors will be aggregated into a single ::Nokogiri::XML::SyntaxError that is raised. Previously only the final error reported by libxml2 was raised which was often misleading if it was only a warning and not the fatal error.

Schema validation

We've resolved many long-standing bugs in the various schema classes, validation methods, and their error reporting. Behavior is now consistent across schema types and input types, as well as parser backends (Xerces and libxml2).

Added

Improved

Fixed

Changed

Deprecated

v1.16.7 / 2024-07-27

Dependencies

v1.16.6 / 2024-06-13

Dependencies

v1.16.5

Security

Dependencies

v1.16.4 / 2024-04-10

Dependencies

v1.16.3 / 2024-03-15

Dependencies

Changed

v1.16.2 / 2024-02-04

Security

Dependencies

v1.16.1 / 2024-02-03

Dependencies

Fixed

v1.16.0 / 2023-12-27

Notable Changes

Ruby

This release introduces native gem support for Ruby 3.3.

This release ends support for Ruby 2.7, for which upstream support ended 2023-03-31.

Pattern matching

This version marks official support for the pattern matching API in XML::Attr, XML::Document, XML::DocumentFragment, XML::Namespace, XML::Node, and XML::NodeSet (and their subclasses), originally introduced as an experimental feature in v1.14.0. (@flavorjones)

Documentation on what can be matched:

Dependencies

Fixed

Removed

Thank you!

The following people and organizations were kind enough to sponsor @flavorjones or the Nokogiri project during the development of v1.16.0:

We'd also like to thank @github who donate a ton of compute time for our CI pipelines!

1.15.6 / 2024-03-16

Security

Dependencies

1.15.5 / 2023-11-17

Dependencies

1.15.4 / 2023-08-11

Dependencies

Fixed

1.15.3 / 2023-07-05

Fixed

1.15.2 / 2023-05-24

Dependencies

Fixed

1.15.1 / 2023-05-19

Dependencies

Fixed

1.15.0 / 2023-05-15

Notes

Ability to opt into system malloc and free

Since 2009, Nokogiri has configured libxml2 to use ruby_xmalloc et al for memory management. This has provided benefits for memory management, but comes with a performance penalty.

Users can now opt into using system malloc for libxml2 memory management by setting an environment variable:

# "default" here means "libxml2's default" which is system malloc
NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default

Benchmarks show that this setting will significantly improve performance, but be aware that the tradeoff may involve poorer memory management including bloated heap sizes and/or OOM conditions.

You can read more about this in the decision record at adr/2023-04-libxml-memory-management.md.

Dependencies

Added

Changed

Fixed

Improved

Deprecated

Thank you!

The following people and organizations were kind enough to sponsor @flavorjones or the Nokogiri project during the development of v1.15.0:

We'd also like to thank @github who donate a ton of compute time for our CI pipelines!

1.14.5 / 2023-05-24

Note

To ensure that JRuby users on Java 8 can apply the security changes from v1.14.4, we're cutting this release on the v1.14.x branch. We don't expect to make any more v1.14.x releases.

(The changes in this release are incorporated into the v1.15.x release branch at v1.15.2.)

Dependencies

Fixed

1.14.4 / 2023-05-11

Dependencies

The Nokogiri maintainers wish to stress that Nokogiri users were not vulnerable to this CVE, as we explained in GHSA-qwq9-89rg-ww72, and so upgrading is really at the discretion of users.

This release was cut primarily so that JRuby users of v1.14.x can avoid vulnerability scanner alerts on earlier versions of Xalan-J.

1.14.3 / 2023-04-11

Security

Dependencies

1.14.2 / 2023-02-13

Fixed

1.14.1 / 2023-01-30

Fixed

1.14.0 / 2023-01-12

Notable Changes

Ruby

This release introduces native gem support for Ruby 3.2. (Also see "Technical note" under "Changed" below.)

This release ends support for:

Faster, more reliable installation: Native Gem for aarch64-linux (aka linux/arm64/v8)

This version of Nokogiri ships official native gem support for the aarch64-linux platform, which should support AWS Graviton and other ARM64 Linux platforms. Please note that glibc >= 2.29 is required for aarch64-linux systems, see Supported Platforms for more information.

Faster, more reliable installation: Native Gem for arm-linux (aka linux/arm/v7)

This version of Nokogiri ships experimental native gem support for the arm-linux platform. Please note that glibc >= 2.29 is required for arm-linux systems, see Supported Platforms for more information.

Pattern matching

This version introduces an experimental pattern matching API for XML::Attr, XML::Document, XML::DocumentFragment, XML::Namespace, XML::Node, and XML::NodeSet (and their subclasses).

Some documentation on what can be matched:

We welcome feedback on this API at #2360.

Dependencies

CRuby

JRuby

Added

Improved

Functional

Performance

Error handling

Installation

Fixed

Deprecated

Changed

Thank you!

The following people and organizations were kind enough to sponsor @flavorjones or the Nokogiri project during the development of v1.14.0:

1.13.10 / 2022-12-07

Security

Improvements

1.13.9 / 2022-10-18

Security

Dependencies

Fixed

1.13.8 / 2022-07-23

Deprecated

Improvements

Fixed

1.13.7 / 2022-07-12

Fixed

XML::Node objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. #2578

1.13.6 / 2022-05-08

Security

Improvements

1.13.5 / 2022-05-04

Security

Dependencies

Improvements

Changed

1.13.4 / 2022-04-11

Security

Dependencies

1.13.3 / 2022-02-21

Fixed

1.13.2 / 2022-02-21

Security

Please see GHSA-fq42-c5rg-92c2 for more information about these CVEs.

Dependencies

1.13.1 / 2022-01-13

Fixed

1.13.0 / 2022-01-06

Notes

Ruby

This release introduces native gem support for Ruby 3.1. Please note that Windows users should use the x64-mingw-ucrt platform gem for Ruby 3.1, and x64-mingw32 for Ruby 2.6–3.0 (see RubyInstaller 3.1.0 release notes).

This release ends support for:

Faster, more reliable installation: Native Gem for ARM64 Linux

This version of Nokogiri ships experimental native gem support for the aarch64-linux platform, which should support AWS Graviton and other ARM Linux platforms. We don't yet have CI running for this platform, and so we're interested in hearing back from y'all whether this is working, and what problems you're seeing. Please send us feedback here: Feedback: Have you used the aarch64-linux native gem?

Publishing

This version of Nokogiri opts-in to the "MFA required to publish" setting on Rubygems.org. This and all future Nokogiri gem files must be published to Rubygems by an account with multi-factor authentication enabled. This should provide some additional protection against supply-chain attacks.

A related discussion about Trust exists at #2357 in which I invite you to participate if you have feelings or opinions on this topic.

Dependencies

Improved

Fixed

Deprecated

1.12.5 / 2021-09-27

Security

[JRuby] Address CVE-2021-41098 (GHSA-2rr5-8q37-2w7h).

In Nokogiri v1.12.4 and earlier, on JRuby only, the SAX parsers resolve external entities (XXE) by default. This fix turns off entity-resolution-by-default in the JRuby SAX parsers to match the CRuby SAX parsers' behavior.

CRuby users are not affected by this CVE.

Fixed

1.12.4 / 2021-08-29

Notable fix: Namespace inheritance

Namespace behavior when reparenting nodes has historically been poorly specified and the behavior diverged between CRuby and JRuby. As a result, making this behavior consistent in v1.12.0 introduced a breaking change.

This patch release reverts the Builder behavior present in v1.12.0..v1.12.3 but keeps the Document behavior. This release also introduces a Document attribute to allow affected users to easily change this behavior for their legacy code without invasive changes.

Compensating Feature in XML::Document

This release of Nokogiri introduces a new Document boolean attribute, namespace_inheritance, which controls whether children should inherit a namespace when they are reparented. Nokogiri::XML:Document defaults this attribute to false meaning "do not inherit," thereby making explicit the behavior change introduced in v1.12.0.

CRuby users who desire the pre-v1.12.0 behavior may set document.namespace_inheritance = true before reparenting nodes.

See https://nokogiri.org/rdoc/Nokogiri/XML/Document.html#namespace_inheritance-instance_method for example usage.

Fix for XML::Builder

However, recognizing that we want Builder-created children to inherit namespaces, Builder now will set namespace_inheritance=true on the underlying document for both JRuby and CRuby. This means that, on CRuby, the pre-v1.12.0 behavior is restored.

Users who want to turn this behavior off may pass a keyword argument to the Builder constructor like so:

Nokogiri::XML::Builder.new(namespace_inheritance: false)

See https://nokogiri.org/rdoc/Nokogiri/XML/Builder.html#label-Namespace+inheritance for example usage.

Downstream gem maintainers

Note that any downstream gems may want to specifically omit Nokogiri v1.12.0--v1.12.3 from their dependency specification if they rely on child namespace inheritance:

Gem::Specification.new do |gem|
  # ...
  gem.add_runtime_dependency 'nokogiri', '!=1.12.3', '!=1.12.2', '!=1.12.1', '!=1.12.0'
  # ...
end

Fixed

1.12.3 / 2021-08-10

Fixed

1.12.2 / 2021-08-04

Fixed

1.12.1 / 2021-08-03

Fixed

1.12.0 / 2021-08-02

Notable Addition: HTML5 Support (CRuby only)

HTML5 support has been added (to CRuby only) by merging Nokogumbo into Nokogiri. The Nokogumbo public API has been preserved, so this functionality is available under the ::Nokogiri::HTML5 namespace. [#2204]

Please note that HTML5 support is not available for JRuby in this version. However, we feel it is important to think about JRuby and we hope to work on this in the future. If you're interested in helping with HTML5 support on JRuby, please reach out to the maintainers by commenting on issue #2227.

Many thanks to Sam Ruby, Steve Checkoway, and Craig Barnes for creating and maintaining Nokogumbo and supporting the Gumbo HTML5 parser. They're now Nokogiri core contributors with all the powers and privileges pertaining thereto. 🙌

Notable Change: ::Nokogiri::HTML4 module and namespace

::Nokogiri::HTML has been renamed to ::Nokogiri::HTML4, and ::Nokogiri::HTML is aliased to preserve backwards-compatibility. ::Nokogiri::HTML and ::Nokogiri::HTML4 parse methods still use libxml2's (or NekoHTML's) HTML4 parser in the v1.12 release series.

Take special note that if you rely on the class name of an object in your code, objects will now report a class of Nokogiri::HTML4::Foo where they previously reported Nokogiri::HTML::Foo. Instead of relying on the string returned by Object#class, prefer Class#=== or Object#is_a? or Object#instance_of?.

Future releases of Nokogiri may deprecate HTML methods or otherwise change this behavior, so please start using HTML4 in place of HTML.

Added

Changed

Fixed

Improved

Deprecated

Dependencies

1.11.7 / 2021-06-02

Fixed

1.11.6 / 2021-05-26

Fixed

1.11.5 / 2021-05-19

Fixed

[Windows CRuby] Work around segfault at process exit on Windows when using libxml2 system DLLs.

libxml 2.9.12 introduced new behavior to avoid memory leaks when unloading libxml2 shared libraries (see libxml/!66). Early testing caught this segfault on non-Windows platforms (see #2059 and libxml@956534e) but it was incompletely fixed and is still an issue on Windows platforms that are using system DLLs.

We work around this by configuring libxml2 in this situation to use its default memory management functions. Note that if Nokogiri is not on Windows, or is not using shared system libraries, it will will continue to configure libxml2 to use Ruby's memory management functions. Nokogiri::VERSION_INFO["libxml"]["memory_management"] will allow you to verify when the default memory management functions are being used. [#2241]

Added

Nokogiri::VERSION_INFO["libxml"] now contains the key "memory_management" to declare whether libxml2 is using its default memory management functions, or whether it uses the memory management functions from ruby. See above for more details.

1.11.4 / 2021-05-14

Security

[CRuby] Vendored libxml2 upgraded to v2.9.12 which addresses:

Note that two additional CVEs were addressed upstream but are not relevant to this release. CVE-2021-3516 via xmllint is not present in Nokogiri, and CVE-2020-7595 has been patched in Nokogiri since v1.10.8 (see #1992).

Please see nokogiri/GHSA-7rrm-v45f-jp64 or #2233 for a more complete analysis of these CVEs and patches.

Dependencies

1.11.3 / 2021-04-07

Fixed

1.11.2 / 2021-03-11

Fixed

Improved

Changed

1.11.1 / 2021-01-06

Fixed

1.11.0 / 2021-01-03

Notes

Faster, more reliable installation: Native Gems for Linux and OSX/Darwin

"Native gems" contain pre-compiled libraries for a specific machine architecture. On supported platforms, this removes the need for compiling the C extension and the packaged libraries. This results in much faster installation and more reliable installation, which as you probably know are the biggest headaches for Nokogiri users.

We've been shipping native Windows gems since 2009, but starting in v1.11.0 we are also shipping native gems for these platforms:

We'd appreciate your thoughts and feedback on this work at #2075.

Dependencies

Ruby

This release introduces support for Ruby 2.7 and 3.0 in the precompiled native gems.

This release ends support for:

Gems

Security

See note below about CVE-2020-26247 in the "Changed" subsection entitled "XML::Schema parsing treats input as untrusted by default".

Added

Performance

Improved

Fixed

Removed

Changed

XML::Schema input is now "untrusted" by default

Address CVE-2020-26247.

In Nokogiri versions <= 1.11.0.rc3, XML Schemas parsed by ::Nokogiri::XML::Schema were trusted by default, allowing external resources to be accessed over the network, potentially enabling XXE or SSRF attacks.

This behavior is counter to the security policy intended by Nokogiri maintainers, which is to treat all input as untrusted by default whenever possible.

Please note that this security fix was pushed into a new minor version, 1.11.x, rather than a patch release to the 1.10.x branch, because it is a breaking change for some schemas and the risk was assessed to be "Low Severity".

More information and instructions for enabling "trusted input" behavior in v1.11.0.rc4 and later is available at the public advisory.

HTML parser now obeys the strict or norecover parsing option

(Also noted above in the "Fixed" section) HTML Parsing in "strict" mode (i.e., the RECOVER parse option not set) now correctly raises a XML::SyntaxError exception. Previously the value of the RECOVER bit was being ignored by CRuby and was misinterpreted by JRuby.

If you're using the default parser options, you will be unaffected by this fix. If you're passing strict or norecover to your HTML parser call, you may be surprised to see that the parser now fails to recover and raises a XML::SyntaxError exception. Given the number of HTML documents on the internet that libxml2 would consider to be ill-formed, this is probably not what you want, and you can omit setting that parse option to restore the behavior that you have been relying upon.

Apologies to anyone inconvenienced by this breaking bugfix being present in a minor release, but I felt it was appropriate to introduce this fix because it's straightforward to fix any code that has been relying on this buggy behavior.

VersionInfo, the output of nokogiri -v, and related constants

This release changes the metadata provided in ::Nokogiri::VersionInfo which also affects the output of nokogiri -v. Some related constants have also been changed. If you're using VersionInfo programmatically, or relying on constants related to underlying library versions, please read the detailed changes for ::Nokogiri::VersionInfo at #2139 and accept our apologies for the inconvenience.

1.10.10 / 2020-07-06

Features

1.10.9 / 2020-03-01

Fixed

1.10.8 / 2020-02-10

Security

[MRI] Pulled in upstream patch from libxml that addresses CVE-2020-7595. Full details are available in #1992. Note that this patch is not yet (as of 2020-02-10) in an upstream release of libxml.

1.10.7 / 2019-12-03

Fixed

1.10.6 / 2019-12-03

Fixed

1.10.5 / 2019-10-31

Security

[MRI] Vendored libxslt upgraded to v1.1.34 which addresses three CVEs for libxslt:

More details are available at #1943.

Dependencies

1.10.4 / 2019-08-11

Security

Address CVE-2019-5477 [#1915].

A command injection vulnerability in Nokogiri v1.10.3 and earlier allows commands to be executed in a subprocess by Ruby's Kernel.open method. Processes are vulnerable only if the undocumented method Nokogiri::CSS::Tokenizer#load_file is being passed untrusted user input.

This vulnerability appears in code generated by the Rexical gem versions v1.0.6 and earlier. Rexical is used by Nokogiri to generate lexical scanner code for parsing CSS queries. The underlying vulnerability was addressed in Rexical v1.0.7 and Nokogiri upgraded to this version of Rexical in Nokogiri v1.10.4.

This CVE's public notice is #1915

1.10.3 / 2019-04-22

Security

[MRI] Pulled in upstream patch from libxslt that addresses CVE-2019-11068. Full details are available in #1892. Note that this patch is not yet (as of 2019-04-22) in an upstream release of libxslt.

1.10.2 / 2019-03-24

Security

Fixed

1.10.1 / 2019-01-13

Added

Fixed

1.10.0 / 2019-01-04

Added

Dependencies

1.9.1 / 2018-12-17

Fixed

1.9.0 / 2018-12-17

Security

Improved

Added

Fixed

Dependencies

1.8.5 / 2018-10-04

Security

[MRI] Pulled in upstream patches from libxml2 that address CVE-2018-14404 and CVE-2018-14567. Full details are available in #1785. Note that these patches are not yet (as of 2018-10-04) in an upstream release of libxml2.

Fixed

1.8.4 / 2018-07-03

Fixed

1.8.3 / 2018-06-16

Security

[MRI] Behavior in libxml2 has been reverted which caused CVE-2018-8048 (loofah gem), CVE-2018-3740 (sanitize gem), and CVE-2018-3741 (rails-html-sanitizer gem). The commit in question is here:

https://github.com/GNOME/libxml2/commit/960f0e2

and more information is available about this commit and its impact here:

https://github.com/flavorjones/loofah/issues/144

This release simply reverts the libxml2 commit in question to protect users of Nokogiri's vendored libraries from similar vulnerabilities.

If you're offended by what happened here, I'd kindly ask that you comment on the upstream bug report here:

https://bugzilla.gnome.org/show_bug.cgi?id=769760

More Security

[MRI] Vendored libxml2 upgraded to v2.9.8 which addresses CVE-2016-9318 [#1582].

Dependencies

Added

Fixed

1.8.2 / 2018-01-29

Security

[MRI] The update of vendored libxml2 from 2.9.5 to 2.9.7 addresses at least one published vulnerability, CVE-2017-15412. [#1714 has complete details]

Dependencies

Added

Fixed

1.8.1 / 2017-09-19

Dependencies

Fixed

1.8.0 / 2017-06-04

Dependencies

This release ends support for Ruby 2.1 on Windows in the x86-mingw32 and x64-mingw32 platform gems (containing pre-compiled DLLs). Official support ended for Ruby 2.1 on 2017-04-01.

Please note that this deprecation note only applies to the precompiled Windows gems. Ruby 2.1 continues to be supported (for now) in the default gem when compiled on installation.

Dependencies

Added

Fixed

1.7.2 / 2017-05-09

Security

[MRI] Upstream libxslt patches are applied to the vendored libxslt 1.1.29 which address CVE-2017-5029 and CVE-2016-4738.

For more information:

1.7.1 / 2017-03-19

Security

[MRI] Upstream libxml2 patches are applied to the vendored libxml 2.9.4 which address CVE-2016-4658 and CVE-2016-5131.

For more information:

1.7.0.1 / 2017-01-04

Fixed

1.7.0 / 2016-12-26

Added

Dependencies

This release ends support for:

1.6.8.1 / 2016-10-03

Dependencies

Removes required dependency on the pkg-config gem. This dependency was introduced in v1.6.8 and, because it's distributed under LGPL, was objectionable to many Nokogiri users (#1488, #1496).

This version makes pkg-config an optional dependency. If it's installed, it's used; but otherwise Nokogiri will attempt to work around its absence.

1.6.8 / 2016-06-06

Security

[MRI] Bundled libxml2 is upgraded to 2.9.4, which fixes many security issues. Many of these had previously been patched in the vendored libxml 2.9.2 in the 1.6.7.x branch, but some are newer.

See these libxml2 email posts for more:

For a more detailed analysis, you may care to read Canonical's take on these security issues:

[MRI] Bundled libxslt is upgraded to 1.1.29, which fixes a security issue as well as many long-known outstanding bugs, some features, some portability improvements, and general cleanup.

See this libxslt email post for more:

Added

Several changes were made to improve performance:

Fixed

Notes

1.6.7.2 / 2016-01-20

This version pulls in several upstream patches to the vendored libxml2 and libxslt to address:

Ubuntu classifies this as "Priority: Low", RedHat classifies this as "Impact: Moderate", and NIST classifies this as "Severity: 5.0 (MEDIUM)".

MITRE record is https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7499

1.6.7.1 / 2015-12-16

This version pulls in several upstream patches to the vendored libxml2 and libxslt to address:

See also http://www.ubuntu.com/usn/usn-2834-1/

1.6.7 / 2015-11-29

Added

This version supports native builds on Windows using the RubyInstaller DevKit. It also supports Ruby 2.2.x on Windows, as well as making several other improvements to the installation process on various platforms.

Security

This version also includes the security patches already applied in v1.6.6.3 and v1.6.6.4 to the vendored libxml2 and libxslt source. See #1374 and #1376 for details.

Added

Fixed

1.6.6.4 / 2015-11-19

This version pulls in an upstream patch to the vendored libxml2 to address:

This issue was assigned CVE-2015-8710 after the fact. See http://seclists.org/oss-sec/2015/q4/616 for details.

1.6.6.3 / 2015-11-16

This version pulls in several upstream patches to the vendored libxml2 and libxslt to address:

See #1374 for details.

1.6.6.2 / 2015-01-23

Fixed

1.6.6.1 / 2015-01-22

Note that 1.6.6.0 was not released.

Added

Fixed

1.6.5 / 2014-11-26

Added

Fixed

1.6.4.1 / 2014-11-05

Fixed

1.6.4 / 2014-11-04

Added

Fixed

1.6.3.1 / 2014-07-21

Fixed

1.6.3 / 2014-07-20

Added

Fixed

1.6.2.1 / 2014-05-13

Fixed

1.6.2 / 2014-05-12

Security

A set of security and bugfix patches have been backported from the libxml2 and libxslt repositories onto the version of 2.8.0 packaged with Nokogiri, including these notable security fixes:

It is recommended that you upgrade from 1.6.x to this version as soon as possible.

Dependencies

Now requires libxml >= 2.6.21 (was previously >= 2.6.17).

Added

Fixed

1.6.1 / 2013-12-14

Fixed

1.6.0 / 2013-06-08

This release was based on v1.5.10 and 1.6.0.rc1, and contains changes mentioned in both.

Deprecations

1.6.0.rc1 / 2013-04-14

This release was based on v1.5.9, and so does not contain any fixes mentioned in the notes for v1.5.10.

Notes

Added

Dependencies

1.5.11 / 2013-12-14

Fixed

1.5.10 / 2013-06-07

Fixed

Notes

1.5.9 / 2013-03-21

Fixed

1.5.8 / 2013-03-19

Fixed

1.5.7 / 2013-03-18

Added

Fixed

1.5.6 / 2012-12-19

Added

Fixed

1.5.5 / 2012-06-24

Added

Fixed

1.5.4 / 2012-06-12

Added

Fixed

Security

(MRI) Default parse options for XML documents were changed to not make network connections during document parsing, to avoid XXE vulnerability. [#693]

To re-enable this behavior, the configuration method nononet may be called, like this:

Nokogiri::XML::Document.parse(xml) { |config| config.nononet }

Insert your own joke about double-negatives here.

1.5.3 / 2012-06-01

Added

Fixed

1.5.2 / 2012-03-09

Repackaging of 1.5.1 with a gemspec that is compatible with older Rubies. [#631, #632]

1.5.1 / 2012-03-09

Added

Fixed

1.5.0 / 2011-07-01

Notes

Added

Fixed

1.5.0 beta3 / 2010-12-02

Notes

Fixed

1.5.0 beta2 / 2010-07-30

Notes

1.5.0 beta1 / 2010-05-22

Notes

Dependencies

Removed

1.4.7 / 2011-07-01

Fixed

1.4.6 / 2011-06-19

Notes

1.4.5 / 2011-05-19

Added

Fixed

1.4.4 / 2010-11-15

Added

Fixed

1.4.3 / 2010-07-28

Added

Fixed

1.4.2 / 2010-05-22

Added

Fixed

Notes

1.4.1 / 2009-12-10

Added

Fixed

1.4.0 / 2009-10-30

Added

Fixed

Removed

1.3.3 / 2009-07-26

Added

Fixed

Deprecations

1.3.2 / 2009-06-22

Added

Fixed

Deprecations

1.3.1 / 2009-06-07

Fixed

1.3.0 / 2009-05-30

Added

Fixed

1.2.3 / 2009-03-22

Fixed

1.2.2 / 2009-03-14

Added

Fixed

1.2.1 / 2009-02-23

Fixed

1.2.0 / 2009-02-22

Added

Fixed

Deprecations

Changed

1.1.1

Added

Fixed

1.1.0

Added

Fixed

1.0.7

Fixed

1.0.6

Fixed

1.0.5

Fixed

1.0.4

Fixed

1.0.3

Fixed

1.0.2

Fixed

1.0.1

Fixed

1.0.0 / 2008-07-13

Added