diff options
Diffstat (limited to 'railties/CHANGELOG.md')
-rw-r--r-- | railties/CHANGELOG.md | 373 |
1 files changed, 255 insertions, 118 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 21ac596ab9..f43b73cb9d 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,196 +1,333 @@ -* Remove turbolinks when generating a new application based on a template that skips it. +* Allow rake:stats to account for rake tasks in lib/tasks - Example: + *Kevin Deisz* - Skips turbolinks adding `add_gem_entry_filter { |gem| gem.name != "turbolinks" }` - to the template. +* Added javascript to update the URL on mailer previews with the currently + selected email format. Reloading the page now keeps you on your selected + format rather than going back to the default html version. - *Lauro Caetano* + *James Kerr* -* Instrument an `load_config_initializer.railties` event on each load of configuration initializer - from `config/initializers`. Subscribers should be attached before `load_config_initializers` - initializer completed. +* Add fail fast to `bin/rails test` - Registering subscriber examples: + Adding `--fail-fast` or `-f` when running tests will interrupt the run on + the first failure: - # config/application.rb - module RailsApp - class Application < Rails::Application - ActiveSupport::Notifications.subscribe('load_config_initializer.railties') do |*args| - event = ActiveSupport::Notifications::Event.new(*args) - puts "Loaded initializer #{event.payload[:initializer]} (#{event.duration}ms)" - end - end - end + ``` + # Running: - # my_engine/lib/my_engine/engine.rb - module MyEngine - class Engine < ::Rails::Engine - config.before_initialize do - ActiveSupport::Notifications.subscribe('load_config_initializer.railties') do |*args| - event = ActiveSupport::Notifications::Event.new(*args) - puts "Loaded initializer #{event.payload[:initializer]} (#{event.duration}ms)" - end - end - end - end + ................................................S......E - *Paul Nikitochkin* + ArgumentError: Wups! Bet you didn't expect this! + test/models/bunny_test.rb:19:in `block in <class:BunnyTest>' -* Support for Pathnames in eager load paths. + bin/rails test test/models/bunny_test.rb:18 - *Mike Pack* + ....................................F -* Fixed missing line and shadow on service pages(404, 422, 500). + This failed - *Dmitry Korotkov* + bin/rails test test/models/bunny_test.rb:14 -* `BACKTRACE` environment variable to show unfiltered backtraces for - test failures. + Interrupted. Exiting... - Example: - $ BACKTRACE=1 ruby -Itest ... - # or with rake - $ BACKTRACE=1 bin/rake + Finished in 0.051427s, 1808.3872 runs/s, 1769.4972 assertions/s. - *Yves Senn* + ``` -* Removal of all javascript stuff (gems and files) when generating a new - application using the `--skip-javascript` option. + Note that any unexpected errors don't abort the run. - *Robin Dupret* + *Kasper Timm Hansen* + +* Add inline output to `bin/rails test` + + Any failures or errors (and skips if running in verbose mode) are output + during a test run: + + ``` + # Running: + + .....S..........................................F + + This failed + + bin/rails test test/models/bunny_test.rb:14 + + .................................E + + ArgumentError: Wups! Bet you didn't expect this! + test/models/bunny_test.rb:19:in `block in <class:BunnyTest>' + + bin/rails test test/models/bunny_test.rb:18 + + .................... + + Finished in 0.069708s, 1477.6019 runs/s, 1448.9106 assertions/s. + ``` + + Output can be deferred to after a run with the `--defer-output` option. + + *Kasper Timm Hansen* + +* Fix displaying mailer previews on non local requests when config + `action_mailer.show_previews` is set + + *Wojciech Wnętrzak* + +* `rails server` will now honour the `PORT` environment variable + + *David Cornu* + +* Plugins generated using `rails plugin new` are now generated with the + version number set to 0.1.0. -* Make the application name snake cased when it contains spaces + *Daniel Morris* - The application name is used to fill the `database.yml` and - `session_store.rb` files ; previously, if the provided name - contained whitespaces, it led to unexpected names in these files. +* `I18n.load_path` is now reloaded under development so there's no need to + restart the server to make new locale files available. Also, I18n will no + longer raise for deleted locale files. + + *Kir Shatrov* + +* Add `bin/update` script to update development environment automatically. + + *Mehmet Emin İNAÇ* + +* Fix STATS_DIRECTORIES already defined warning when running rake from within + the top level directory of an engine that has a test app. + + Fixes #20510 + + *Ersin Akinci* + +* Make enabling or disabling caching in development mode possible with + rake dev:cache. + + Running rake dev:cache will create or remove tmp/caching-dev.txt. When this + file exists config.action_controller.perform_caching will be set to true in + config/environments/development.rb. + + Additionally, a server can be started with either --dev-caching or + --no-dev-caching included to toggle caching on startup. + + *Jussi Mertanen*, *Chuck Callebs* + +* Add a `--api` option in order to generate plugins that can be added + inside an API application. *Robin Dupret* -* Added `--model-name` option to `ScaffoldControllerGenerator`. +* Fix `NoMethodError` when generating a scaffold inside a full engine. - *yalab* + *Yuji Yaginuma* -* Expose MiddlewareStack#unshift to environment configuration. +* Adding support for passing a block to the `add_source` action of a custom generator - *Ben Pickles* + *Mike Dalton*, *Hirofumi Wakasugi* -* `rails server` will only extend the logger to output to STDOUT - in development environment. +* `assert_file` understands paths with special characters + (eg. `v0.1.4~alpha+nightly`). - *Richard Schneeman* + *Diego Carrion* -* Don't require passing path to app before options in `rails new` - and `rails plugin new` +* Remove ContentLength middleware from the defaults. If you want it, just + add it as a middleware in your config. - *Piotr Sarnacki* + *Egg McMuffin* -* rake notes now searches *.less files +* Make it possible to customize the executable inside rerun snippets. - *Josh Crowder* + *Yves Senn* -* Generate nested route for namespaced controller generated using - `rails g controller`. - Fixes #11532. +* Add support for API only apps. + Middleware stack was slimmed down and it has only the needed + middleware for API apps & generators generates the right files, + folders and configurations. - Example: + *Santiago Pastorino & Jorge Bejar* - rails g controller admin/dashboard index +* Make generated scaffold functional tests work inside engines. - # Before: - get "dashboard/index" + *Yuji Yaginuma* - # After: - namespace :admin do - get "dashboard/index" - end +* Generator a `.keep` file in the `tmp` folder by default as many scripts + assume the existence of this folder and most would fail if it is absent. - *Prathamesh Sonpatki* + See #20299. -* Fix the event name of action_dispatch requests. + *Yoong Kang Lim*, *Sunny Juneja* - *Rafael Mendonça França* +* `config.static_index` configures directory `index.html` filename -* Make `config.log_level` work with custom loggers. + Set `config.static_index` to serve a static directory index file not named + `index`. E.g. to serve `main.html` instead of `index.html` for directory + requests, set `config.static_index` to `"main"`. - *Max Shytikov* + *Eliot Sykes* -* Changed stylesheet load order in the stylesheet manifest generator. - Fixes #11639. +* `bin/setup` uses built-in rake tasks (`log:clear`, `tmp:clear`). - *Pawel Janiak* + *Mohnish Thallavajhula* -* Added generated unit test for generator generator using new - `test:generators` rake task. +* Fix mailer previews with attachments by using the mail gem's own API to + locate the first part of the correct mime type. - *Josef Šimánek* + Fixes #14435. -* Removed `update:application_controller` rake task. + *Andrew White* - *Josef Šimánek* +* Remove sqlite support from `rails dbconsole`. + + *Andrew White* + +* Rename `railties/bin` to `railties/exe` to match the new Bundler executables + convention. + + *Islam Wazery* + +* Print `bundle install` output in `rails new` as soon as it's available. -* Fix `rake environment` to do not eager load modules + Running `rails new` will now print the output of `bundle install` as + it is available, instead of waiting until all gems finish installing. - *Paul Nikitochkin* + *Max Holder* -* Fix `rake notes` to look into `*.sass` files +* Respect `pluralize_table_names` when generating fixture file. - *Yuri Artemev* + Fixes #19519. -* Removed deprecated `Rails.application.railties.engines`. + *Yuji Yaginuma* - *Arun Agrawal* +* Add a new-line to the end of route method generated code. -* Removed deprecated threadsafe! from Rails Config. + We need to add a `\n`, because we cannot have two routes + in the same line. - *Paul Nikitochkin* + *arthurnn* -* Remove deprecated `ActiveRecord::Generators::ActiveModel#update_attributes` in - favor of `ActiveRecord::Generators::ActiveModel#update` +* Add `rake initializers`. - *Vipul A M* + This task prints out all defined initializers in the order they are invoked + by Rails. This is helpful for debugging issues related to the initialization + process. -* Remove deprecated `config.whiny_nils` option + *Naoto Kaneko* - *Vipul A M* +* Created rake restart task. Restarts your Rails app by touching the + `tmp/restart.txt`. -* Rename `commands/plugin_new.rb` to `commands/plugin.rb` and fix references + Fixes #18876. - *Richard Schneeman* + *Hyonjee Joo* -* Fix `rails plugin --help` command. +* Add `config/initializers/active_record_belongs_to_required_by_default.rb`. - *Richard Schneeman* + Newly generated Rails apps have a new initializer called + `active_record_belongs_to_required_by_default.rb` which sets the value of + the configuration option `config.active_record.belongs_to_required_by_default` + to `true` when ActiveRecord is not skipped. -* Omit turbolinks configuration completely on skip_javascript generator option. + As a result, new Rails apps require `belongs_to` association on model + to be valid. - *Nikita Fedyashev* + This initializer is *not* added when running `rake rails:update`, so + old apps ported to Rails 5 will work without any change. -* Removed deprecated rake tasks for running tests: `rake test:uncommitted` and - `rake test:recent`. + *Josef Šimánek* + +* `delete` operations in configurations are run last in order to eliminate + 'No such middleware' errors when `insert_before` or `insert_after` are added + after the `delete` operation for the middleware being deleted. + + Fixes #16433. + + *Guo Xiang Tan* + +* Newly generated applications get a `README.md` in Markdown. - *John Wang* + *Xavier Noria* -* Clearing autoloaded constants triggers routes reloading. - Fixes #10685. +* Remove the documentation tasks `doc:app`, `doc:rails`, and `doc:guides`. *Xavier Noria* -* Fixes bug with scaffold generator with `--assets=false --resource-route=false`. - Fixes #9525. +* Force generated routes to be inserted into `config/routes.rb`. + + *Andrew White* + +* Don't remove all line endings from `config/routes.rb` when revoking scaffold. + + Fixes #15913. + + *Andrew White* + +* Rename `--skip-test-unit` option to `--skip-test` in app generator + + *Melanie Gilman* + +* Add the `method_source` gem to the default Gemfile for apps. + + *Sean Griffin* + +* Drop old test locations from `rake stats`: + + - test/functional + - test/unit + + *Ravil Bayramgalin* + +* Update `rake stats` to correctly count declarative tests + as methods in `_test.rb` files. + + *Ravil Bayramgalin* + +* Remove deprecated `test:all` and `test:all:db` tasks. + + *Rafael Mendonça França* + +* Remove deprecated `Rails::Rack::LogTailer`. + + *Rafael Mendonça França* + +* Remove deprecated `RAILS_CACHE` constant. + + *Rafael Mendonça França* + +* Remove deprecated `serve_static_assets` configuration. + + *Rafael Mendonça França* + +* Use local variables in `_form.html.erb` partial generated by scaffold. + + *Andrew Kozlov* + +* Add `config/initializers/callback_terminator.rb`. + + Newly generated Rails apps have a new initializer called + `callback_terminator.rb` which sets the value of the configuration option + `ActiveSupport.halt_callback_chains_on_return_false` to `false`. + + As a result, new Rails apps do not halt Active Record and Active Model + callback chains when a callback returns `false`; only when they are + explicitly halted with `throw(:abort)`. + + The terminator is *not* added when running `rake rails:update`, so returning + `false` will still work on old apps ported to Rails 5, displaying a + deprecation warning to prompt users to update their code to the new syntax. + + *claudiob* + +* Generated fixtures won't use the id when generated with references attributes. - *Arun Agrawal* + *Pablo Olmos de Aguilera Corradini* -* Rails::Railtie no longer forces the Rails::Configurable module on everything - that subclasses it. Instead, the methods from Rails::Configurable have been - moved to class methods in Railtie and the Railtie has been made abstract. +* Add `--skip-action-mailer` option to the app generator. - *John Wang* + *claudiob* -* Changes repetitive th tags to use colspan attribute in `index.html.erb` template. +* Autoload any second level directories called `app/*/concerns`. - *Sıtkı Bağdat* + *Alex Robbin* -Please check [4-0-stable](https://github.com/rails/rails/blob/4-0-stable/railties/CHANGELOG.md) for previous changes. +Please check [4-2-stable](https://github.com/rails/rails/blob/4-2-stable/railties/CHANGELOG.md) for previous changes. |