Padrino

Padrino 0.9.22 - Quick Followup Release

Even though we just released the latest Padrino (0.9.21) and that was relatively stable (for a pre-stable), an unexpected event happened shortly thereafter. Sinatra released the final version of 1.2.0. This was an awesome release thanks in large part to Konstantin Haase. Even though the release has many great things, it also added a new helper method to Sinatra called uri and aliased as url .

This of course overlaps with the padrino url method . This causes incompatibility with Padrino and Sinatra 1.2.0 so a quick fix was in order. At the same time, there were a number of other patches after our last release which we will roll in as well including http fixes and japanese translations. Details are in the full post.

Locked Padrino to Sinatra 1.1

Padrino will soon be fully compatible with Sinatra 1.2.0. Until then, we locked Padrino to Sinatra < 1.2.0 in order to guarantee proper functioning in this release.

Performance Improvements

Padrino is always striving to be faster and to give more throughput. After all a big advantage of Padrino is that it require less memory and resources than other frameworks as well as providing higher requests per second. There has been a recent push to update our benchmarks to be as correct and relevant as possible. Thanks to judofyr for his help with making the benchmarks more accurate. See the results or fork us and help improve them.

In that vein we also made to small changes to improve performance:

  • Padrino now subclasses from Sinatra::Base rather than Sinatra::Application. This is faster and doesn’t remove any functionality we require.
  • Padrino now supports the set :padrino_logging, false option to stop padrino from logging and improve speed significantly in return.

There will be a stronger performance push soon as we work to keep Padrino as lightweight as possible.

HTTP Fixes

Patrick Lef has been kind enough to point out multiple failing http specs in our core handling, so we made" a few fixes. Thanks to core Padrino member Florian for putting those all together so quickly!

Major changes were:

  • Set status to 406 on non-provided ACCEPTS
  • Return first provided mime-type on ACCEPT = /
  • Assume / if no ACCEPT header is given

Being a web server, Padrino desires to fully respect the standard behaviors specified and we are getting closer each release :) If you know of any outstanding bugs please open an issue.

Japanese Translations

udzura recently sent us Japanese translations to Padrino. We have really gotten quite a lot of internationalization support for admin and every new language is great to be able to include. Are we missing a localization for your language? Be sure to let us know or submit a patch to help us include that.

Compatibility fixes

  • Fixes mongoid locking it to correct dependency
  • Fixes password encryption in the account model
  • Fixes mongomapper template in admin

Contribute

Please report any issues you encounter with this release! We are working very actively on Padrino and want to make the framework as stable and reliable as possible. That concludes the changelog for this release. As always if you want to keep up with Padrino updates, be sure to follow us on twitter: @padrinorb, join us on IRC at “#padrino” on freenode, open an issue, or discuss on gitter.


comments powered by Disqus