# [develop](https://github.com/benlangfeld/ruby_speech) # [1.1.0](https://github.com/benlangfeld/ruby_speech/compare/v1.0.2...v1.1.0) - [2013-03-02](https://rubygems.org/gems/ruby_speech/versions/1.1.0) * Feature: NLSML building & parsing # [1.0.2](https://github.com/benlangfeld/ruby_speech/compare/v1.0.1...v1.0.2) - [2012-12-26](https://rubygems.org/gems/ruby_speech/versions/1.0.2) * Bugfix: Get test suite passing on JRuby # [1.0.1](https://github.com/benlangfeld/ruby_speech/compare/v1.0.0...v1.0.1) - [2012-10-24](https://rubygems.org/gems/ruby_speech/versions/1.0.1) * Bugfix: Don't load rubygems because it is evil * Bugfix: Allow setting language (and other) attributes on root of SSML doc when using #draw DSL # 1.0.0 - 2012-03-13 * Bump major version because we have a stable API # 0.5.1 - 2012-01-09 * Feature: Chaining child injection using #<< now works * Feature: Reading the repeat value for a GRXML Item now returns an Integer or a Range, rather than the plain string * Feature: Most simple GRXML grammars now return PotentialMatch when the provided input is valid but incomplete. This does not work for complex grammars including repeats and deep nesting. Fixes for these coming soon. # 0.5.0 - 2012-01-03 * Feature: Add a whole bunch more SSML elements: ** p & s ** mark ** desc ** sub ** phoneme * Feature: Added the ability to inline grammar rule references in both destructive and non-destructive modes * Feature: Added the ability to tokenize a grammar, turning all tokens into unambiguous `` elements * Feature: Added the ability to whitespace normalize a grammar * Feature: Added the ability to match an input string against a Grammar * Feature: Constructing a GRXML grammar with a root rule specified but not provided will raise an exception * Feature: Embedding a GRXML grammar of a mode different from the host will raise an exception * Bugfix: Fix upward traversal through a document via #parent # 0.4.0 - 2011-12-30 * Feature: Add the ability to look up child elements by name/attributes easily * Feature: Allow easy access to a GRXML grammar's root rule element * Feature: Allow inlining a Grammar's rulerefs * Bugfix: Ruby 1.8 and JRuby don't do a tree-search for const_defined? * Bugfix: Don't try to pass a method call up to the DSL block binding if it doesn't respond to the method either # 0.3.4 * Eager-autoload all elements so that importing will work with elements that havn't been used yet directly * Allow using the DSL with method calls out of the block * Fix inspection/comparison of some elements that don't have a language attribute # 0.3.3 * Allow `SSML::Element.import` and `GRXML::Element.import` to take a string as well as a Nokogiri::XML::Node * Allow importing GRXML/SSML documents via their respective modules (eg `RubySpeech::GRXML.import ''`) # 0.3.2 * Fix inheriting an `SSML::Speak`'s language. Previously an imported `` would end up with a `lang` attribute in addition to `xml:lang`, and `xml:lang` would have the default value (`en-US`). This required a Niceogiri dependency update. # 0.3.1 * Get the whole test suite passing on Ruby 1.8.7 and JRuby (thanks to Taylor Carpenter!) # 0.3.0 * Feature (Taylor Carpenter): Added support for GRXML documents with most elements implemented. # 0.2.2 * Feature: The SSML DSL now supports embedding SSML documents, elements or strings via the `embed` method. This behaves as you might expect: ```ruby doc1 = RubySpeech::SSML.draw do string "Hi, I'm Fred. The time is currently " say_as :interpret_as => 'date', :format => 'dmy' do "01/02/1960" end end doc2 = RubySpeech::SSML.draw do voice :gender => :male, :name => 'fred' do embed doc1 end end doc2.to_s ``` ```xml Hi, I'm Fred. The time is currently 01/02/1960 ``` # 0.2.1 * Bugfix: SSML element's children now include any text content, and text content is copied when importing/concatenating documents # 0.2.0 * API Change: SSML::SayAs.new (and the DSL method `say_as`) now take `:interpret_as` in the options hash, rather than a separate first argument. This is for consistency with the other element types. * Feature: SSML elements can now be imported from a Nokogiri Node or a string * Feature: SSML elements now respond to #children with an array of SSML elements, rather than a Nokogiri NodeSet * Bugfix/Feature: Comparing SSML elements now compares children # 0.1.5 * Feature: Now added support for SSML `