Ruby on Rails 2.3.5 Released

Posted by Gregg Pollack November 30, 2009 @ 07:58 PM

Rails 2.3.5 was released over the weekend which provides several bug-fixes and one security fix. It should be fully compatible with all prior 2.3.x releases and can be easily upgraded to with “gem update rails”. The most interesting bits can be summarized in three points.

Improved compatibility with Ruby 1.9

There were a few small bugs preventing full compatibility with Ruby 1.9. However, we wouldn’t be surprised you were already running Rails 2.3.X successfully before these bugs were fixed (they were small).

RailsXss plugin availability

As you may have heard, in Rails 3 we are now automatically escaping all string content in erb (where as before you needed to use “h()” to escape). If you want to have this functionality today you can install Koz’s RailsXss plugin in Rails 2.3.5.

Fixes for the Nokogiri backend for XmlMini

With Rails 2.3 we were given the ability to switch out the default XML parser from REXML to other faster parsers like Nokogiri. There were a few issues with using Nokogiri which are now resolved, so if your application is parsing lots of xml you may want to switch to this faster XML parser.

And that’s the gist of it

Feel free to browse through the commit history if you’d like to see what else has been fixed (but it’s mostly small stuff).

Posted in Releases | 50 comments

Comments

  1. http://fyodoro.koulba.net on 30 Nov 06:01:

    Great!

  2. Rizwan Reza on 30 Nov 07:45:

    If you would like more details on the Rails 2.3.5 release, check out the blog post by Mike Gunderloy: http://afreshcup.com/home/2009/11/27/rails-235-unofficial-release-notes.html.

  3. Tom Myer on 30 Nov 08:47:

    Very fine, thanks for it!!! Thanks for Rails!!

  4. Michael Johann on 30 Nov 09:07:

    Great work. Thanks to all contributors.

  5. Pradeep Cs on 30 Nov 13:26:

    Great! Thank a lot :)

  6. seb on 30 Nov 13:48:

    Great work as usual.

    And XSS Plugin is definately a good point for security!

  7. jofr on 30 Nov 14:26:

    I am getting the following error message after an upgrade from 2.3.4 to 2.3.5: /vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks’:RuntimeError: RubyGem version error: rack(1.0.0 not ~> 1.0.1)

  8. Timint on 30 Nov 14:29:

    Thanks Rails.

  9. Jordi on 30 Nov 14:38:

    You guys should add this release to the home page.

  10. Sam Millar on 30 Nov 15:17:

    Thank you everyone!

  11. Dimitar Vouldjeff on 30 Nov 15:23:

    Thanks to all!

  12. stalkert on 30 Nov 15:24:

    after updating I get the following error:

    Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

  13. Richard Nyström on 30 Nov 15:26:

    @jofr. Maybe you can try sudo gem update rack

  14. kunto aji on 30 Nov 15:29:

    wow, this is great.. thx rails

  15. Sergio Eurico on 30 Nov 15:34:

    Thank you guys.

  16. Niels Meersschaert on 30 Nov 16:37:

    Looks like 2.3.5 also messes with fixtures. Tests which ran fine in 2.3.4, fail in 2.3.5. It appears the transactional fixtures flag is ignored, as the test’s success changes depending on if it is run after some others.

  17. Yuval on 30 Nov 16:39:

    What on earth has happened to nested field validation? I just upgraded from 2.3.3 and my user that accepts address fields is hosed. For instance, if line_1 of the address model is required and missing, I get an error on an attribute with ID “user_billing_address_attributes.line_1” instead of “user_billing_address_attribute_line_1”.

  18. Severin Schoepke on 30 Nov 16:46:

    @jofr You have to install rack v. 1.0.1

  19. Yuval on 30 Nov 17:01:

    To clarify on my last comment. (I had included some substitution I’m doing on my end).

    user accepts nested attributes for address address validates presence of line_1

    If line_1 is left blank…

    Rails 2.3.3: address_line_1 is returned in error Rails 2.3.5: address.line_1 is returned in error

    My issue is with that period. Really, what should be returned anyway is user_address_attributes_line_1, seeing as that is what a nested form will generate for ID.

  20. Mohamed Aslam on 30 Nov 17:26:

    You guys rock! Thanks!!!

  21. Dallas Reedy on 30 Nov 18:07:

    perhaps a small typo:

    “…you can install Koz’s RailsXxs plugin in Rails 2.3.5.”

    should be

    “…you can install Koz’s RailsXss plugin in Rails 2.3.5.”

    Great release, though!

  22. Rizwan Reza on 30 Nov 18:23:

    jofr: You’d want to sudo gem install rack to upgrade rack on your system.

  23. Kai De Sutter on 30 Nov 19:59:

    Thank you Rails Community!

  24. Ryan Bigg on 30 Nov 22:21:

    Could you update the front page + API docs too please? Last API generation was on the 20th July?

  25. Manuel on 30 Nov 22:30:

    Why is the HTML generated by the button_to helper escaped by the RailsXss plugin?

  26. MikeJ on 01 Dec 00:34:

    How many people are going to tell jofr “try gem update rack”? That’s pretty obvious. The point is there might be a missing GEM dependency. If 2.3.5 is dependent on rack 1.0.1 then rack ought to be updated automatically when you update Rails.

  27. MikeJ on 01 Dec 01:32:

    I think my message got moderated by mistake (I hope). Let me restate my point as a question… is it a problem that Rack does not update from 1.0.0 to 1.0.1 automatically when Rails updates? Or is that intentional? Thanks.

  28. HugoB on 01 Dec 04:20:

    tried gem update rails and I get timed out FetchError blah blah blah…

    rubyforge.org under load ? Normal ?

    and before anyone suggests I ruled out proxies/firewall/etc

    was able to update rack though… weird

  29. Piyush on 01 Dec 04:51:

    Perfect !

  30. pom on 01 Dec 09:32:

    ruby and rails suckkkkkkkkkkkk…........

  31. rader on 01 Dec 09:37:

    what a release carry on guys….....is it support ruby 1.8?

  32. Gordon Yeong on 01 Dec 09:41:

    @jofr. Maybe you can try sudo gem update rack —>yes this worked for me. Thank you!

    - running on snow leopard and rails 2.3.5
  33. as on 01 Dec 09:42:

    asas

  34. Gordon Yeong on 01 Dec 10:26:

    hey, anyone figured out how to fix that issue with the missing gems (the one that stalkert has)

  35. Tomas Jogin on 01 Dec 16:38:

    Using Ruby 1.9, erb-templates are still limited to us-ascii, which makes it difficult or impossible to use Ruby 1.9 with non-english apps.

  36. Michael Hasenstein on 01 Dec 17:43:

    First impressions:

    - “Ruby 1.9 compatibility” still of little or no practical value, since a lot of important stuff still is missing, causes errors (like templates).

    - rails_xss plugin raises some serious (IMHO) questions:

    1) It wants and includes gem “erubis”. Does that mean erubis is better than the default templating code? If yes, why isn’t that code replaced by erubis’ code? If not, why is erubis required for rails_xss?

    2) rails_xss (and therefore soon Rails 3.0?) escapes WAY TOO MUCH (IMHO). Somebody already mentioned it even escapes the HTML generated by button_to. It also escapes strings I included within templates using concat <<end>

  37. Robb on 01 Dec 23:11:

    @Thomas 35,

    That’s the one thing I was wondering about that too.

    This seems to affect all ruby apps, not just non-English ones.

    This affects both of my American English apps - neither of them use foreign characters.

    I think it can affects apps that get data from various sources, such as LDAP, or parsed flat files, legacy databases…

  38. David Dollar on 01 Dec 23:28:

    The gem spec for actionpack declares a dependency on 1.0.0 but the code tries to load 1.0.1

  39. Joshua Partogi on 02 Dec 00:55:

    Thanks Rails team. This is a really noteworthy release.

  40. AlekSi on 02 Dec 16:10:

    May you upload 2.3.5 to RubyForge?

  41. Don Park on 02 Dec 18:04:

    “minor” ruby 1.9 fixes? 2.3.4 has had a showstopper bug since September 4th. I’ve had to stay with 2.3.3 for months.

    https://rails.lighthouseapp.com/projects/8994/tickets/3144-undefined-method-for-string-ror-234

    Thank you, rails team for this release.

  42. Diego Viola on 03 Dec 11:19:

    Is this bug finally fixed on this release?

    https://rails.lighthouseapp.com/projects/8994/tickets/3144-undefined-method-for-string-ror-234

    I had the same issue that Don Park had.

  43. Kai Janson on 03 Dec 21:00:

    After upgrading from rails 2.3.4 to rails 2.3.5 I get this error message:

    => Booting Mongrel => Rails 2.3.5 application starting on http://0.0.0.0:3000 /Library/Ruby/Site/1.8/rubygems.rb:270:in `activate’: undefined method `map’ for nil:NilClass (NoMethodError) from /Library/Ruby/Site/1.8/rubygems.rb:296:in `activate’ from /Library/Ruby/Site/1.8/rubygems.rb:295:in `each’ from /Library/Ruby/Site/1.8/rubygems.rb:295:in `activate’ from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:35:in `require’ from /Users/kjanson/RackSpace/escalations/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require’ from /Users/kjanson/RackSpace/escalations/config/initializers/ldap.rb:1 from /Users/kjanson/RackSpace/escalations/vendor/rails/activesupport/lib/active_support/dependencies.rb:147:in `load_without_new_constant_marking’ from /Users/kjanson/RackSpace/escalations/vendor/rails/activesupport/lib/active_support/dependencies.rb:147:in `load’ from ./script/../config/../vendor/rails/railties/lib/initializer.rb:622:in `load_application_initializers’ from ./script/../config/../vendor/rails/railties/lib/initializer.rb:621:in `each’ from ./script/../config/../vendor/rails/railties/lib/initializer.rb:621:in `load_application_initializers’ from ./script/../config/../vendor/rails/railties/lib/initializer.rb:176:in `process’ from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send’ from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run’ from /Users/kjanson/RackSpace/escalations/config/environment.rb:9 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require’ from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require’ from /Users/kjanson/RackSpace/escalations/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require’ from /Users/kjanson/RackSpace/escalations/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in’ from /Users/kjanson/RackSpace/escalations/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require’ from /Users/kjanson/RackSpace/escalations/vendor/rails/railties/lib/commands/server.rb:84 from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require’ from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require’ from script/server:3

    No code changes, just the update to 2.3.5.

  44. Tim Harper on 04 Dec 15:13:

    FYI: To install this release I had to use gemcutter and specifically run “gem install—version=2.3.5”.

    “gem update rails” didn’t do it

  45. Shahroon on 05 Dec 12:50:

    Well for me ‘gem update’ works and updated all the gems.

    Great work done again by rails team. Congrats :)

  46. Sean Schofield on 05 Dec 15:50:

    What’s up with activerecord having deprecation warnings?

    DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead.. (called from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/activerecord.rb:2)

    I’m assuming this is an oversight in the release? I also second the comment that the rack gem issue should be handled by creating an explicit dependancy in the gemspec.

  47. Sean Schofield on 05 Dec 16:36:

    Just an update, it turns out I was using require ‘activerecord’ in one of my custom tasks. Confusing b/c Textmate did not “find” it and the error message lead me to believe the require in question was coming from activerecord itself.

  48. reinventingrich@gmail.com on 15 Dec 04:04:

    Are we ever going to see or at least hear about the status an alpha of 3.0? What is the current plan?

  49. Ritu Kamthan on 23 Dec 06:56:

    I got my app running on rails 2.3.5 but when I try to run my rspec tests with:

    rake spec I got the error “Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`,”

    I have rack (1.0.1, 1.0.0, 0.4.0) rails (2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.2.2, 2.1.1, 2.1.0, 2.0.2, 1.2.6) on my leopard 10.5.7

    Has anyone ever got this issue??

  50. Meier on 23 Dec 10:54:

    The Ruby-on-Rails homepage is outdated, it still tells us about version 2.3.4.