Merb 1.1 roadmap

Yesterday, Carl Lerche, Yehuda Katz and myself had a meeting to discuss Merb 1.1′s roadmap.

Key items on the agenda were:

  • Ruby 1.9
  • Mountable apps
  • migration path to Rails3

After spending some time arguing back and forth, we decided that few things had to happen before we could migrate the current slices to pure mountable apps. Freezing the releases while waiting to get that done doesn’t seem like a good idea.

Therefore, here is the plan for Merb 1.1:

  • Ruby 1.9 full compatibility (with the very appreciated help from Maiha and Genki (preview of their work there)). Because Merb depends on different gems, we also need to work with 3rd party developers to make sure Merb’s dependencies are Ruby 1.9 compatible
  • Merb helpers (fixes, enhancement and missing helpers)
  • Make Merb controllers, rack endpoints. This is a fully transparent change for the framework users. By making this switch, we offer more flexibility to the router (you can mount a sinatra app for instance) and we adopt the same approach as Rails 2.3 making the transition to 3 much easier and facilitating the implementation of mountable apps. Again, this is an internal change and you won’t have to change anything in your application.
  • Router optimization, Carl has been working on few tricks/optimizations for the router that will be available in 1.1
  • Namespacing. If we want to make every single application, a potential mountable app, we need to namespace our applications. This is something we already do with slices, but currently generated applications are not namespaced. We are planning on doing that for 1.1 (backward compatible) to make mountable apps easier.
  • ActiveORM. ActiveORM is an ORM abstraction layer developed by Lori Holden (AT&T interactive) which helps with helpers and other parts of your code accessing your ORM directly. For instance, the errors_for method need to be implemented differently depending on the underlying ORM. ActiveORM offers mapping for the 3 major Ruby ORMs: ActiveRecord, DataMapper and Sequel but let you hook to it if you want to extend ActiveORM to support your own ORM.

There is plenty to do but we decided to still try to have an expected release date: around the end of March. As always in the OSS world, this is something we hope for, not a promise ;)

What about Merb 1.2?

1.2 will focus on mountable apps and we hope to get started on a separate branch before we release 1.1. However, mountable apps are hard to spec and we need a better feedback from the community. Tell us what you like with slices and what you don’t like. Let us know how you would like the new mountable apps to work. Be as precise as possible. (you can leave a comment here or on the mailing list)

Similar Posts


  1. #1 by teamon - March 2nd, 2009 at 12:44

    Everythiing is great, but why ActiveORM? You used Google to find the worst possible name? ( :P )

  2. #2 by Matthew - March 2nd, 2009 at 15:47

    Ruby 1.9 compatibility is something I’ve been eagerly awaiting for a while now, excited to hear it’s definitely on the roadmap for 1.1!

    More Rack-ness is a good thing, too, sounds great for interoperability and transparency of the merb innards.

    (While we’re on the subject of 1.9…. it would also be really great to get the Merb on JRuby experience a bit more streamlined and better tested. It seems you guys are 95% of the way there, but that last mile would really go a long way to opening up the range of deploy options for those of us trying to squeeze performance out of ruby web apps :)

  3. #3 by dc - March 3rd, 2009 at 06:44

    hi -

    you left out the stuff about migration path to rails 3.
    until now i spent a lot of time working with merb, and was quite happy with that investment. but now we are starting new projects, and there is a lot of restlessness with my dev team. an example is a mail below i got, verbatim, from one of our top tech staff. any comments would be appreciated…

    should we freeze any new investment in merb until these things are resolved?

    > i didnt really want to keep mixed environment, but merbrails merge
    > > leaves a lot of uncertainties.
    > >
    The only one thing that I’m worrying about is that Merb is actually
    dead. You know, that community wasn’t powerful enough to make thing like
    Rails with full infrastructure etc. So I currently prefer Rails. That
    Merb and Rails merge actually will be something like some great Merb
    things will be ported to Rails, that’s all. It will be very ease to
    migrate from rails 2 to rails 3 comparing to from Merb to rails 3.

  4. #4 by Alex - March 3rd, 2009 at 23:06

    Awesome news! It’s cool to read that merb 1.1 and 1.2 are planned. Also I hope to see modular AS because it’s still hard to make merb apps without AS and unfortunately AS will eat too much.

  5. #5 by Matt Aimonetti - March 4th, 2009 at 00:01

    @dc As shown by the recent announcements, Merb isn’t dead, there is still a lot of work to do before we can migrate to Rails3. Migrating from Merb to Rails shouldn’t be harder than migrating from Rails 2.x to 3.x, but it all depends what you are doing with Merb and/or Rails.

    If your new projects don’t require a custom stack or high performance, I’d probably recommend to use Rails, otherwise, I still think you should use Merb.

    @alex Modularizing AS has been put on the back burner after one of our core members (Michel Klishin) got really busy with a professional project and can’t spend too much time on it at the moment.

  6. #6 by BrianTheCoder - March 4th, 2009 at 09:23

    Instead of optimizing the merb router, why not work with the rails team on rack-mount. That seems to be the prototype for the new router and its already all rack based, which seems like it would help with the mountable apps. It would also help ease the transition path if that is what they end up using.

  1. No trackbacks yet.

Comments are closed.