Padrino 0.12.4 was shipped on October 19th 2014. Hard to believe that just about a year has flown by since then as we have been working towards our next major release of Padrino. While there have been betas available for some time, we are excited to announce the final release of Padrino 0.13.0! This version has a huge host of improvements and upgrades, both big and small.

This 0.13.0 release brings several major changes and updates including a completely redesigned router, significant performance enhancements, streaming support, bug fixes and a ton of code cleanup. Full details for this release are below. You should also check out the 0.13.0 upgrade guide as well for a detailed look at moving up from 0.12.X.

Redesigned Mustermann Router

One of the big changes in this release was the retirement of http_router which is no longer being maintained. We have switched to a brand new router written by @namusyaka. The older router had accrued significant technical debt with many hacks and workarounds introduced along with thread-safety issues. We’ve been working on this redesigned router for quite sometime, running router benchmarks and making sure we took our time to ensure a smooth replacement. We are proud to unveil the new router with this release and you can read more details in this PR.

Project-wide Configuration

With 0.13.0 comes project-wide global configuration options with environment support. This is inspired by the Sinatra configuration system but is project-wide rather than app-specific. Configuration can be done anywhere in your project including config/apps.rb:

Padrino.config.value1=42Padrino.configure:developmentdo|config|config.value2="only development"endPadrino.configure:development,:productiondo|config|config.value2="both development and production"endPadrino.configuredo|config|config.value2="any environment"end

Sinatra Upgrades

In this release, we have upgraded Sinatra to the latest 1.4.6 release which allowed us to clean up several previous workarounds. The result is an even cleaner integration with Sinatra. This includes the following Sinatra compatibility improvements:

Want to give a special thanks to the key contributors for this release, working tirelessly to make this Padrino release happen: @ujifgc, @namusyaka. Thanks so much!

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.