The latest release of Spira is numbered 0.5.0, which is a quite unexpected leap from the previous 0.0.12. There have been so many changes to this gem since February 9, 2011 that it shifted a great number of versions before hitting the official release today.
Before describing the new features, I should note that the latest release is not backwards-compatible with Spira 0.0.12. Two years of github.com can change your gem beyond recognition. Don’t be scared however — it still works as you expect it to, but with more bells and whistles now. Newest Spira is also not compatible with Ruby 1.8 or earlier.
So, the major feature of Spira 0.5.0 is ActiveModel “compatibility”. That is, Spira models are now some first-class citizens of Ruby on Rails infrastructure. Spira API now almost completely mirrors the API of ActiveRecord, making it a drop-in replacement for the latter. Well, to a certain degree. Now that the internals of Spira are driven by ActiveModel, you can use other features “for free”: habitual
dirty? status and
changed attributes. They now are provided by ActiveModel with all the benefits thereof. Hopefully, you can expect nearly identical behaviour of Spira and ActiveRecord models and thus make other gems from Rails ecosystem happy. For more details about ActiveModel integration refer to “ActiveModel integration” section in README file which is bundled with the gem.
There are a lot of minor changes (Psych-based serialization, ability to redefine properties on subclasses, new property types), but you should take a look at README and the Yard documentation for the gem, really.
Big thanks to all of the contributors of Spira! In particular, to the most active ones: Aymeric Brisse for using and contributing to Spira (with more pull requests to come) and Gregg Kellogg for the contributions and for helping during the pre-release phase. Yours truly did all the rest ;-)
Go ahead, install Spira, play with it, send feedback and bug reports or suggestions to the project home page.