[ANN] Rails 0.9.3: Optimistic locking, dynamic finders, Ruby 1.8.2 compatible

  • Thread starter David Heinemeier Hansson
  • Start date
D

David Heinemeier Hansson

Rails is now fully compatible with Ruby 1.8.2, which we advice all to
upgrade to as soon as possible. It contains a year's worth of bug fixes
for Ruby, so it's great finally to be able to use the new version with
Rails. But that is not all we got in store for 0.9.3. A few of the
highlights are:

* Automated optimistic locking: Just add the field @lock_version@ to
your table and the associated class will be governed by optimistic
locking that'll raise an exception if a stale object attempts to save.

* Dynamic finders: Finders like Person.find_by_user_name,
Payment.find_by_amount, and even Person.find_by_user_name_and_password
are now available with no code at all. Any column can be used and
combined with other columns in the new dynamic finders.

* MS SQL Server and DB2: Active Record now supports both Microsoft SQL
Server (through ADO) and IBM's DB2 databases.

* MemCacheStore for sessions: You can now store sessions in Action Pack
using Danga's memcache technology.

* Generators guard against reserved words:* Not only will
/script/generate model Thread be denied, you'll also get a list of
synonyms pulled live from WordNet!

That's just a small taste of the 35 changes, fixes, and features
introduced with Rails 0.9.3. You can read the full story in the
changelogs:

* Active Record: http://ar.rubyonrails.com/files/CHANGELOG.html
* Action Pack : http://ap.rubyonrails.com/files/CHANGELOG.html
* Rails : http://rails.rubyonrails.com/files/CHANGELOG.html


The new web presence
====================

Since the last release, we've also launched a brand new website and
visual identity for Rails. This includes the long awaited logo by John
Hicks with a remix by Olivier Hericord. Check it all out at:
http://www.rubyonrails.org


Upgrading from Rails 0.9.2 to 0.9.3
===================================

There's only one change you need to make in order to have your
application updated from 0.9.2 to 0.9.3. In the
config/environments/production.rb and config/environments/test.rb, you
need to change:

ActionController::Base.reload_dependencies = false
ActiveRecord::Base.reload_associations = false

...to:

Dependencies.mechanism = :require<

And in config/environments/development.rb, you need to change:

ActionController::Base.reload_dependencies = true
ActiveRecord::Base.reload_associations = true

...to:

Dependencies.mechanism = :load

If you're coming on from 0.8.x, you'll need to go through the <a
href="http://manuals.rubyonrails.com/read/book/3">Upgrading to 0.9
manual</a>.
--
David Heinemeier Hansson,
http://www.basecamphq.com/ -- Web-based Project Management
http://www.rubyonrails.org/ -- Web-application framework for Ruby
http://macromates.com/ -- TextMate: Code and markup editor (OS X)
http://www.loudthinking.com/ -- Broadcasting Brain
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top