## Rails 4.0.0 (unreleased) ## * Add `-B` alias for `--skip-bundle` option in the rails new generators. *Jiri Pospisil* * Environment name can be a start substring of the default environemnt names (production, development, test). For example: tes, pro, prod, dev, devel. Fix #8628 *Mykola Kyryk* * Quote column names in generates fixture files. This prevents conflicts with reserved YAML keywords such as 'yes' and 'no' Fix #8612 *Yves Senn* * Explicit options have precedence over `~/.railsrc` on the `rails new` command. *Rafael Mendonça França* * Generated migrations now always use the `change` method. *Marc-André Lafortune* * Add `app/models/concerns` and `app/controllers/concerns` to the default directory structure and load path. See http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns for usage instructions. *DHH* * The `rails/info/routes` now correctly formats routing output as an html table. *Richard Schneeman* * The `public/index.html` is no longer generated for new projects. Page is replaced by internal `welcome_controller` inside of railties. *Richard Schneeman* * Add `ENV['RACK_ENV']` support to `rails runner/console/server`. *kennyj* * Add `db` to list of folders included by `rake notes` and `rake notes:custom`. *Antonio Cangiano* * Engines with a dummy app include the rake tasks of dependencies in the app namespace. Fix #8229 *Yves Senn* * Add `sqlserver.yml` template file to satisfy `-d sqlserver` being passed to `rails new`. Fix #6882 *Robert Nesius* * Rake test:uncommitted finds git directory in ancestors *Nicolas Despres* * Add dummy app Rake tasks when `--skip-test-unit` and `--dummy-path` is passed to the plugin generator. Fix #8121 *Yves Senn* * Add `.rake` to list of file extensions included by `rake notes` and `rake notes:custom`. *Brent J. Nordquist* * New test locations `test/models`, `test/helpers`, `test/controllers`, and `test/mailers`. Corresponding rake tasks added as well. *Mike Moore* * Set a different cache per environment for assets pipeline through `config.assets.cache`. *Guillermo Iguaran* * `Rails.public_path` now returns a Pathname object. *Prem Sichanugrist* * Remove highly uncommon `config.assets.manifest` option for moving the manifest path. This option is now unsupported in sprockets-rails. *Guillermo Iguaran & Dmitry Vorotilin* * Add `config.action_controller.permit_all_parameters` to disable StrongParameters protection, it's false by default. *Guillermo Iguaran* * Remove `config.active_record.whitelist_attributes` and `config.active_record.mass_assignment_sanitizer` from new applications since MassAssignmentSecurity has been extracted from Rails. *Guillermo Iguaran* * Change `rails new` and `rails plugin new` generators to name the `.gitkeep` files as `.keep` in a more SCM-agnostic way. Change `--skip-git` option to only skip the `.gitignore` file and still generate the `.keep` files. Add `--skip-keeps` option to skip the `.keep` files. *Derek Prior & Francesco Rodriguez* * Fixed support for DATABASE_URL environment variable for rake db tasks. *Grace Liu* * rails dbconsole now can use SSL for MySQL. The database.yml options sslca, sslcert, sslcapath, sslcipher, and sslkey now affect rails dbconsole. *Jim Kingdon and Lars Petrus* * Correctly handle SCRIPT_NAME when generating routes to engine in application that's mounted at a sub-uri. With this behavior, you *should not* use default_url_options[:script_name] to set proper application's mount point by yourself. *Piotr Sarnacki* * `config.threadsafe!` is deprecated in favor of `config.eager_load` which provides a more fine grained control on what is eager loaded *José Valim* * The migration generator will now produce AddXXXToYYY/RemoveXXXFromYYY migrations with references statements, for instance rails g migration AddReferencesToProducts user:references supplier:references{polymorphic} will generate the migration with: add_reference :products, :user, index: true add_reference :products, :supplier, polymorphic: true, index: true *Aleksey Magusev* * Allow scaffold/model/migration generators to accept a `polymorphic` modifier for `references`/`belongs_to`, for instance rails g model Product supplier:references{polymorphic} will generate the model with `belongs_to :supplier, polymorphic: true` association and appropriate migration. *Aleksey Magusev* * Set `config.active_record.migration_error` to `:page_load` for development *Richard Schneeman* * Add runner to Rails::Railtie as a hook called just after runner starts. *José Valim & kennyj* * Add `/rails/info/routes` path, displays same information as `rake routes` *Richard Schneeman & Andrew White* * Improved `rake routes` output for redirects *Łukasz Strzałkowski & Andrew White* * Load all environments available in `config.paths["config/environments"]`. *Piotr Sarnacki* * Remove Rack::SSL in favour of ActionDispatch::SSL. *Rafael Mendonça França* * Remove Active Resource from Rails framework. *Prem Sichangrist* * Allow to set class that will be used to run as a console, other than IRB, with `Rails.application.config.console=`. It's best to add it to `console` block. *Piotr Sarnacki* Example: # it can be added to config/application.rb console do # this block is called only when running console, # so we can safely require pry here require "pry" config.console = Pry end * Add convenience `hide!` method to Rails generators to hide current generator namespace from showing when running `rails generate`. *Carlos Antonio da Silva* * Scaffold now uses `content_tag_for` in index.html.erb *José Valim* * Rails::Plugin has gone. Instead of adding plugins to vendor/plugins use gems or bundler with path or git dependencies. *Santiago Pastorino* * Set config.action_mailer.async = true to turn on asynchronous message delivery *Brian Cardarella* Please check [3-2-stable](https://github.com/rails/rails/blob/3-2-stable/railties/CHANGELOG.md) for previous changes.