# builder-2.1.1.rdoc

Path: | doc/releases/builder-2.1.1.rdoc
Last Update: | Tue Apr 09 11:17:37 +0000 2013

# Builder 2.1.1 Released.

Release 2.1.1 of Builder is mainly a bug fix release.

## Changes in 2.1.1

- Added `reveal` capability to BlankSlate.
- Fixed a bug in BlankSlate where including a module into Object could cause methods to leak into BlankSlate.
- Fixed typo in XmlMarkup class docs (from Martin Fowler).
- Fixed test on private methods to differentiate between targetted and untargetted private methods.
- Removed legacy capture of @self in XmlBase (@self was used back when we used instance eval).
- Added additional tests for global functions (both direct and included).
- Several misc internal cleanups, including rearranging the source code tree.

NOTE: The escaping attribute values by default is different than in previous releases of Builder. This makes version 2.0.x somewhat incompatible with the 1.x series of Builder. If you use "&", "<", or ">" in attributes values, you may have to change your code. (Essentially you remove the manual escaping. The new way is easier, believe me).

## What is Builder?

Builder::XmlMarkup is a library that allows easy programmatic creation of XML markup. For example:

      builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
      builder.person { |b| b.name("Jim"); b.phone("555-1234") }

will generate:

      <person>
        <name>Jim</name>
        <phone>555-1234</phone>
      </person>

## Availability

The easiest way to get and install builder is via RubyGems …

      gem install builder    (you may need root/admin privileges)

## Thanks

- Martin Fowler for spotting some typos in the documentation.

[Validate]