Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
173 lines (103 sloc) 6.22 KB

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 environment 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 for usage instructions.


  • 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.


  • 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


    # 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
  • 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 for previous changes.

Jump to Line
Something went wrong with that request. Please try again.