aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actioncable/README.md4
-rw-r--r--actionmailer/CHANGELOG.md4
-rw-r--r--actionpack/CHANGELOG.md49
-rw-r--r--actionview/CHANGELOG.md8
-rw-r--r--guides/source/5_0_release_notes.md436
-rw-r--r--guides/source/upgrading_ruby_on_rails.md8
-rw-r--r--railties/CHANGELOG.md8
7 files changed, 392 insertions, 125 deletions
diff --git a/actioncable/README.md b/actioncable/README.md
index 42fbc755ae..c7420d48bc 100644
--- a/actioncable/README.md
+++ b/actioncable/README.md
@@ -399,12 +399,12 @@ The above will start a cable server on port 28080. Remember to point your client
### In app
-If you are using a threaded server like Puma or Thin, the current implementation of ActionCable can run side-along with your Rails application. For example, to listen for WebSocket requests on `/cable`, match requests on that path:
+If you are using a threaded server like Puma or Thin, the current implementation of ActionCable can run side-along with your Rails application. For example, to listen for WebSocket requests on `/cable`, mount the server at that path:
```ruby
# config/routes.rb
Example::Application.routes.draw do
- match "/cable", :to => ActionCable.server, via: [:get, :post]
+ mount ActionCable.server => '/cable'
end
```
diff --git a/actionmailer/CHANGELOG.md b/actionmailer/CHANGELOG.md
index 0cab1b8672..e74e0bc20a 100644
--- a/actionmailer/CHANGELOG.md
+++ b/actionmailer/CHANGELOG.md
@@ -1,7 +1,7 @@
## Rails 5.0.0.beta1 (December 18, 2015) ##
* `config.force_ssl = true` will set
- `config.action_mailer.default_url_options = { protocol: 'https' }`
+ `config.action_mailer.default_url_options = { protocol: 'https' }`.
*Andrew Kampjes*
@@ -60,7 +60,7 @@
*Carlos Souza*
-* Remove deprecate `*_path` helpers in email views.
+* Remove deprecated `*_path` helpers in email views.
*Rafael Mendonça França*
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md
index 533436a0c2..dec8e0cadf 100644
--- a/actionpack/CHANGELOG.md
+++ b/actionpack/CHANGELOG.md
@@ -34,7 +34,7 @@
*Jorge Bejar*
-* Change the `protect_from_forgery` prepend default to `false`
+* Change the `protect_from_forgery` prepend default to `false`.
Per this comment
https://github.com/rails/rails/pull/18334#issuecomment-69234050 we want
@@ -82,26 +82,29 @@
*Agis Anastasopoulos*
-* Add the ability of returning arbitrary headers to ActionDispatch::Static
+* Add the ability of returning arbitrary headers to `ActionDispatch::Static`.
Now ActionDispatch::Static can accept HTTP headers so that developers
will have control of returning arbitrary headers like
'Access-Control-Allow-Origin' when a response is delivered. They can be
configured with `#config`:
- config.public_file_server.headers = {
- "Cache-Control" => "public, max-age=60",
- "Access-Control-Allow-Origin" => "http://rubyonrails.org"
- }
+ Example:
+
+ config.public_file_server.headers = {
+ "Cache-Control" => "public, max-age=60",
+ "Access-Control-Allow-Origin" => "http://rubyonrails.org"
+ }
*Yuki Nishijima*
* Allow multiple `root` routes in same scope level. Example:
- ```ruby
- root 'blog#show', constraints: ->(req) { Hostname.blog_site?(req.host) }
- root 'landing#show'
- ```
+ Example:
+
+ root 'blog#show', constraints: ->(req) { Hostname.blog_site?(req.host) }
+ root 'landing#show'
+
*Rafael Sales*
* Fix regression in mounted engine named routes generation for app deployed to
@@ -112,12 +115,12 @@
*Matthew Erhard*
-* ActionDispatch::Response#new no longer applies default headers. If you want
+* `ActionDispatch::Response#new` no longer applies default headers. If you want
default headers applied to the response object, then call
- `ActionDispatch::Response.create`. This change only impacts people who are
+ `ActionDispatch::Response.create`. This change only impacts people who are
directly constructing an `ActionDispatch::Response` object.
-* Accessing mime types via constants like `Mime::HTML` is deprecated. Please
+* Accessing mime types via constants like `Mime::HTML` is deprecated. Please
change code like this:
Mime::HTML
@@ -170,7 +173,7 @@
*Jeremy Friesen*
-* Using strings or symbols for middleware class names is deprecated. Convert
+* Using strings or symbols for middleware class names is deprecated. Convert
things like this:
middleware.use "Foo::Bar"
@@ -179,10 +182,10 @@
middleware.use Foo::Bar
-* ActionController::TestSession now accepts a default value as well as
+* `ActionController::TestSession` now accepts a default value as well as
a block for generating a default value based off the key provided.
- This fixes calls to session#fetch in ApplicationController instances that
+ This fixes calls to `session#fetch` in `ApplicationController` instances that
take more two arguments or a block from raising `ArgumentError: wrong
number of arguments (2 for 1)` when performing controller tests.
@@ -233,10 +236,10 @@
*Grey Baker*
* Add support for API only apps.
- ActionController::API is added as a replacement of
- ActionController::Base for this kind of applications.
+ `ActionController::API` is added as a replacement of
+ `ActionController::Base` for this kind of applications.
- *Santiago Pastorino & Jorge Bejar*
+ *Santiago Pastorino*, *Jorge Bejar*
* Remove `assigns` and `assert_template`. Both methods have been extracted
into a gem at https://github.com/rails/rails-controller-testing.
@@ -319,7 +322,7 @@
*Peter Schröder*
-* Drop request class from RouteSet constructor.
+* Drop request class from `RouteSet` constructor.
If you would like to use a custom request class, please subclass and implement
the `request_class` method.
@@ -348,7 +351,7 @@
*Jeremy Kemper*, *Yves Senn*
-* Deprecate AbstractController#skip_action_callback in favor of individual skip_callback methods
+* Deprecate `AbstractController#skip_action_callback` in favor of individual skip_callback methods
(which can be made to raise an error if no callback was removed).
*Iain Beeston*
@@ -554,9 +557,7 @@
Fixes an issue where when an exception is raised in the request the additional
payload data is not available.
- See:
- * #14903
- * https://github.com/roidrage/lograge/issues/37
+ See #14903.
*Dieter Komendera*, *Margus Pärt*
diff --git a/actionview/CHANGELOG.md b/actionview/CHANGELOG.md
index d4cdde4c0a..a43d9039db 100644
--- a/actionview/CHANGELOG.md
+++ b/actionview/CHANGELOG.md
@@ -97,7 +97,7 @@
Which could happen if the rendering was done directly in the controller
and not in a template.
- Fixes #20535
+ Fixes #20535.
*Roque Pinel*
@@ -106,7 +106,7 @@
*Dov Murik*
-* Raise an ArgumentError when a false value for `include_blank` is passed to a
+* Raise an `ArgumentError` when a false value for `include_blank` is passed to a
required select field (to comply with the HTML5 spec).
*Grey Baker*
@@ -124,7 +124,7 @@
* `translate` should handle `raise` flag correctly in case of both main and default
translation is missing.
- Fixes #19967
+ Fixes #19967.
*Bernard Potocki*
@@ -146,7 +146,7 @@
* `translate` should accept nils as members of the `:default`
parameter without raising a translation missing error.
- Fixes #19419
+ Fixes #19419.
*Justin Coyne*
diff --git a/guides/source/5_0_release_notes.md b/guides/source/5_0_release_notes.md
index 812100ea16..78ce092a2b 100644
--- a/guides/source/5_0_release_notes.md
+++ b/guides/source/5_0_release_notes.md
@@ -5,12 +5,14 @@ Ruby on Rails 5.0 Release Notes
Highlights in Rails 5.0:
-* Ruby 2.2.2+ required
-* ActionCable
-* API Mode
+* Action Cable
+* Rails API
+* Active Rcord Attributes API
+* Test Runner
* Exclusive use of `rails` CLI over Rake
* Sprockets 3
* Turbolinks 5
+* Ruby 2.2.2+ required
These release notes cover only the major changes. To learn about various bug
fixes and changes, please refer to the change logs or check out the [list of
@@ -22,167 +24,423 @@ repository on GitHub.
Upgrading to Rails 5.0
----------------------
-If you're upgrading an existing application, it's a great idea to have good test coverage before going in. You should also first upgrade to Rails 4.2 in case you haven't and make sure your application still runs as expected before attempting an update to Rails 5.0. A list of things to watch out for when upgrading is available in the [Upgrading Ruby on Rails](upgrading_ruby_on_rails.html#upgrading-from-rails-4-2-to-rails-5-0) guide.
+If you're upgrading an existing application, it's a great idea to have good test
+coverage before going in. You should also first upgrade to Rails 4.2 in case you
+haven't and make sure your application still runs as expected before attempting
+an update to Rails 5.0. A list of things to watch out for when upgrading is
+available in the
+[Upgrading Ruby on Rails](upgrading_ruby_on_rails.html#upgrading-from-rails-4-2-to-rails-5-0)
+guide.
-Creating a Rails 5.0 application
---------------------------------
-
-```
- You should have the 'rails' RubyGem installed
-$ rails new myapp
-$ cd myapp
-```
+Major Features
+--------------
-### Living on the Edge
+### Action Cable
+[Pull Request](https://github.com/rails/rails/pull/22586)
-`Bundler` and `Gemfile` makes freezing your Rails application easy as pie with the new dedicated `bundle` command. If you want to bundle straight from the Git repository, you can pass the `--edge` flag:
+ToDo...
-```
-$ rails new myapp --edge
-```
+### Rails API
+[Pull Request](https://github.com/rails/rails/pull/19832)
-If you have a local checkout of the Rails repository and want to generate an application using that, you can pass the `--dev` flag:
+ToDo...
-```
-$ ruby /path/to/rails/railties/bin/rails new myapp --dev
-```
+### Active Record attributes API
-Major Features
---------------
+ToDo...
-### Upgrade
+### Test Runner
+[Pull Request](https://github.com/rails/rails/pull/19216)
-* **Ruby 2.2.2** ([commit](https://github.com/rails/rails/commit/d3b098b8289ffaa8486f526dc53204123ed581f3)) - Ruby 2.2.2+ required
-* **Rails API** ([commit](https://github.com/rails/rails/pull/19832)) - Rails API is merged directly into Rails
-* **Make ActionController::Parameters not inherited from Hash** ([Pull Request](https://github.com/rails/rails/pull/20868))
-* **Sprockets 3 is out** ([Upgrading Guide](https://github.com/rails/sprockets/blob/master/UPGRADING.md))
+ToDo...
-### General
-* **Remove debugger supprt** ([commit](https://github.com/rails/rails/commit/93559da4826546d07014f8cfa399b64b4a143127)) - Debugger doesn't work with Ruby 2.2, so it is incompatible with Rails 5.0.
-* **Deprecated returning `false` as a way to halt ActiveRecord callback chains.** ([Pull Request](https://github.com/rails/rails/pull/17227)) - The recommended way is to `throw(:abort)`.
+Railties
+--------
-### Security
+Please refer to the [Changelog][railties] for detailed changes.
-* Removal of `deep_munge` ([commit](https://github.com/rails/rails/commit/52cf1a71b393486435fab4386a8663b146608996)) - Now that we have encoding strategies, we can just walk the params hash
-once to encode as HashWithIndifferentAccess, and remove nils.
+### Removals
-Extraction of features to gems
----------------------------
+* Removed debugger supprt use byebug instead. `debugger` is not supported by
+ Ruby
+ 2.2. ([commit](https://github.com/rails/rails/commit/93559da4826546d07014f8cfa399b64b4a143127))
-In Rails 5.0, several features have been extracted into gems. You can simply add the extracted gems to your `Gemfile` to bring the functionality back.
+* Removed deprecated `test:all` and `test:all:db` tasks.
+ ([commit](https://github.com/rails/rails/commit/f663132eef0e5d96bf2a58cec9f7c856db20be7c))
-* XML Serialization ([Github](https://github.com/rails/activemodel-serializers-xml), [Pull Request](https://github.com/rails/rails/pull/21161))
+* Removed deprecated `Rails::Rack::LogTailer`.
+ ([commit](https://github.com/rails/rails/commit/c564dcb75c191ab3d21cc6f920998b0d6fbca623))
-Action Cable
--------------
+* Removed deprecated `RAILS_CACHE` constant.
+ ([commit](https://github.com/rails/rails/commit/b7f856ce488ef8f6bf4c12bb549f462cb7671c08))
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/actioncable/CHANGELOG.md) for detailed changes.
+* Removed deprecated `serve_static_assets` configuration.
+ ([commit](https://github.com/rails/rails/commit/463b5d7581ee16bfaddf34ca349b7d1b5878097c))
-### Notable changes
-* Initial public release, and merger into Rails ([Pull Request](https://github.com/rails/rails/pull/22586))
+* Removed the documentation tasks `doc:app`, `doc:rails`, and `doc:guides`.
+ ([commit](https://github.com/rails/rails/commit/cd7cc5254b090ccbb84dcee4408a5acede25ef2a))
### Deprecations
-Action Mailer
--------------
+* Deprecated `config.static_cache_control` in favor of
+ `config.public_file_server.headers`.
+ ([Pull Request](https://github.com/rails/rails/pull/22173))
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/actionmailer/CHANGELOG.md) for detailed changes.
+* Deprecated `config.serve_static_files` in favor of `config.public_file_server.enabled`.
+ ([Pull Request](https://github.com/rails/rails/pull/22173))
### Notable changes
-### Deprecations
+* Added Rails test runner `bin/rails test`.
+ ([Pull Request](https://github.com/rails/rails/pull/19216))
+
+* Newly generated applications and plugins get a `README.md` in Markdown.
+ ([commit](https://github.com/rails/rails/commit/89a12c931b1f00b90e74afffcdc2fc21f14ca663),
+ [Pull Request](https://github.com/rails/rails/pull/22068))
+
+* Added `bin/rails restart` task to restart your Rails app by touching `tmp/restart.txt`.
+ ([Pull Request](https://github.com/rails/rails/pull/18965))
+
+* Added `bin/rails initializers` task to print out all defined initializers in
+ the order they are invoked by Rails.
+ ([Pull Request](https://github.com/rails/rails/pull/19323))
+
+* Removed `Rack::ContentLength` middleware from the default
+ stack. ([Commit](https://github.com/rails/rails/commit/56903585a099ab67a7acfaaef0a02db8fe80c450))
+
+* Added `bin/rails dev:cache` to enable or disable caching in development mode.
+ ([Pull Request](https://github.com/rails/rails/pull/20961))
+
+* Added `bin/update` script to update the development environment automatically.
+ ([Pull Request](https://github.com/rails/rails/pull/20972))
+
+* Proxy Rake tasks through `bin/rails`.
+ ([Pull Request](https://github.com/rails/rails/pull/22457),
+ [Pull Request](https://github.com/rails/rails/pull/22288))
+
Action Pack
-----------
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/actionpack/CHANGELOG.md) for detailed changes.
+Please refer to the [Changelog][action-pack] for detailed changes.
-### Notable changes
+### Removals
+
+* Removed `ActionDispatch::Request::Utils.deep_munge`.
+ ([commit](https://github.com/rails/rails/commit/52cf1a71b393486435fab4386a8663b146608996))
+
+* Removed `ActionController::HideActions`.
+ ([Pull Request](https://github.com/rails/rails/pull/18371))
+
+* Removed `respond_to` and `respond_with` placeholder methods, this functionality
+ has been extracted to the
+ [responders](https://github.com/plataformatec/responders) gem.
+ ([commit](https://github.com/rails/rails/commit/afd5e9a7ff0072e482b0b0e8e238d21b070b6280))
+
+* Removed deprecated assertion files.
+ ([commit](https://github.com/rails/rails/commit/92e27d30d8112962ee068f7b14aa7b10daf0c976))
+
+* Removed deprecated usage of string keys in URL helpers.
+ ([commit](https://github.com/rails/rails/commit/34e380764edede47f7ebe0c7671d6f9c9dc7e809))
+
+* Removed deprecated `only_path` option on `*_path` helpers.
+ ([commit](https://github.com/rails/rails/commit/e4e1fd7ade47771067177254cb133564a3422b8a))
+
+* Removed deprecated `NamedRouteCollection#helpers`.
+ ([commit](https://github.com/rails/rails/commit/2cc91c37bc2e32b7a04b2d782fb8f4a69a14503f))
+
+* Removed deprecated support to define routes with `:to` option that doesn't contain `#`.
+ ([commit](https://github.com/rails/rails/commit/1f3b0a8609c00278b9a10076040ac9c90a9cc4a6))
+
+* Removed deprecated `ActionDispatch::Response#to_ary`.
+ ([commit](https://github.com/rails/rails/commit/4b19d5b7bcdf4f11bd1e2e9ed2149a958e338c01))
+
+* Removed deprecated `ActionDispatch::Request#deep_munge`.
+ ([commit](https://github.com/rails/rails/commit/7676659633057dacd97b8da66e0d9119809b343e))
+
+* Removed deprecated
+ `ActionDispatch::Http::Parameters#symbolized_path_parameters`.
+ ([commit](https://github.com/rails/rails/commit/7fe7973cd8bd119b724d72c5f617cf94c18edf9e))
+
+* Removed deprecated option `use_route` in controller tests.
+ ([commit](https://github.com/rails/rails/commit/e4cfd353a47369dd32198b0e67b8cbb2f9a1c548))
+
+* Removed `assigns` and `assert_template`. Both methods have been extracted
+ into the
+ [rails-controller-testing](https://github.com/rails/rails-controller-testing)
+ gem.
+ ([Pull Request](https://github.com/rails/rails/pull/20138))
### Deprecations
+* Deprecated all `*_filter` callbacks in favor of `*_action` callbacks.
+ ([Pull Request](https://github.com/rails/rails/pull/18410))
+
+* Deprecated `*_via_redirect` integration test methods. Use `follow_redirect!`
+ manually after the request call for the same behavior.
+ ([Pull Request](https://github.com/rails/rails/pull/18693))
+
+* Deprecated `AbstractController#skip_action_callback` in favor of individual
+ skip_callback methods.
+ ([Pull Request](https://github.com/rails/rails/pull/19060))
+
+* Deprecated `:nothing` option for `render` method.
+ ([Pull Request](https://github.com/rails/rails/pull/20336))
+
+* Deprecated passing first parameter as `Hash` and default status code for
+ `head` method.
+ ([Pull Request](https://github.com/rails/rails/pull/20407))
+
+* Deprecated using strings or symbols for middleware class names. Use class
+ names instead.
+ ([commit](https://github.com/rails/rails/commit/83b767ce))
+
+* Deprecated accessing mime types via constants (eg. `Mime::HTML`). Use the
+ subscript operator with a symbol instead (eg. `Mime[:html]`).
+ ([Pull Request](https://github.com/rails/rails/pull/21869))
+
+* Deprecated `redirect_to :back` in favor of `redirect_back`, which accepts a
+ required `fallback_location` argument, thus eliminating the possibility of a
+ `RedirectBackError`.
+ ([Pull Request](https://github.com/rails/rails/pull/22506))
+
+### Notable changes
+
+* Added `ActionController::Renderer` to render arbitrary templates
+ outside controller actions.
+ ([Pull Request](https://github.com/rails/rails/pull/18546))
+
+* Migrating to keyword arguments syntax in `ActionController::TestCase` and
+ `ActionDispatch::Integration` HTTP request methods.
+ ([Pull Request](https://github.com/rails/rails/pull/18323))
+
+* Added `http_cache_forever` to Action Controller, so we can cache a response
+ that never gets expired.
+ ([Pull Request](https://github.com/rails/rails/pull/18394))
+
+* Provide friendlier access to request variants.
+ ([Pull Request](https://github.com/rails/rails/pull/18939))
+
+* For actions with no corresponding templates, render `head :no_content`
+ instead of raising an error.
+ ([Pull Request](https://github.com/rails/rails/pull/19377))
+
+* Added the ability to override default form builder for a controller.
+ ([Pull Request](https://github.com/rails/rails/pull/19736))
+
+* Added support for API only apps.
+ `ActionController::API` is added as a replacement of
+ `ActionController::Base` for this kind of applications.
+ ([Pull Request](https://github.com/rails/rails/pull/19832))
+
+* Make `ActionController::Parameters` no longer inherits from
+ `HashWithIndifferentAccess`.
+ ([Pull Request](https://github.com/rails/rails/pull/20868))
+
+* Make it easier to opt in to `config.force_ssl` and `config.ssl_options` by
+ making them less dangerous to try and easier to disable.
+ ([Pull Request](https://github.com/rails/rails/pull/21520))
+
+* Added the ability of returning arbitrary headers to `ActionDispatch::Static`.
+ ([Pull Request](https://github.com/rails/rails/pull/19135))
+
+* Changed the `protect_from_forgery` prepend default to `false`.
+ ([commit](https://github.com/rails/rails/commit/39794037817703575c35a75f1961b01b83791191))
+
+* `ActionController::TestCase` will be moved to it's own gem in Rails 5.1. Use
+ `ActionDispatch::IntegrationTest` instead.
+ ([commit](https://github.com/rails/rails/commit/4414c5d1795e815b102571425974a8b1d46d932d))
+
Action View
-------------
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/actionview/CHANGELOG.md) for detailed changes.
+Please refer to the [Changelog][action-view] for detailed changes.
+
+### Removals
+
+* Removed deprecated `AbstractController::Base::parent_prefixes`.
+ ([commit](https://github.com/rails/rails/commit/34bcbcf35701ca44be559ff391535c0dd865c333))
+
+* Removed `ActionView::Helpers::RecordTagHelper`, this functionality
+ has been extracted to the
+ [record_tag_helper](https://github.com/rails/record_tag_helper) gem.
+ ([Pull Request](https://github.com/rails/rails/pull/18411))
+
+* Removed `:rescue_format` option for `translate` helper since it's no longer
+ supported by I18n.
+ ([Pull Request](https://github.com/rails/rails/pull/20019))
### Notable Changes
-* Support explicit definition of resouce name for collection caching ([Pull Request](https://github.com/rails/rails/pull/20781))
-* Make `disable_with` default in `submit_tag` ([Pull Request](https://github.com/rails/rails/pull/21135))
-### Deprecations
+* Changed the default template handler from `ERB` to `Raw`.
+ ([commit](https://github.com/rails/rails/commit/4be859f0fdf7b3059a28d03c279f03f5938efc80))
-Active Job
------------
+* Collection rendering automatically caches and fetches multiple partials.
+ ([Pull Request](https://github.com/rails/rails/pull/18948))
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/activejob/CHANGELOG.md) for detailed changes.
+* Allow defining explicit collection caching using a `# Template Collection: ...`
+ directive inside templates.
+ ([Pull Request](https://github.com/rails/rails/pull/20781))
-### Notable changes
+* Add wildcard matching to explicit dependencies.
+ ([Pull Request](https://github.com/rails/rails/pull/20904))
-### Deprecations
+* Make `disable_with` the default behavior for submit tags. Disables the
+ button on submit to prevent double submits.
+ ([Pull Request](https://github.com/rails/rails/pull/21135))
-Active Model
-------------
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/activemodel/CHANGELOG.md) for detailed changes.
+Action Mailer
+-------------
+
+Please refer to the [Changelog][action-mailer] for detailed changes.
+
+### Removals
+
+* Removed deprecated `*_path` helpers in email views.
+ ([commit](https://github.com/rails/rails/commit/d282125a18c1697a9b5bb775628a2db239142ac7))
+
+* Removed deprecated `deliver` and `deliver!` methods.
+ ([commit](https://github.com/rails/rails/commit/755dcd0691f74079c24196135f89b917062b0715))
### Notable changes
-* Validate multiple contexts on `valid?` and `invalid?` at once ([Pull Request](https://github.com/rails/rails/pull/21069))
-### Deprecations
+* Template lookup now respects default locale and I18n fallbacks.
+ ([commit](https://github.com/rails/rails/commit/ecb1981b))
+
+* Added `_mailer` suffix to mailers created via generator, following the same
+ naming convention used in controllers and jobs.
+ ([Pull Request](https://github.com/rails/rails/pull/18074))
+
+* Added `assert_enqueued_emails` and `assert_no_enqueued_emails`.
+ ([Pull Request](https://github.com/rails/rails/pull/18403))
+
+* Added `config.action_mailer.deliver_later_queue_name` configuration to set
+ the mailer queue name.
+ ([Pull Request](https://github.com/rails/rails/pull/18587))
-* Deprecated returning `false` as a way to halt ActiveModel and ActiveModel::Valdiations callback chains. The recommended way is to `throw(:abort)`. ([Pull Request](https://github.com/rails/rails/pull/17227))
Active Record
-------------
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/activerecord/CHANGELOG.md) for detailed changes.
-
-### Notable changes
+Please refer to the [Changelog][active-record] for detailed changes.
-* Add a `foreign_key` option to `references` while creating the table ([commit](https://github.com/rails/rails/commit/99a6f9e60ea55924b44f894a16f8de0162cf2702))
-* New attributes API ([commit](https://github.com/rails/rails/commit/8c752c7ac739d5a86d4136ab1e9d0142c4041e58))
-* Add `:enum_prefix`/`:enum_suffix` option to `enum` definition. ([Pull Request](https://github.com/rails/rails/pull/19813))
-* Add #cache_key to ActiveRecord::Relation ([Pull Request](https://github.com/rails/rails/pull/20884))
-* Add `ActiveRecord::Relation#outer_joins` ([Pull Request](https://github.com/rails/rails/pull/12071))
-* Require `belongs_to` by default ([Pull Request](https://github.com/rails/rails/pull/18937)) - Deprecate `required` option in favor of `optional` for `belongs_to`
+### Removals
### Deprecations
-* Deprecated returning `false` as a way to halt ActiveRecord callback chains. The recommended way is to `throw(:abort)`. ([Pull Request](https://github.com/rails/rails/pull/17227))
-* Synchronize behavior of `#tables` ([Pull Request](https://github.com/rails/rails/pull/21601))
- * Deprecate `connection.tables` on the SQLite3 and MySQL adapters.
- * Deprecate passing arguments to `#tables` - the `#tables` method of some adapters (mysql2, sqlite3) would return both tables and views while others (postgresql) just return tables. To make their behavior consistent, `#tables` will return only tables in the future.
- * Deprecate `table_exists?` - The `#table_exists?` method would check both tables and views. To make their behavior consistent with `#tables`, `#table_exists?` will check only tables in the future.
+* Deprecated returning `false` as a way to halt Active Record callback
+ chains. The recommended way is to
+ `throw(:abort)`. ([Pull Request](https://github.com/rails/rails/pull/17227))
-Active Support
---------------
+* Synchronize behavior of `#tables`.
+ ([Pull Request](https://github.com/rails/rails/pull/21601))
+
+* Deprecated `connection.tables` on the SQLite3 and MySQL adapters.
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/activesupport/CHANGELOG.md) for detailed changes.
+* Deprecated passing arguments to `#tables` - the `#tables` method of some
+ adapters (mysql2, sqlite3) would return both tables and views while others
+ (postgresql) just return tables. To make their behavior consistent,
+ `#tables` will return only tables in the future.
+
+* Deprecated `table_exists?` - The `#table_exists?` method would check both
+ tables and views. To make their behavior consistent with `#tables`,
+ `#table_exists?` will check only tables in the future.
### Notable changes
-* New config option `config.active_support.halt_callback_chains_on_return_false` to specify whether ActiveRecord, ActiveModel and ActiveModel::Validations callback chains can be halted by returning `false` in a 'before' callback. ([Pull Request](https://github.com/rails/rails/pull/17227))
+* Added a `foreign_key` option to `references` while creating the table.
+ ([commit](https://github.com/rails/rails/commit/99a6f9e60ea55924b44f894a16f8de0162cf2702))
+
+* New attributes
+ API. ([commit](https://github.com/rails/rails/commit/8c752c7ac739d5a86d4136ab1e9d0142c4041e58))
+
+* Added `:enum_prefix`/`:enum_suffix` option to `enum`
+ definition. ([Pull Request](https://github.com/rails/rails/pull/19813))
+
+* Added `#cache_key` to `ActiveRecord::Relation`.
+ ([Pull Request](https://github.com/rails/rails/pull/20884))
+
+* Added `ActiveRecord::Relation#outer_joins`.
+ ([Pull Request](https://github.com/rails/rails/pull/12071))
+
+* Require `belongs_to` by default.
+ ([Pull Request](https://github.com/rails/rails/pull/18937)) - Deprecate
+ `required` option in favor of `optional` for `belongs_to`
+
+
+Active Model
+------------
+
+Please refer to the [Changelog][active-model] for detailed changes.
+
+### Removals
+
+* Removed XML serialization. This feature has been extracted into the
+ [activemodel-serializers-xml](https://github.com/rails/activemodel-serializers-xml) gem.
+ ([Pull Request](https://github.com/rails/rails/pull/21161))
### Deprecations
-* Replace `ActiveSupport::Concurrency::Latch` with `Concurrent::CountDownLatch` from concurrent-ruby ([Pull Request](https://github.com/rails/rails/pull/20866))
+* Deprecated returning `false` as a way to halt Active Model and
+ `ActiveModel::Valdiations` callback chains. The recommended way is to
+ `throw(:abort)`. ([Pull Request](https://github.com/rails/rails/pull/17227))
-Railties
---------
+### Notable changes
+
+* Validate multiple contexts on `valid?` and `invalid?` at once.
+ ([Pull Request](https://github.com/rails/rails/pull/21069))
-Please refer to the [Changelog](https://github.com/rails/rails/blob/5-0-stable/railties/CHANGELOG.md) for detailed changes.
+
+Active Job
+-----------
+
+Please refer to the [Changelog][active-job] for detailed changes.
+
+### Removals
+
+### Deprecations
### Notable changes
-* **Remove ContentLength middleware from defaults** ([Commit](https://github.com/rails/rails/commit/56903585a099ab67a7acfaaef0a02db8fe80c450)) - ContentLength is not part of the rack SPEC since [rack/rack@86ddc7a](https://github.com/rack/rack/commit/86ddc7a6ec68d7b6951c2dbd07947c4254e8bc0d). If you would like to use it, just add it as a middleware in your config.
-* **Begin work on Rails test runner** ([Pull Request](https://github.com/rails/rails/pull/19216)) - Work has begun on a test runner that's built right into Rails. This pull requests lays the foundations for the runner.
+
+Active Support
+--------------
+
+Please refer to the [Changelog][active-support] for detailed changes.
+
+### Removals
### Deprecations
+* Replace `ActiveSupport::Concurrency::Latch` with
+ `Concurrent::CountDownLatch` from concurrent-ruby.
+ ([Pull Request](https://github.com/rails/rails/pull/20866))
+
+### Notable changes
+
+* New config option
+ `config.active_support.halt_callback_chains_on_return_false` to specify
+ whether ActiveRecord, ActiveModel and ActiveModel::Validations callback
+ chains can be halted by returning `false` in a 'before' callback.
+ ([Pull Request](https://github.com/rails/rails/pull/17227))
+
+
Credits
-------
-See the [full list of contributors to Rails](http://contributors.rubyonrails.org/) for the many people who spent many hours making Rails, the stable and robust framework it is. Kudos to all of them.
+See the
+[full list of contributors to Rails](http://contributors.rubyonrails.org/) for
+the many people who spent many hours making Rails, the stable and robust
+framework it is. Kudos to all of them.
+
+[railties]: https://github.com/rails/rails/blob/5-0-stable/railties/CHANGELOG.md
+[action-pack]: https://github.com/rails/rails/blob/5-0-stable/actionpack/CHANGELOG.md
+[action-view]: https://github.com/rails/rails/blob/5-0-stable/actionview/CHANGELOG.md
+[action-mailer]: https://github.com/rails/rails/blob/5-0-stable/actionmailer/CHANGELOG.md
+[active-record]: https://github.com/rails/rails/blob/5-0-stable/activerecord/CHANGELOG.md
+[active-model]: https://github.com/rails/rails/blob/5-0-stable/activemodel/CHANGELOG.md
+[active-support]: https://github.com/rails/rails/blob/5-0-stable/activesupport/CHANGELOG.md
+[active-job]: https://github.com/rails/rails/blob/5-0-stable/activejob/CHANGELOG.md
diff --git a/guides/source/upgrading_ruby_on_rails.md b/guides/source/upgrading_ruby_on_rails.md
index 898d75c139..936547a8cc 100644
--- a/guides/source/upgrading_ruby_on_rails.md
+++ b/guides/source/upgrading_ruby_on_rails.md
@@ -53,6 +53,14 @@ Don't forget to review the difference, to see if there were any unexpected chang
Upgrading from Rails 4.2 to Rails 5.0
-------------------------------------
+### Ruby 2.2.2+
+
+ToDo...
+
+### Ruby 2.2.2+
+
+ToDo...
+
### Active Record models now inherit from ApplicationRecord by default
In Rails 4.2 an Active Record model inherits from `ActiveRecord::Base`. In Rails 5.0,
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index ed8f74ee9b..501c7d2ce5 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -201,7 +201,7 @@
* 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
+ Fixes #20510.
*Ersin Akinci*
@@ -249,13 +249,13 @@
middleware for API apps & generators generates the right files,
folders and configurations.
- *Santiago Pastorino & Jorge Bejar*
+ *Santiago Pastorino*, *Jorge Bejar*
* Make generated scaffold functional tests work inside engines.
*Yuji Yaginuma*
-* Generator a `.keep` file in the `tmp` folder by default as many scripts
+* Generate 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.
See #20299.
@@ -321,7 +321,7 @@
* Created rake restart task. Restarts your Rails app by touching the
`tmp/restart.txt`.
- Fixes #18876.
+ See #18876.
*Hyonjee Joo*