---
title: The Road to Rails 3
teaser:
tags: news,web,rails,open source
author: Chad Pytel
published_on: 2010-06-11
---

![''](http://images.thoughtbot.com/ui/yellow-brick-road.jpg)

Being at RailsConf 5 has given us the opportunity to finalize a lot of the work
we’ve done to prepare our plugins and gems for Rails 3.  Thankfully, for many of
the most popular gems, we’ve been able to maintain both Rails 3 and Rails 2.3.x
compatibility in one gem. However, we’re taking this opportunity to say goodbye
to some of our less widely used plugins, and some we plan on dropping Rails 2
support for altogether.

Obviously, Rails 3 isn’t actually out yet, so what we’re talking about here is
Rails 3 beta 4. We’ll continue to keep things up to date and tested as we all
move toward the release of Rails 3. Your help and patches are more than welcome.

So here is a comprehensive overview of the current status of the projects for
both Rails 3 beta 4 and Rails 2.

### [Paperclip](http://github.com/thoughtbot/paperclip)

We released [Paperclip 2.3.3](http://rubygems.org/gems/paperclip/versions/2.3.3)
a few days ago. This new version of Paperclip will work with Rails 3. Thanks to
the investigation of nragaz and help from isaac and joeljunstrom on github, we
worked out the kinks and it should be working with the Rails 2.3.x line, and
Rails 3-beta 4. For the latest version of Paperclip, we’re no longer officially
supporting Rails 2.0.x. The earliest version that will work is Rails 2.1.0. If
you need support for an older version of Rails than that, you can use [Paperclip
2.3.1.1](http://rubygems.org/gems/paperclip/versions/2.3.1.1).

### [hoptoad_notifier](http://github.com/thoughtbot/hoptoad_notifier)

A few days ago we released [hoptoad_notifier
2.2.6](http://rubygems.org/gems/hoptoad_notifier/versions/2.2.6) with includes
support for Rails 3-beta 4 as well as all versions of Rails 2.x and Rails 1.2.6.

### [shoulda](http://github.com/thoughtbot/shoulda)

We just released [shoulda
2.11](http://rubygems.org/gems/shoulda/versions/2.11.0). Along with Rails 3
support, we’re maintaining support for Rails 2.3.x in this latest release.
However, the latest version of shoulda will not support versions of Rails less
than 2.3. If you need support for a version of Rails older than that, you can
use a previously released version.

In addition to the Rails 3 support, shoulda 2.11 introduces some dramatic
changes to shoulda, including a new way of interacting with all shoulda macros.
The previous way has been deprecated and will be removed in shoulda 3.0. We’ll
make a separate blog post detailing many of the very cool changes to shoulda and
more details about the future of shoulda soon, but for now, take a look at the
[README](http://github.com/thoughtbot/shoulda/blob/master/README.md) for the
latest information on setting up and using shoulda.

### [Factory Bot](http://github.com/thoughtbot/factory_bot)[^1]

We just pushed [factory_bot
1.3](http://rubygems.org/gems/factory_girl/versions/1.3.0) and
[factory_bot_rails
1.0](http://rubygems.org/gems/factory_girl_rails/versions/1.0). This new version
adds Rails 3 support. Because of the way that Rails 3 loading has changed, we’ve
decided to make a separate `factory_bot_rails` gem that will be used for when
you want to use `factory_bot` with Rails. The existing `factory_bot` gem is
used by `factory_bot_rails` and would be used if you’re using `factory_bot`
outside of Rails. If you want to use `factory_bot` with Rails 2 you can
continue to use the base `factory_bot` gem.

### [Clearance](http://github.com/thoughtbot/clearance)

We just released [Clearance
0.9.0.rc1](http://rubygems.org/gems/clearance/versions/0.9.0.rc1). This is a
release candidate for Clearance 0.9.0. This new version adds support for Rails 3
but drops support for Rails 2. Don’t fret, if you won’t be upgrading to Rails 3,
you can use a previously released version of the gem
([0.8.8](http://rubygems.org/gems/clearance/versions/0.8.8)). We’re doing this
one as a release candidate because of the dropping of backwards compatibility
and the fact that we haven’t had a chance to test the new version in a variety
of Rails 3 apps using clearance.

Please flex this release candidate with your Rails 3 apps and let us know how it
goes.

### [Suspenders](http://github.com/thoughtbot/suspenders)

Suspenders is currently at 2.3.5 (we haven’t been able to upgrade to 2.3.8
because of bugs we’ve seen with mongrel, webrat, and rack). We anticipate that
Suspenders will be upgraded to Rails 3 a little after Rails 3 final comes out.
But to be honest, we’re actually not sure yet what the upgrade path will look
like for applications that are currently tracking Suspenders. It may be
impossible to do without so many conflicts that its not worthwhile. We’re going
to have to work on this more and keep you posted. Additionally, we’re in the
process of making some fairly dramatic changes to Suspenders. Watch it on github
and stay tuned here for more.

### [High Voltage](http://github.com/thoughtbot/high_voltage)

Fire in the Disco! We’ve also released [High Voltage
0.9.0](http://rubygems.org/gems/high_voltage/versions/0.9.0) which supports
Rails 3 and is now a gem (it was previously just a plugin). The new version also
drops support for Rails 2. If you need the previous, Rails 2 plugin there is a
[rails2 branch](http://github.com/thoughtbot/high_voltage/tree/rails2) you can
retrieve it from.

### [Pacecar](http://github.com/thoughtbot/pacecar)

We also just released [Pacecar
1.3](http://rubygems.org/gems/pacecar/versions/1.3.0) which supports Rails 3 and
drops support for Rails 2. As in the other cases where we’ve done this, you can
use the previous version of the gem, [version
1.2.0](http://rubygems.org/gems/pacecar/versions/1.2.0) with Rails 2, or track
the rails2 branch.

### [Squirrel](http://github.com/thoughtbot/squirrel)

Squirrel was born out of a desire to make a new query syntax that was dynamic
while being clean and simple. With Rails 3’s introduction of the New Active
Record chainable query language, that goal has now been achieved in Rails. As a
result, we’ll no longer be maintaining Squirrel. It was a fun ride.

### [Mile Marker](http://github.com/thoughtbot/mile_marker)

Over time, our workflow slightly changed for how we built applications and we
haven’t used Mile Marker ourselves for some time now. As a result, we’re taking
this opportunity to cease maintenance of this plugin and bid it farewell.

### Moving on down the road

We’ve gotten more and more familiar with Rails 3 during moving all these gems to
it. Many of the new features it offers are great, and existing features have
been improved and cleaned up. We’re looking forward to Rails 3 finally being
released in the coming weeks. Now that our plugins are up and running it should
help us all to transition smoothly and quickly.

Thanks to the core team and various other railsconf attendees for spending time
with us this week working on some of this - we’re looking forward to the final
version of rails3!

[^1]: FactoryGirl was renamed to FactoryBot in 2017.
[Project name history can be found here.](https://github.com/thoughtbot/factory_bot/blob/master/NAME.md)
