What is the latest stable version of rails? I want to install rails 3.1 but I see there is 3.1.3 now, what is the difference? What ruby version is it most compatible with?
I recommend to always check on GitHub via the "branches" menu what the latest version is on each branch.
You can see the latest version easily by checking the contents of the RAILS_VERSION file
https://github.com/rails/rails
You could also check RubyOnRails.org, but looking at the source code is the most reliable way.
If you already have a Rails App in production, I would highly recommend: don't just blindly take the latest version just because it just came out -- there were many cases in the past where a new version introduced incompatibilities or new bugs which were serious enough to have to wait for a fix before the features in the Rails release were really usable. I know a couple of people who have Production sites and still run 3.0.11 or lower, rather than 3.l.x
Again: check on GitHub under "Issues" which open Issues there are for a release, and/or google "Rails 3.y.z Problems" with the exact version number, so you get a feel of what problems could be introduced by upgrading to a new / the latest version.
On Wikipedia they have a list of historic release dates for the major Rails versions:
https://en.wikipedia.org/wiki/Ruby_on_Rails
The Rails version numbers have been explained reasonably well (Joseph Le Brech's answer), but the Ruby version numbers are slightly confusing and I could see why it's not really obvious what's going on there.
Joseph's explanation of Rails version number scheme is correct for Rails, but Ruby has a slightly different approach
1.9.3 is the most recent version of Ruby. Having said that, it was only released maybe a month ago, so it's possible there are breaking issues with certain gems. (Yes, there were breakages. Ruby in general will introduce breaking things between hotfix releases, and it's true here too)
1.9.2 is a more tried and true version of Ruby, having been out for at least 6 months now.
1.8.7 is the last version in the Ruby 1.8 line. Major language rework happened between 1.8 and 1.9, so some older gems may not have made the transition.
My recommendation: use Ruby 1.9.2 and Rails 3.1.3, unless you have really good excuses not to.
Ruby 1.9.2 is probably the safest bet for a Rails newbie, or green-field projects (projects without a lot of preexisting code). Rails 3.1 is an excellent version of Rails, which solves a lot of problems I had with the framework.
Rails 3.1 was released this fall, so old tutorials won't work, or will give odd errors. Try to look and read what version of Rails the book/tutorial/website/blog entry is talking about, before you dive in.
Latest stable release is always shown on the Ruby on Rails website's home page here http://rubyonrails.org/
To list all rails versions by gem:
gem list -ra rails | grep -G "^rails\ "
It's also helpful for cheeking what is the latest version for 4.x, 3.x and 2.x too.
According to rubygems, it's 3.1.3. Looks like you forgot a ..
major.minor.hotfix hotfixes will never change the behavior of an app unless you previously had a workaround for a bug implemented. Apps can easily be upgraded thru minor revisions, but it's usually not worth it and can be a distraction from getting features out of the way.
The latest release is 3.1.3. This is a minor release which has security and minor improvements.
The main version is 3.1, while minor upgrades are included in 3.1.x releases.
Anyway you should always use the latest one.
usually if you'll pull the latest rails gem, it's the stable one (unless once in history). although you can still use ruby 1.8.x version with the latest rails 3.x, it is more recommended to use 1.9.x.
anyway, everything you might need is in http://guides.rubyonrails.org and some nice people (including myself) are answering all bunch of questions in IRC on irc.freenode.net (#rubyonrails and #railsbridge)
good luck
The latest release is 6.0. it was released on August 16, 2019, making Webpack default, adding mailbox routing. Rails 5.2 is still maintained.
Related
I cloned one of my 3years old project from Github to resurrect, however I'm getting bunch of migrations, gem, etc errors. Googling gives me tips about possibly using wrong ruby version.
I want to assign the specific rbenv local rubyver but I don't know which one I used and I can't find it in any settings?
Any idea how I can find what Ruby version is this project using?
There's a few places this might be annotated:
A .ruby-version file, though these are often ignored to avoid friction between developers with slightly different versions. This is what rbenv uses, as well as other tools like RVM.
The Gemfile can have a ruby version lock in it, though this is usually a minimum requirement, like >= 2.3.0.
The README if the developer is kind.
Otherwise, there's no real way to know.
It's worth noting that Ruby 2.0, 2.4 and 3.0 are often the biggest upgrade hurdles, so it's worth trying with the latest version you can get away with, like 2.7.2 if practical, 3.0.0 if possible.
This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 10 years ago.
Now Rails 3 has come out, which version is the stable rails edition? Rails 2.3.3 , or Rails 2.3.4 ?
Rails 2.3.3 and 2.3.4 are out-of-date on the 2.x branch. The most recent Rails 2 version is 2.3.9.
The most recent release of Rails 3.x is 3.0.3.
They're all considered stable.
Rails 3 and 2 are both stable. Better use Rails 3 though
In the Rubygems, every release is considered stable, so you'd best choose the latest one.
Only versions that end in something like "pre", "beta" or "rc" are unstable, but unless you specify explicitly that you want an unstable version, you will get a stable one.
Install latest stable version:
gem install rails
Install latest unstable version:
gem install rails --pre
Currently 2x rails version is being outdated. Rails 3x is on step .
Rails 3.0 has been stable .So I will recommend you to move towards rails 3x
Rails 3 is the best one and also stable .
One of the key benefits of working with Rails is the vibrant community and regular iterative improvements that come with it. What that means is the pace of change will continue in all likelihood. Rails 3 has a lot of improvements over Rails 2. Since building on Rails 3.1 (I am currently building a project on rc5) I have to say there are a lot of very good features coming down the pipe (if you'll excuse the pun).
As a result, I'd say work with the newest version you feel comfortable with. Rails 3 is stable and most of the gems you'll use, that are being maintained actively (and you probably don't want to be using gems that were someone's part-time project they've forgotten about, anyway), are updated for Rails 3 and new gems are skipping over Rails 2 in a lot of cases.
So, future proof yourself and minimize the changes you'll have to make later when you want to take advantage of things like the Rails 3.1 asset pipeline, or some of the other features slated for release.
Edge rails i.e. rails 3.1.x is awesome with lot of improvements and bug fixes
rails 4 is on way and hopefully will be released in apr/may 2011. release is likely to disable support for ruby 1.8.7....stay tuned!
i am very happy with 3.0.3. did not have the guts to upgrade to 3.1. At one point i will need to bite the ebullet
I have bunch of Rails apps running on Rails 1.x. I need to upgrade the gems so the question is, will these old apps still work after I upgrade gems?
Thank you.
The only way to be sure is to test, of course; that said, if you want to be sure the application works while you test, I believe that you can run
rake rails:freeze:gems
to copy the currently installed gems to the vendor folder inside your project. If, after testing, your project can use newer versions, run
rake rails:unfreeze
to return to the system installed versions of the gems.
It depends. If you're talking about upgrading to the latest gems that comprise Rails then if the applications use features that were long ago deprecated and subsequently removed, then they will break.
The only way to know for sure is to try it. Look out for deprecation warnings in the development log. Hopefully you have good test suites in place.
It's just like any other dependency. Look at the version number for each gem:
1.2.3
In this case, 1 is the major version. If this number has changed, then definitely do not upgrade. It will require work to use the new one.
2 is the minor version. You should be safe upgrading if only this number has changed, but be careful. Do a lot of smoke tests.
3 is a bug fix release. You can definitely upgrade if only this has changed. It's unlikely only this one has changed after so long, but if that's the case you're safe.
Unfortunately these are only guidelines, and many open-source projects among others do not follow them very well. So take the advice with a grain of salt.
If you are running with rails 1.x and you upgrade the rails gem, your application will break. Rails 2.x is very different.
Concerning other gems, they might break. Read the releases note, usually authors warn about backward compatibility.
If you don't want to upgrade, you could also freeze the gems.
I recently started working on a small personal project in Ruby on Rails, and have run into a few things that I couldn't find definitive answers for. If anyone here is knowledgeable enough to help, that would be greatly appreciated. All of my questions are below:
What benefit is there to using the Rails Gem instead of having it in vendor/rails?
Is there any benefit to using Rails 2.3.2? Some of the plugins I hoped to use don't seem to be compatible with 2.3.2 (ActiveScaffold)? Does it offer a great improvement over 2.2?
What is the benefit of using Ruby 1.9? Many plugins aren't yet compatible. Does it offer a great improvement over older versions?
Thanks for any help you guys might be able to offer.
vendor/rails probably makes your project more portable. Deployments that run the rake gems:install can act kind of wonky, especially if you upgrade a "Framework Gem" (you have to do these manually).
The downside to vendor/rails is that it makes your deployment slightly bigger (more files that have to be pushed) but if you use git and something like Capistrano, this only bites you on the initial deploy... but its not that bad.
I don't think there are any huge benefits; it just depends on if you need features from 2.3.2. Obviously you want to try to run the latest version to make upgrades less painful. I've found that you always need to be upgrading the framework underneath Rails if you want to have any change of upgrading in the future.
Performance. As you pointed out though, a lot of plugins are broken. This is sort of a chicken-and-egg problem but overtime this should fix itself. We're not running 1.9 yet in any of our production apps because its too unstable with the rest of the stack.
I'll address the gem question.
I've used vendored gems in the past but I have pretty much moved away from it except in the rare case where I need to fork a gem to customize it for some purpose in which case I would vendor the gem.
The main reason not to vendor from my perspective is that you can't cleanly vendor any gems with C modules since they require compilation.
A really good option is to use a gem management tool such as geminstaller, it lets you configure the gems and specific versions of gems that your project works against so that you have a consistent set of gems on your deployment.
What benefit is there to using the
Rails Gem instead of having it in
vendor/rails?
The biggest benefit is that you do not carry around the full rails source code with your project, the other benefit is that moving to a newer version of rails is going to involve less effort.
Keep in mind that the gem command will allow you to install a specific version of a gem.
Is there any benefit to using Rails 2.3.2? Some of the plugins I
hoped to use don't seem to be
compatible with 2.3.2
(ActiveScaffold)? Does it offer a
great improvement over 2.2?
A lot has changed from rails 2.2 to 2.3.2, there are also a bunch of security, performance and bug fixes. ActiveScaffold is compatible with rails 2.3.2, as are most of the plugins out there. If you are starting a new project I would recommend using the latest and greatest.
What is the benefit of using Ruby 1.9? Many plugins aren't yet compatible. Does it offer a great
improvement over older versions?
Ruby 1.9 is much faster than Ruby 1.8.x, however adoption of 1.9 is not that high. Rails 2.3.2 works just fine on Ruby 1.9, however there are some plugins and gems that do not. Make sure you read this stackoverflow question on the topic.
I have vanilla Mac OS X Leopard which comes with 1.8.6.
I am new to RoR so will be following tutorials on the net. Am I likely to find problems following them when using later versions of Ruby?
I am currently looking at this one which mentions 1.8.6 and 1.8.7 - http://www.railstutorial.org/book
RoR tutorials will be fine on both, but if you're learning Ruby you should learn 1.9. 1.8.6 won't be supported in Rails 3, so I'd say go 1.8.7 or 1.9. I also recommend RVM for switching between Ruby versions.
The 1.8.x series (mostly 1.8.6) is still very much in widespread use and likely to remain that way for at least a year or so; 1.9 is slowly being transitioned to. Although there are some major differences between the two, for the most part everything you can do in 1.8 you can also do in 1.9.
Many of the trickier bits, like blocks and lambdas, get a bit of a makeover, but otherwise tutorials for 1.8 will still apply to 1.9 for the most part. You're likely to run into issues if you use gems and libraries from 1.8 in 1.9, however.
I believe Rails 2.3.5 is fully compatible with Ruby 1.9. The problem is not usually of Rails itself, but from other gems and plugins that might be outdated. However again try it, most likely you won't face problems.
Anyway, I highly recommend Ruby Version Manager(RVM) for trying several versions of Ruby.
I'll second the 1.9 recommendation. I'm kicking myself for not settling on 1.9 a year ago.
It's much more future-proof at this point. Targetting 1.8 is about like targeting Windows Vista at this point.