aboutsummaryrefslogtreecommitdiffstats
path: root/railties/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'railties/CHANGELOG.md')
-rw-r--r--railties/CHANGELOG.md373
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.