Sinatra 1.4 flying in soon - Update - Landed
Version 1.4 of Sinatra, the domain specific language (DSL) for creating web applications in Ruby, is imminent, according to a blog post by its current maintainer, Konstantin Haase. The new version will be the first release with new features since October 2011's 1.3.0 release. Those new features include support for new HTTP methods, updated templates, an improved classic mode, better parsing of routes, MIME-type parameters and more supported servers.
The additional HTTP methods,
UNLINK are being proposed, in an update of their original definition in RFC2068 from which they were dropped. The methods would allow requests to define, or remove, relationships between URIs and other resources, in an idea that was explored in RFC5988.
The Yajl, Rabl, Wlang and Stylus template systems are now supported, and WLang, along with existing template support for ERb, Haml, Slim and Liquid can all be nested together. Sinatra's "Classic Mode" has been modified so it no longer adds private methods to
Object; this makes life easier for developers implementing objects that use
method_missing for dynamic methods. Route parsing has also been made more robust with more accurate parsing, and request objects now make the Mime-Type parameter available when parsing Accept headers.
The server support enhancements mean that, as well as WEBrick, Thin and Mongrel, Sinatra will be able to pick up on Puma, Trinidad, ControlTower and Net HTTP Server when they are installed and use them depending on the Ruby implementation in use. There have also been improvements in exception handling, compatibility with Rack, RDoc and RubyGems. The documentation has migrated from RDoc to Markdown.
Once Sinatra 1.4.0 is released, 1.3.0 will go into a maintenance mode where only major bug fixes and security fixes will be applied and Sinatra 1.2, the branch maintained for Ruby 1.8.6 compatibility, will be discontinued. There is no roadmap currently for Sinatra 1.5, but the version number will appear as soon as the first feature is checked into the master development tree, at which point a 1.4.x branch will also be created for bug and security fixes. Plans for Sinatra 2.0 do exist in prototype form and will probably use Ruby 2.0.
Source for Sinatra is available on GitHub and can be installed using RubyGems (
gem install sinatra). Sinatra 1.4 is not released quite yet, but can be installed using the command
gem install sinatra -pre – further details can be found in the Sinatra documentation on working with "The Bleeding Edge". Sinatra is distributed under an MIT licence.
Update (15/3/2013) - It has been announced that Sinatra 1.4 is now available. Source can be downloaded from the Sinatra Github repository, installed with
gem install sinatra, and exisiting installations can be updated with
gem update sinatra.