Recently, I migrated from Rails 2.2 to 2.3. After installing the new Rails gem I generated a dummy project to compare the generated project structure with the structure of a Rails 2.2 project to find out what changed.
And those are the things I had to change (though most changes seem to be optional):
- Renaming app/controllers/application.rb to app/controllers/application_controller.rb
- Replacing config/boot.rb, as it was slightly modified
- Adding the new “reconnect” option for MySQL databases to config/database.yml (see the release notes)
- Moving the settings for “config.action_controller.session” and “config.action_controller.session_storage” from config/environment.rb to the new file config/initializers/session_store.rb
- Changing the value of RAILS_GEM_VERSION from 2.2.2 to 2.3.2 in config/environment.rb
- Copying config/initializers/backtrace_silencers.rb to my project
- Adding the setting “config.action_view.cache_template_loading = true” to the production and testing environments (config/environments/production.rb resp. test.rb)
- Removing the dispatch scripts from the “public” directory, the script/process directory (and its content), plus the “request” script from script/performance
A detailed overview of the changes/new features of Rails 2.3 can be found in the release notes.