Development of Rails 8.0 starts now
🎉
This commit is contained in:
parent
a6e2bb04dd
commit
37fd0e7fe4
2
.github/stale.yml
vendored
2
.github/stale.yml
vendored
@ -20,7 +20,7 @@ markComment: >
|
|||||||
|
|
||||||
The resources of the Rails team are limited, and so we are asking for your help.
|
The resources of the Rails team are limited, and so we are asking for your help.
|
||||||
|
|
||||||
If you can still reproduce this error on the `7-1-stable` branch or on `main`,
|
If you can still reproduce this error on the `7-2-stable` branch or on `main`,
|
||||||
please reply with all of the information you have about it in order to keep the issue open.
|
please reply with all of the information you have about it in order to keep the issue open.
|
||||||
|
|
||||||
Thank you for all your contributions.
|
Thank you for all your contributions.
|
||||||
|
106
Gemfile.lock
106
Gemfile.lock
@ -27,29 +27,29 @@ GIT
|
|||||||
PATH
|
PATH
|
||||||
remote: .
|
remote: .
|
||||||
specs:
|
specs:
|
||||||
actioncable (7.2.0.alpha)
|
actioncable (8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
websocket-driver (>= 0.6.1)
|
websocket-driver (>= 0.6.1)
|
||||||
zeitwerk (~> 2.6)
|
zeitwerk (~> 2.6)
|
||||||
actionmailbox (7.2.0.alpha)
|
actionmailbox (8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
activejob (= 7.2.0.alpha)
|
activejob (= 8.0.0.alpha)
|
||||||
activerecord (= 7.2.0.alpha)
|
activerecord (= 8.0.0.alpha)
|
||||||
activestorage (= 7.2.0.alpha)
|
activestorage (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
mail (>= 2.8.0)
|
mail (>= 2.8.0)
|
||||||
actionmailer (7.2.0.alpha)
|
actionmailer (8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
actionview (= 7.2.0.alpha)
|
actionview (= 8.0.0.alpha)
|
||||||
activejob (= 7.2.0.alpha)
|
activejob (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
mail (>= 2.8.0)
|
mail (>= 2.8.0)
|
||||||
rails-dom-testing (~> 2.2)
|
rails-dom-testing (~> 2.2)
|
||||||
actionpack (7.2.0.alpha)
|
actionpack (8.0.0.alpha)
|
||||||
actionview (= 7.2.0.alpha)
|
actionview (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
nokogiri (>= 1.8.5)
|
nokogiri (>= 1.8.5)
|
||||||
racc
|
racc
|
||||||
rack (>= 2.2.4)
|
rack (>= 2.2.4)
|
||||||
@ -58,35 +58,35 @@ PATH
|
|||||||
rails-dom-testing (~> 2.2)
|
rails-dom-testing (~> 2.2)
|
||||||
rails-html-sanitizer (~> 1.6)
|
rails-html-sanitizer (~> 1.6)
|
||||||
useragent (~> 0.16)
|
useragent (~> 0.16)
|
||||||
actiontext (7.2.0.alpha)
|
actiontext (8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
activerecord (= 7.2.0.alpha)
|
activerecord (= 8.0.0.alpha)
|
||||||
activestorage (= 7.2.0.alpha)
|
activestorage (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
globalid (>= 0.6.0)
|
globalid (>= 0.6.0)
|
||||||
nokogiri (>= 1.8.5)
|
nokogiri (>= 1.8.5)
|
||||||
actionview (7.2.0.alpha)
|
actionview (8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
builder (~> 3.1)
|
builder (~> 3.1)
|
||||||
erubi (~> 1.11)
|
erubi (~> 1.11)
|
||||||
rails-dom-testing (~> 2.2)
|
rails-dom-testing (~> 2.2)
|
||||||
rails-html-sanitizer (~> 1.6)
|
rails-html-sanitizer (~> 1.6)
|
||||||
activejob (7.2.0.alpha)
|
activejob (8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
globalid (>= 0.3.6)
|
globalid (>= 0.3.6)
|
||||||
activemodel (7.2.0.alpha)
|
activemodel (8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
activerecord (7.2.0.alpha)
|
activerecord (8.0.0.alpha)
|
||||||
activemodel (= 7.2.0.alpha)
|
activemodel (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
timeout (>= 0.4.0)
|
timeout (>= 0.4.0)
|
||||||
activestorage (7.2.0.alpha)
|
activestorage (8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
activejob (= 7.2.0.alpha)
|
activejob (= 8.0.0.alpha)
|
||||||
activerecord (= 7.2.0.alpha)
|
activerecord (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
marcel (~> 1.0)
|
marcel (~> 1.0)
|
||||||
activesupport (7.2.0.alpha)
|
activesupport (8.0.0.alpha)
|
||||||
base64
|
base64
|
||||||
bigdecimal
|
bigdecimal
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
@ -95,23 +95,23 @@ PATH
|
|||||||
i18n (>= 1.6, < 2)
|
i18n (>= 1.6, < 2)
|
||||||
minitest (>= 5.1, < 5.22.0)
|
minitest (>= 5.1, < 5.22.0)
|
||||||
tzinfo (~> 2.0, >= 2.0.5)
|
tzinfo (~> 2.0, >= 2.0.5)
|
||||||
rails (7.2.0.alpha)
|
rails (8.0.0.alpha)
|
||||||
actioncable (= 7.2.0.alpha)
|
actioncable (= 8.0.0.alpha)
|
||||||
actionmailbox (= 7.2.0.alpha)
|
actionmailbox (= 8.0.0.alpha)
|
||||||
actionmailer (= 7.2.0.alpha)
|
actionmailer (= 8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
actiontext (= 7.2.0.alpha)
|
actiontext (= 8.0.0.alpha)
|
||||||
actionview (= 7.2.0.alpha)
|
actionview (= 8.0.0.alpha)
|
||||||
activejob (= 7.2.0.alpha)
|
activejob (= 8.0.0.alpha)
|
||||||
activemodel (= 7.2.0.alpha)
|
activemodel (= 8.0.0.alpha)
|
||||||
activerecord (= 7.2.0.alpha)
|
activerecord (= 8.0.0.alpha)
|
||||||
activestorage (= 7.2.0.alpha)
|
activestorage (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
bundler (>= 1.15.0)
|
bundler (>= 1.15.0)
|
||||||
railties (= 7.2.0.alpha)
|
railties (= 8.0.0.alpha)
|
||||||
railties (7.2.0.alpha)
|
railties (8.0.0.alpha)
|
||||||
actionpack (= 7.2.0.alpha)
|
actionpack (= 8.0.0.alpha)
|
||||||
activesupport (= 7.2.0.alpha)
|
activesupport (= 8.0.0.alpha)
|
||||||
irb (~> 1.13)
|
irb (~> 1.13)
|
||||||
rackup (>= 1.0.0)
|
rackup (>= 1.0.0)
|
||||||
rake (>= 12.2)
|
rake (>= 12.2)
|
||||||
|
@ -1 +1 @@
|
|||||||
7.2.0.alpha
|
8.0.0.alpha
|
||||||
|
@ -18,4 +18,4 @@
|
|||||||
|
|
||||||
*Sebastian Pöll*, *Junichi Sato*
|
*Sebastian Pöll*, *Junichi Sato*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actioncable/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actioncable/CHANGELOG.md) for previous changes.
|
||||||
|
@ -9,8 +9,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@rails/actioncable",
|
"name": "@rails/actioncable",
|
||||||
"version": "7.2.0-alpha",
|
"version": "8.0.0-alpha",
|
||||||
"description": "WebSocket framework for Ruby on Rails.",
|
"description": "WebSocket framework for Ruby on Rails.",
|
||||||
"module": "app/assets/javascripts/actioncable.esm.js",
|
"module": "app/assets/javascripts/actioncable.esm.js",
|
||||||
"main": "app/assets/javascripts/actioncable.js",
|
"main": "app/assets/javascripts/actioncable.js",
|
||||||
|
@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
*Chedli Bourguiba*
|
*Chedli Bourguiba*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actionmailbox/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionmailbox/CHANGELOG.md) for previous changes.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.2].define(version: 2018_02_12_164506) do
|
ActiveRecord::Schema[8.0].define(version: 2018_02_12_164506) do
|
||||||
create_table "action_mailbox_inbound_emails", force: :cascade do |t|
|
create_table "action_mailbox_inbound_emails", force: :cascade do |t|
|
||||||
t.integer "status", default: 0, null: false
|
t.integer "status", default: 0, null: false
|
||||||
t.string "message_id", null: false
|
t.string "message_id", null: false
|
||||||
|
@ -6,4 +6,4 @@
|
|||||||
|
|
||||||
*Rafael Mendonça França*
|
*Rafael Mendonça França*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actionmailer/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionmailer/CHANGELOG.md) for previous changes.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -132,4 +132,4 @@
|
|||||||
|
|
||||||
*Roque Pinel*, *Trevor Turk*, *tonytonyjan*
|
*Roque Pinel*, *Trevor Turk*, *tonytonyjan*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actionpack/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionpack/CHANGELOG.md) for previous changes.
|
||||||
|
@ -9,8 +9,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -40,4 +40,4 @@
|
|||||||
|
|
||||||
*Hartley McGuire*
|
*Hartley McGuire*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actiontext/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actiontext/CHANGELOG.md) for previous changes.
|
||||||
|
@ -9,8 +9,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@rails/actiontext",
|
"name": "@rails/actiontext",
|
||||||
"version": "7.2.0-alpha",
|
"version": "8.0.0-alpha",
|
||||||
"description": "Edit and display rich text in Rails applications",
|
"description": "Edit and display rich text in Rails applications",
|
||||||
"module": "app/assets/javascripts/actiontext.esm.js",
|
"module": "app/assets/javascripts/actiontext.esm.js",
|
||||||
"main": "app/assets/javascripts/actiontext.js",
|
"main": "app/assets/javascripts/actiontext.js",
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.2].define(version: 2019_03_17_200724) do
|
ActiveRecord::Schema[8.0].define(version: 2019_03_17_200724) do
|
||||||
create_table "action_text_rich_texts", force: :cascade do |t|
|
create_table "action_text_rich_texts", force: :cascade do |t|
|
||||||
t.string "name", null: false
|
t.string "name", null: false
|
||||||
t.text "body"
|
t.text "body"
|
||||||
|
@ -94,4 +94,4 @@
|
|||||||
|
|
||||||
*Akhil G Krishnan*
|
*Akhil G Krishnan*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actionview/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionview/CHANGELOG.md) for previous changes.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -62,4 +62,4 @@
|
|||||||
|
|
||||||
*Rafael Mendonça França*
|
*Rafael Mendonça França*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/activejob/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activejob/CHANGELOG.md) for previous changes.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -19,4 +19,4 @@
|
|||||||
|
|
||||||
*Jonathan Hefner*
|
*Jonathan Hefner*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/activemodel/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activemodel/CHANGELOG.md) for previous changes.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -815,4 +815,4 @@
|
|||||||
|
|
||||||
*Myles Boone*
|
*Myles Boone*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/activerecord/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activerecord/CHANGELOG.md) for previous changes.
|
||||||
|
@ -139,7 +139,7 @@ A short rundown of some of the major features:
|
|||||||
|
|
||||||
* Database agnostic schema management with Migrations.
|
* Database agnostic schema management with Migrations.
|
||||||
|
|
||||||
class AddSystemSettings < ActiveRecord::Migration[7.2]
|
class AddSystemSettings < ActiveRecord::Migration[8.0]
|
||||||
def up
|
def up
|
||||||
create_table :system_settings do |t|
|
create_table :system_settings do |t|
|
||||||
t.string :name
|
t.string :name
|
||||||
|
@ -1928,7 +1928,7 @@ def belongs_to(name, scope = nil, **options)
|
|||||||
# The join table should not have a primary key or a model associated with it. You must manually generate the
|
# The join table should not have a primary key or a model associated with it. You must manually generate the
|
||||||
# join table with a migration such as this:
|
# join table with a migration such as this:
|
||||||
#
|
#
|
||||||
# class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration[7.2]
|
# class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# create_join_table :developers, :projects
|
# create_join_table :developers, :projects
|
||||||
# end
|
# end
|
||||||
|
@ -348,7 +348,7 @@ def #{column_type}(*names, **options)
|
|||||||
# Inside migration files, the +t+ object in {create_table}[rdoc-ref:SchemaStatements#create_table]
|
# Inside migration files, the +t+ object in {create_table}[rdoc-ref:SchemaStatements#create_table]
|
||||||
# is actually of this type:
|
# is actually of this type:
|
||||||
#
|
#
|
||||||
# class SomeMigration < ActiveRecord::Migration[7.2]
|
# class SomeMigration < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# create_table :foo do |t|
|
# create_table :foo do |t|
|
||||||
# puts t.class # => "ActiveRecord::ConnectionAdapters::TableDefinition"
|
# puts t.class # => "ActiveRecord::ConnectionAdapters::TableDefinition"
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ def initialize(message = nil)
|
|||||||
# For example the following migration is not reversible.
|
# For example the following migration is not reversible.
|
||||||
# Rolling back this migration will raise an ActiveRecord::IrreversibleMigration error.
|
# Rolling back this migration will raise an ActiveRecord::IrreversibleMigration error.
|
||||||
#
|
#
|
||||||
# class IrreversibleMigrationExample < ActiveRecord::Migration[7.2]
|
# class IrreversibleMigrationExample < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# create_table :distributors do |t|
|
# create_table :distributors do |t|
|
||||||
# t.string :zipcode
|
# t.string :zipcode
|
||||||
@ -39,7 +39,7 @@ def initialize(message = nil)
|
|||||||
#
|
#
|
||||||
# 1. Define <tt>#up</tt> and <tt>#down</tt> methods instead of <tt>#change</tt>:
|
# 1. Define <tt>#up</tt> and <tt>#down</tt> methods instead of <tt>#change</tt>:
|
||||||
#
|
#
|
||||||
# class ReversibleMigrationExample < ActiveRecord::Migration[7.2]
|
# class ReversibleMigrationExample < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# create_table :distributors do |t|
|
# create_table :distributors do |t|
|
||||||
# t.string :zipcode
|
# t.string :zipcode
|
||||||
@ -64,7 +64,7 @@ def initialize(message = nil)
|
|||||||
#
|
#
|
||||||
# 2. Use the #reversible method in <tt>#change</tt> method:
|
# 2. Use the #reversible method in <tt>#change</tt> method:
|
||||||
#
|
#
|
||||||
# class ReversibleMigrationExample < ActiveRecord::Migration[7.2]
|
# class ReversibleMigrationExample < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# create_table :distributors do |t|
|
# create_table :distributors do |t|
|
||||||
# t.string :zipcode
|
# t.string :zipcode
|
||||||
@ -250,7 +250,7 @@ def initialize
|
|||||||
#
|
#
|
||||||
# Example of a simple migration:
|
# Example of a simple migration:
|
||||||
#
|
#
|
||||||
# class AddSsl < ActiveRecord::Migration[7.2]
|
# class AddSsl < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# add_column :accounts, :ssl_enabled, :boolean, default: true
|
# add_column :accounts, :ssl_enabled, :boolean, default: true
|
||||||
# end
|
# end
|
||||||
@ -270,7 +270,7 @@ def initialize
|
|||||||
#
|
#
|
||||||
# Example of a more complex migration that also needs to initialize data:
|
# Example of a more complex migration that also needs to initialize data:
|
||||||
#
|
#
|
||||||
# class AddSystemSettings < ActiveRecord::Migration[7.2]
|
# class AddSystemSettings < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# create_table :system_settings do |t|
|
# create_table :system_settings do |t|
|
||||||
# t.string :name
|
# t.string :name
|
||||||
@ -399,7 +399,7 @@ def initialize
|
|||||||
# $ bin/rails generate migration add_fieldname_to_tablename fieldname:string
|
# $ bin/rails generate migration add_fieldname_to_tablename fieldname:string
|
||||||
#
|
#
|
||||||
# This will generate the file <tt>timestamp_add_fieldname_to_tablename.rb</tt>, which will look like this:
|
# This will generate the file <tt>timestamp_add_fieldname_to_tablename.rb</tt>, which will look like this:
|
||||||
# class AddFieldnameToTablename < ActiveRecord::Migration[7.2]
|
# class AddFieldnameToTablename < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# add_column :tablenames, :fieldname, :string
|
# add_column :tablenames, :fieldname, :string
|
||||||
# end
|
# end
|
||||||
@ -425,7 +425,7 @@ def initialize
|
|||||||
#
|
#
|
||||||
# Not all migrations change the schema. Some just fix the data:
|
# Not all migrations change the schema. Some just fix the data:
|
||||||
#
|
#
|
||||||
# class RemoveEmptyTags < ActiveRecord::Migration[7.2]
|
# class RemoveEmptyTags < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# Tag.all.each { |tag| tag.destroy if tag.pages.empty? }
|
# Tag.all.each { |tag| tag.destroy if tag.pages.empty? }
|
||||||
# end
|
# end
|
||||||
@ -438,7 +438,7 @@ def initialize
|
|||||||
#
|
#
|
||||||
# Others remove columns when they migrate up instead of down:
|
# Others remove columns when they migrate up instead of down:
|
||||||
#
|
#
|
||||||
# class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration[7.2]
|
# class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# remove_column :items, :incomplete_items_count
|
# remove_column :items, :incomplete_items_count
|
||||||
# remove_column :items, :completed_items_count
|
# remove_column :items, :completed_items_count
|
||||||
@ -452,7 +452,7 @@ def initialize
|
|||||||
#
|
#
|
||||||
# And sometimes you need to do something in SQL not abstracted directly by migrations:
|
# And sometimes you need to do something in SQL not abstracted directly by migrations:
|
||||||
#
|
#
|
||||||
# class MakeJoinUnique < ActiveRecord::Migration[7.2]
|
# class MakeJoinUnique < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# execute "ALTER TABLE `pages_linked_pages` ADD UNIQUE `page_id_linked_page_id` (`page_id`,`linked_page_id`)"
|
# execute "ALTER TABLE `pages_linked_pages` ADD UNIQUE `page_id_linked_page_id` (`page_id`,`linked_page_id`)"
|
||||||
# end
|
# end
|
||||||
@ -469,7 +469,7 @@ def initialize
|
|||||||
# <tt>Base#reset_column_information</tt> in order to ensure that the model has the
|
# <tt>Base#reset_column_information</tt> in order to ensure that the model has the
|
||||||
# latest column data from after the new column was added. Example:
|
# latest column data from after the new column was added. Example:
|
||||||
#
|
#
|
||||||
# class AddPeopleSalary < ActiveRecord::Migration[7.2]
|
# class AddPeopleSalary < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# add_column :people, :salary, :integer
|
# add_column :people, :salary, :integer
|
||||||
# Person.reset_column_information
|
# Person.reset_column_information
|
||||||
@ -531,7 +531,7 @@ def initialize
|
|||||||
# To define a reversible migration, define the +change+ method in your
|
# To define a reversible migration, define the +change+ method in your
|
||||||
# migration like this:
|
# migration like this:
|
||||||
#
|
#
|
||||||
# class TenderloveMigration < ActiveRecord::Migration[7.2]
|
# class TenderloveMigration < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# create_table(:horses) do |t|
|
# create_table(:horses) do |t|
|
||||||
# t.column :content, :text
|
# t.column :content, :text
|
||||||
@ -561,7 +561,7 @@ def initialize
|
|||||||
# can't execute inside a transaction though, and for these situations
|
# can't execute inside a transaction though, and for these situations
|
||||||
# you can turn the automatic transactions off.
|
# you can turn the automatic transactions off.
|
||||||
#
|
#
|
||||||
# class ChangeEnum < ActiveRecord::Migration[7.2]
|
# class ChangeEnum < ActiveRecord::Migration[8.0]
|
||||||
# disable_ddl_transaction!
|
# disable_ddl_transaction!
|
||||||
#
|
#
|
||||||
# def up
|
# def up
|
||||||
@ -822,7 +822,7 @@ def execution_strategy
|
|||||||
# and create the table 'apples' on the way up, and the reverse
|
# and create the table 'apples' on the way up, and the reverse
|
||||||
# on the way down.
|
# on the way down.
|
||||||
#
|
#
|
||||||
# class FixTLMigration < ActiveRecord::Migration[7.2]
|
# class FixTLMigration < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# revert do
|
# revert do
|
||||||
# create_table(:horses) do |t|
|
# create_table(:horses) do |t|
|
||||||
@ -841,7 +841,7 @@ def execution_strategy
|
|||||||
#
|
#
|
||||||
# require_relative "20121212123456_tenderlove_migration"
|
# require_relative "20121212123456_tenderlove_migration"
|
||||||
#
|
#
|
||||||
# class FixupTLMigration < ActiveRecord::Migration[7.2]
|
# class FixupTLMigration < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# revert TenderloveMigration
|
# revert TenderloveMigration
|
||||||
#
|
#
|
||||||
@ -892,7 +892,7 @@ def down
|
|||||||
# when the three columns 'first_name', 'last_name' and 'full_name' exist,
|
# when the three columns 'first_name', 'last_name' and 'full_name' exist,
|
||||||
# even when migrating down:
|
# even when migrating down:
|
||||||
#
|
#
|
||||||
# class SplitNameMigration < ActiveRecord::Migration[7.2]
|
# class SplitNameMigration < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# add_column :users, :first_name, :string
|
# add_column :users, :first_name, :string
|
||||||
# add_column :users, :last_name, :string
|
# add_column :users, :last_name, :string
|
||||||
@ -920,7 +920,7 @@ def reversible
|
|||||||
# In the following example, the new column +published+ will be given
|
# In the following example, the new column +published+ will be given
|
||||||
# the value +true+ for all existing records.
|
# the value +true+ for all existing records.
|
||||||
#
|
#
|
||||||
# class AddPublishedToPosts < ActiveRecord::Migration[7.2]
|
# class AddPublishedToPosts < ActiveRecord::Migration[8.0]
|
||||||
# def change
|
# def change
|
||||||
# add_column :posts, :published, :boolean, default: false
|
# add_column :posts, :published, :boolean, default: false
|
||||||
# up_only do
|
# up_only do
|
||||||
|
@ -21,7 +21,7 @@ def self.find(version)
|
|||||||
# New migration functionality that will never be backward compatible should be added directly to `ActiveRecord::Migration`.
|
# New migration functionality that will never be backward compatible should be added directly to `ActiveRecord::Migration`.
|
||||||
#
|
#
|
||||||
# There are classes for each prior Rails version. Each class descends from the *next* Rails version, so:
|
# There are classes for each prior Rails version. Each class descends from the *next* Rails version, so:
|
||||||
# 5.2 < 6.0 < 6.1 < 7.0 < 7.1 < 7.2
|
# 5.2 < 6.0 < 6.1 < 7.0 < 7.1 < 7.2 < 8.0
|
||||||
#
|
#
|
||||||
# If you are introducing new migration functionality that should only apply from Rails 7 onward, then you should
|
# If you are introducing new migration functionality that should only apply from Rails 7 onward, then you should
|
||||||
# find the class that immediately precedes it (6.1), and override the relevant migration methods to undo your changes.
|
# find the class that immediately precedes it (6.1), and override the relevant migration methods to undo your changes.
|
||||||
@ -29,7 +29,10 @@ def self.find(version)
|
|||||||
# For example, Rails 6 added a default value for the `precision` option on datetime columns. So in this file, the `V5_2`
|
# For example, Rails 6 added a default value for the `precision` option on datetime columns. So in this file, the `V5_2`
|
||||||
# class sets the value of `precision` to `nil` if it's not explicitly provided. This way, the default value will not apply
|
# class sets the value of `precision` to `nil` if it's not explicitly provided. This way, the default value will not apply
|
||||||
# for migrations written for 5.2, but will for migrations written for 6.0.
|
# for migrations written for 5.2, but will for migrations written for 6.0.
|
||||||
V7_2 = Current
|
V8_0 = Current
|
||||||
|
|
||||||
|
class V7_2 < V8_0
|
||||||
|
end
|
||||||
|
|
||||||
class V7_1 < V7_2
|
class V7_1 < V7_2
|
||||||
end
|
end
|
||||||
|
@ -503,7 +503,7 @@ def content_columns
|
|||||||
# when just after creating a table you want to populate it with some default
|
# when just after creating a table you want to populate it with some default
|
||||||
# values, e.g.:
|
# values, e.g.:
|
||||||
#
|
#
|
||||||
# class CreateJobLevels < ActiveRecord::Migration[7.2]
|
# class CreateJobLevels < ActiveRecord::Migration[8.0]
|
||||||
# def up
|
# def up
|
||||||
# create_table :job_levels do |t|
|
# create_table :job_levels do |t|
|
||||||
# t.integer :id
|
# t.integer :id
|
||||||
|
@ -71,4 +71,4 @@
|
|||||||
|
|
||||||
*Yogesh Khater*
|
*Yogesh Khater*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/activestorage/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activestorage/CHANGELOG.md) for previous changes.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@rails/activestorage",
|
"name": "@rails/activestorage",
|
||||||
"version": "7.2.0-alpha",
|
"version": "8.0.0-alpha",
|
||||||
"description": "Attach cloud and local files in Rails applications",
|
"description": "Attach cloud and local files in Rails applications",
|
||||||
"module": "app/assets/javascripts/activestorage.esm.js",
|
"module": "app/assets/javascripts/activestorage.esm.js",
|
||||||
"main": "app/assets/javascripts/activestorage.js",
|
"main": "app/assets/javascripts/activestorage.js",
|
||||||
|
@ -230,4 +230,4 @@
|
|||||||
|
|
||||||
*fatkodima*
|
*fatkodima*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/activesupport/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activesupport/CHANGELOG.md) for previous changes.
|
||||||
|
@ -68,7 +68,7 @@ def self._instance # :nodoc:
|
|||||||
# and the second is a library name.
|
# and the second is a library name.
|
||||||
#
|
#
|
||||||
# ActiveSupport::Deprecation.new('2.0', 'MyLibrary')
|
# ActiveSupport::Deprecation.new('2.0', 'MyLibrary')
|
||||||
def initialize(deprecation_horizon = "7.3", gem_name = "Rails")
|
def initialize(deprecation_horizon = "8.1", gem_name = "Rails")
|
||||||
self.gem_name = gem_name
|
self.gem_name = gem_name
|
||||||
self.deprecation_horizon = deprecation_horizon
|
self.deprecation_horizon = deprecation_horizon
|
||||||
# By default, warnings are not silenced and debugging is off.
|
# By default, warnings are not silenced and debugging is off.
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/guides/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/guides/CHANGELOG.md) for previous changes.
|
||||||
|
331
guides/source/8_0_release_notes.md
Normal file
331
guides/source/8_0_release_notes.md
Normal file
@ -0,0 +1,331 @@
|
|||||||
|
**DO NOT READ THIS FILE ON GITHUB, GUIDES ARE PUBLISHED ON https://guides.rubyonrails.org.**
|
||||||
|
|
||||||
|
Ruby on Rails 8.0 Release Notes
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Highlights in Rails 8.0:
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Upgrading to Rails 8.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 7.1 in case you
|
||||||
|
haven't and make sure your application still runs as expected before attempting
|
||||||
|
an update to Rails 8.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-7-2-to-rails-8-0)
|
||||||
|
guide.
|
||||||
|
|
||||||
|
Major Features
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Railties
|
||||||
|
--------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][railties] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated `Rails::Generators::Testing::Behaviour`.
|
||||||
|
|
||||||
|
* Remove deprecated `Rails.application.secrets`.
|
||||||
|
|
||||||
|
* Remove deprecated `Rails.config.enable_dependency_loading`.
|
||||||
|
|
||||||
|
* Remove deprecated `find_cmd_and_exec` console helper.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Action Cable
|
||||||
|
------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][action-cable] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Action Pack
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][action-pack] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated constant `ActionDispatch::IllegalStateError`.
|
||||||
|
|
||||||
|
* Remove deprecated constant `AbstractController::Helpers::MissingHelperError`.
|
||||||
|
|
||||||
|
* Remove deprecated comparison between `ActionController::Parameters` and `Hash`.
|
||||||
|
|
||||||
|
* Remove deprecated `Rails.application.config.action_dispatch.return_only_request_media_type_on_content_type`.
|
||||||
|
|
||||||
|
* Remove deprecated `speaker`, `vibrate`, and `vr` permissions policy directives.
|
||||||
|
|
||||||
|
* Remove deprecated support to set `Rails.application.config.action_dispatch.show_exceptions` to `true` and `false`.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
* Deprecate `Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality`.
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Action View
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][action-view] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated `@rails/ujs` in favor of `Turbo`.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
* Deprecate passing content to void elements when using `tag.br` type tag builders.
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Action Mailer
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][action-mailer] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated `config.action_mailer.preview_path`.
|
||||||
|
|
||||||
|
* Remove deprecated params via `:args` for `assert_enqueued_email_with`.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Active Record
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][active-record] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated `Rails.application.config.active_record.suppress_multiple_database_warning`.
|
||||||
|
|
||||||
|
* Remove deprecated support to call `alias_attribute` with non-existent attribute names.
|
||||||
|
|
||||||
|
* Remove deprecated `name` argument from `ActiveRecord::Base.remove_connection`.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::Base.clear_active_connections!`.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::Base.clear_reloadable_connections!`.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::Base.clear_all_connections!`.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::Base.flush_idle_connections!`.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::ActiveJobRequiredError`.
|
||||||
|
|
||||||
|
* Remove deprecated support to define `explain` in the connection adapter with 2 arguments.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::LogSubscriber.runtime` method.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::LogSubscriber.runtime=` method.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::LogSubscriber.reset_runtime` method.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::Migration.check_pending` method.
|
||||||
|
|
||||||
|
* Remove deprecated support to passing `SchemaMigration` and `InternalMetadata` classes as arguments to
|
||||||
|
`ActiveRecord::MigrationContext`.
|
||||||
|
|
||||||
|
* Remove deprecated behavior to support referring to a singular association by its plural name.
|
||||||
|
|
||||||
|
* Remove deprecated `TestFixtures.fixture_path`.
|
||||||
|
|
||||||
|
* Remove deprecated support to `ActiveRecord::Base#read_attribute(:id)` to return the custom primary key value.
|
||||||
|
|
||||||
|
* Remove deprecated support to passing coder and class as second argument to `serialize`.
|
||||||
|
|
||||||
|
* Remove deprecated `#all_foreign_keys_valid?` from database adapters.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::ConnectionAdapters::SchemaCache.load_from`.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::ConnectionAdapters::SchemaCache#data_sources`.
|
||||||
|
|
||||||
|
* Remove deprecated `#all_connection_pools`.
|
||||||
|
|
||||||
|
* Remove deprecated support to apply `#connection_pool_list`, `#active_connections?`, `#clear_active_connections!`,
|
||||||
|
`#clear_reloadable_connections!`, `#clear_all_connections!` and `#flush_idle_connections!` to the connections pools
|
||||||
|
for the current role when the `role` argument isn't provided.
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveRecord::ConnectionAdapters::ConnectionPool#connection_klass`.
|
||||||
|
|
||||||
|
* Remove deprecated `#quote_bound_value`.
|
||||||
|
|
||||||
|
* Remove deprecated support to quote `ActiveSupport::Duration`.
|
||||||
|
|
||||||
|
* Remove deprecated support to pass `deferrable: true` to `add_foreign_key`.
|
||||||
|
|
||||||
|
* Remove deprecated support to pass `rewhere` to `ActiveRecord::Relation#merge`.
|
||||||
|
|
||||||
|
* Remove deprecated behavior that would rollback a transaction block when exited using `return`, `break` or `throw`.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
* Deprecate `Rails.application.config.active_record.allow_deprecated_singular_associations_name`
|
||||||
|
|
||||||
|
* Deprecate `Rails.application.config.active_record.commit_transaction_on_non_local_return`
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Active Storage
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][active-storage] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated `config.active_storage.replace_on_assign_to_many`.
|
||||||
|
|
||||||
|
* Remove deprecated `config.active_storage.silence_invalid_content_types_warning`.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Active Model
|
||||||
|
------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][active-model] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Active Support
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][active-support] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveSupport::Notifications::Event#children` and `ActiveSupport::Notifications::Event#parent_of?`.
|
||||||
|
|
||||||
|
* Remove deprecated support to call the following methods without passing a deprecator:
|
||||||
|
|
||||||
|
- `deprecate`
|
||||||
|
- `deprecate_constant`
|
||||||
|
- `ActiveSupport::Deprecation::DeprecatedObjectProxy.new`
|
||||||
|
- `ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new`
|
||||||
|
- `ActiveSupport::Deprecation::DeprecatedConstantProxy.new`
|
||||||
|
- `assert_deprecated`
|
||||||
|
- `assert_not_deprecated`
|
||||||
|
- `collect_deprecations`
|
||||||
|
|
||||||
|
* Remove deprecated `ActiveSupport::Deprecation` delegation to instance.
|
||||||
|
|
||||||
|
* Remove deprecated `SafeBuffer#clone_empty`.
|
||||||
|
|
||||||
|
* Remove deprecated `#to_default_s` from `Array`, `Date`, `DateTime` and `Time`.
|
||||||
|
|
||||||
|
* Remove deprecated `:pool_size` and `:pool_timeout` options for the cache storage.
|
||||||
|
|
||||||
|
* Remove deprecated support for `config.active_support.cache_format_version = 6.1`.
|
||||||
|
|
||||||
|
* Remove deprecated constants `ActiveSupport::LogSubscriber::CLEAR` and `ActiveSupport::LogSubscriber::BOLD`.
|
||||||
|
|
||||||
|
* Remove deprecated support to bolding log text with positional boolean in `ActiveSupport::LogSubscriber#color`.
|
||||||
|
|
||||||
|
* Remove deprecated `config.active_support.disable_to_s_conversion`.
|
||||||
|
|
||||||
|
* Remove deprecated `config.active_support.remove_deprecated_time_with_zone_name`.
|
||||||
|
|
||||||
|
* Remove deprecated `config.active_support.use_rfc4122_namespaced_uuids`.
|
||||||
|
|
||||||
|
* Remove deprecated support to passing `Dalli::Client` instances to `MemCacheStore`.
|
||||||
|
|
||||||
|
* Remove deprecated support for the pre-Ruby 2.4 behavior of `to_time` returning a `Time` object with local timezone.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
* Deprecate `config.active_support.to_time_preserves_timezone`.
|
||||||
|
|
||||||
|
* Deprecate `DateAndTime::Compatibility.preserve_timezone`.
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Active Job
|
||||||
|
----------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][active-job] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
* Remove deprecated primitive serializer for `BigDecimal` arguments.
|
||||||
|
|
||||||
|
* Remove deprecated support to set numeric values to `scheduled_at` attribute.
|
||||||
|
|
||||||
|
* Remove deprecated `:exponentially_longer` value for the `:wait` in `retry_on`.
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
* Deprecate `Rails.application.config.active_job.use_big_decimal_serialize`.
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Action Text
|
||||||
|
----------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][action-text] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Action Mailbox
|
||||||
|
----------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][action-mailbox] for detailed changes.
|
||||||
|
|
||||||
|
### Removals
|
||||||
|
|
||||||
|
### Deprecations
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Ruby on Rails Guides
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Please refer to the [Changelog][guides] for detailed changes.
|
||||||
|
|
||||||
|
### Notable changes
|
||||||
|
|
||||||
|
Credits
|
||||||
|
-------
|
||||||
|
|
||||||
|
See the
|
||||||
|
[full list of contributors to Rails](https://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/main/railties/CHANGELOG.md
|
||||||
|
[action-pack]: https://github.com/rails/rails/blob/main/actionpack/CHANGELOG.md
|
||||||
|
[action-view]: https://github.com/rails/rails/blob/main/actionview/CHANGELOG.md
|
||||||
|
[action-mailer]: https://github.com/rails/rails/blob/main/actionmailer/CHANGELOG.md
|
||||||
|
[action-cable]: https://github.com/rails/rails/blob/main/actioncable/CHANGELOG.md
|
||||||
|
[active-record]: https://github.com/rails/rails/blob/main/activerecord/CHANGELOG.md
|
||||||
|
[active-storage]: https://github.com/rails/rails/blob/main/activestorage/CHANGELOG.md
|
||||||
|
[active-model]: https://github.com/rails/rails/blob/main/activemodel/CHANGELOG.md
|
||||||
|
[active-support]: https://github.com/rails/rails/blob/main/activesupport/CHANGELOG.md
|
||||||
|
[active-job]: https://github.com/rails/rails/blob/main/activejob/CHANGELOG.md
|
||||||
|
[action-text]: https://github.com/rails/rails/blob/main/actiontext/CHANGELOG.md
|
||||||
|
[action-mailbox]: https://github.com/rails/rails/blob/main/actionmailbox/CHANGELOG.md
|
||||||
|
[guides]: https://github.com/rails/rails/blob/main/guides/CHANGELOG.md
|
@ -10,7 +10,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<% else %>
|
<% else %>
|
||||||
<p>
|
<p>
|
||||||
These are the new guides for Rails 7.2 based on <a href="https://github.com/rails/rails/tree/<%= @version %>"><%= @version %></a>.
|
These are the new guides for Rails 8.0 based on <a href="https://github.com/rails/rails/tree/<%= @version %>"><%= @version %></a>.
|
||||||
These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together.
|
These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together.
|
||||||
</p>
|
</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -645,7 +645,7 @@ files which are executed against any database that Active Record supports.
|
|||||||
Here's a migration that creates a new table called `publications`:
|
Here's a migration that creates a new table called `publications`:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreatePublications < ActiveRecord::Migration[7.2]
|
class CreatePublications < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :publications do |t|
|
create_table :publications do |t|
|
||||||
t.string :title
|
t.string :title
|
||||||
|
@ -36,7 +36,7 @@ You can create a table with a composite primary key by passing the
|
|||||||
`:primary_key` option to `create_table` with an array value:
|
`:primary_key` option to `create_table` with an array value:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateProducts < ActiveRecord::Migration[7.2]
|
class CreateProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :products, primary_key: [:store_id, :sku] do |t|
|
create_table :products, primary_key: [:store_id, :sku] do |t|
|
||||||
t.integer :store_id
|
t.integer :store_id
|
||||||
|
@ -34,7 +34,7 @@ history to the latest version. Active Record will also update your
|
|||||||
Here's an example of a migration:
|
Here's an example of a migration:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateProducts < ActiveRecord::Migration[7.2]
|
class CreateProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :products do |t|
|
create_table :products do |t|
|
||||||
t.string :name
|
t.string :name
|
||||||
@ -73,7 +73,7 @@ If you wish for a migration to do something that Active Record doesn't know how
|
|||||||
to reverse, you can use `reversible`:
|
to reverse, you can use `reversible`:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class ChangeProductsPrice < ActiveRecord::Migration[7.2]
|
class ChangeProductsPrice < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
reversible do |direction|
|
reversible do |direction|
|
||||||
change_table :products do |t|
|
change_table :products do |t|
|
||||||
@ -92,7 +92,7 @@ passed to `direction.up` and `direction.down` respectively.
|
|||||||
Alternatively, you can use `up` and `down` instead of `change`:
|
Alternatively, you can use `up` and `down` instead of `change`:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class ChangeProductsPrice < ActiveRecord::Migration[7.2]
|
class ChangeProductsPrice < ActiveRecord::Migration[8.0]
|
||||||
def up
|
def up
|
||||||
change_table :products do |t|
|
change_table :products do |t|
|
||||||
t.change :price, :string
|
t.change :price, :string
|
||||||
@ -136,7 +136,7 @@ $ bin/rails generate migration AddPartNumberToProducts
|
|||||||
This will create an appropriately named empty migration:
|
This will create an appropriately named empty migration:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddPartNumberToProducts < ActiveRecord::Migration[7.2]
|
class AddPartNumberToProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -160,7 +160,7 @@ $ bin/rails generate migration AddPartNumberToProducts part_number:string
|
|||||||
This will generate the following migration:
|
This will generate the following migration:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddPartNumberToProducts < ActiveRecord::Migration[7.2]
|
class AddPartNumberToProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
add_column :products, :part_number, :string
|
add_column :products, :part_number, :string
|
||||||
end
|
end
|
||||||
@ -176,7 +176,7 @@ $ bin/rails generate migration AddPartNumberToProducts part_number:string:index
|
|||||||
This will generate the appropriate [`add_column`][] and [`add_index`][] statements:
|
This will generate the appropriate [`add_column`][] and [`add_index`][] statements:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddPartNumberToProducts < ActiveRecord::Migration[7.2]
|
class AddPartNumberToProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
add_column :products, :part_number, :string
|
add_column :products, :part_number, :string
|
||||||
add_index :products, :part_number
|
add_index :products, :part_number
|
||||||
@ -194,7 +194,7 @@ Will generate a schema migration which adds two additional
|
|||||||
columns to the `products` table.
|
columns to the `products` table.
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddDetailsToProducts < ActiveRecord::Migration[7.2]
|
class AddDetailsToProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
add_column :products, :part_number, :string
|
add_column :products, :part_number, :string
|
||||||
add_column :products, :price, :decimal
|
add_column :products, :price, :decimal
|
||||||
@ -213,7 +213,7 @@ $ bin/rails generate migration RemovePartNumberFromProducts part_number:string
|
|||||||
This generates the appropriate [`remove_column`][] statements:
|
This generates the appropriate [`remove_column`][] statements:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class RemovePartNumberFromProducts < ActiveRecord::Migration[7.2]
|
class RemovePartNumberFromProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
remove_column :products, :part_number, :string
|
remove_column :products, :part_number, :string
|
||||||
end
|
end
|
||||||
@ -233,7 +233,7 @@ $ bin/rails generate migration CreateProducts name:string part_number:string
|
|||||||
generates
|
generates
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateProducts < ActiveRecord::Migration[7.2]
|
class CreateProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :products do |t|
|
create_table :products do |t|
|
||||||
t.string :name
|
t.string :name
|
||||||
@ -261,7 +261,7 @@ $ bin/rails generate migration AddUserRefToProducts user:references
|
|||||||
generates the following [`add_reference`][] call:
|
generates the following [`add_reference`][] call:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddUserRefToProducts < ActiveRecord::Migration[7.2]
|
class AddUserRefToProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
add_reference :products, :user, foreign_key: true
|
add_reference :products, :user, foreign_key: true
|
||||||
end
|
end
|
||||||
@ -281,7 +281,7 @@ $ bin/rails generate migration CreateJoinTableCustomerProduct customer product
|
|||||||
will produce the following migration:
|
will produce the following migration:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateJoinTableCustomerProduct < ActiveRecord::Migration[7.2]
|
class CreateJoinTableCustomerProduct < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_join_table :customers, :products do |t|
|
create_join_table :customers, :products do |t|
|
||||||
# t.index [:customer_id, :product_id]
|
# t.index [:customer_id, :product_id]
|
||||||
@ -310,7 +310,7 @@ $ bin/rails generate model Product name:string description:text
|
|||||||
This will create a migration that looks like this:
|
This will create a migration that looks like this:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateProducts < ActiveRecord::Migration[7.2]
|
class CreateProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :products do |t|
|
create_table :products do |t|
|
||||||
t.string :name
|
t.string :name
|
||||||
@ -338,7 +338,7 @@ $ bin/rails generate migration AddDetailsToProducts 'price:decimal{5,2}' supplie
|
|||||||
will produce a migration that looks like this
|
will produce a migration that looks like this
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddDetailsToProducts < ActiveRecord::Migration[7.2]
|
class AddDetailsToProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
add_column :products, :price, :decimal, precision: 5, scale: 2
|
add_column :products, :price, :decimal, precision: 5, scale: 2
|
||||||
add_reference :products, :supplier, polymorphic: true
|
add_reference :products, :supplier, polymorphic: true
|
||||||
@ -635,7 +635,7 @@ You can create a table with a composite primary key by passing the
|
|||||||
`:primary_key` option to `create_table` with an array value:
|
`:primary_key` option to `create_table` with an array value:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateProducts < ActiveRecord::Migration[7.2]
|
class CreateProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :products, primary_key: [:customer_id, :product_sku] do |t|
|
create_table :products, primary_key: [:customer_id, :product_sku] do |t|
|
||||||
t.integer :customer_id
|
t.integer :customer_id
|
||||||
@ -736,7 +736,7 @@ reverse. You can use [`reversible`][] to specify what to do when running a
|
|||||||
migration and what else to do when reverting it. For example:
|
migration and what else to do when reverting it. For example:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class ExampleMigration < ActiveRecord::Migration[7.2]
|
class ExampleMigration < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
create_table :distributors do |t|
|
create_table :distributors do |t|
|
||||||
t.string :zipcode
|
t.string :zipcode
|
||||||
@ -786,7 +786,7 @@ reverse order they were made in the `up` method. The example in the `reversible`
|
|||||||
section is equivalent to:
|
section is equivalent to:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class ExampleMigration < ActiveRecord::Migration[7.2]
|
class ExampleMigration < ActiveRecord::Migration[8.0]
|
||||||
def up
|
def up
|
||||||
create_table :distributors do |t|
|
create_table :distributors do |t|
|
||||||
t.string :zipcode
|
t.string :zipcode
|
||||||
@ -832,7 +832,7 @@ You can use Active Record's ability to rollback migrations using the [`revert`][
|
|||||||
```ruby
|
```ruby
|
||||||
require_relative "20121212123456_example_migration"
|
require_relative "20121212123456_example_migration"
|
||||||
|
|
||||||
class FixupExampleMigration < ActiveRecord::Migration[7.2]
|
class FixupExampleMigration < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
revert ExampleMigration
|
revert ExampleMigration
|
||||||
|
|
||||||
@ -850,7 +850,7 @@ For example, let's imagine that `ExampleMigration` is committed and it is later
|
|||||||
decided that a Distributors view is no longer needed.
|
decided that a Distributors view is no longer needed.
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class DontUseDistributorsViewMigration < ActiveRecord::Migration[7.2]
|
class DontUseDistributorsViewMigration < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
revert do
|
revert do
|
||||||
# copy-pasted code from ExampleMigration
|
# copy-pasted code from ExampleMigration
|
||||||
@ -1048,7 +1048,7 @@ Several methods are provided in migrations that allow you to control all this:
|
|||||||
For example, take the following migration:
|
For example, take the following migration:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class CreateProducts < ActiveRecord::Migration[7.2]
|
class CreateProducts < ActiveRecord::Migration[8.0]
|
||||||
def change
|
def change
|
||||||
suppress_messages do
|
suppress_messages do
|
||||||
create_table :products do |t|
|
create_table :products do |t|
|
||||||
@ -1153,7 +1153,7 @@ When `:ruby` is selected, then the schema is stored in `db/schema.rb`. If you lo
|
|||||||
at this file you'll find that it looks an awful lot like one very big migration:
|
at this file you'll find that it looks an awful lot like one very big migration:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
ActiveRecord::Schema[7.2].define(version: 2008_09_06_171750) do
|
ActiveRecord::Schema[8.0].define(version: 2008_09_06_171750) do
|
||||||
create_table "authors", force: true do |t|
|
create_table "authors", force: true do |t|
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
@ -1238,7 +1238,7 @@ modify data. This is useful in an existing database that can't be destroyed and
|
|||||||
recreated, such as a production database.
|
recreated, such as a production database.
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
class AddInitialProducts < ActiveRecord::Migration[7.2]
|
class AddInitialProducts < ActiveRecord::Migration[8.0]
|
||||||
def up
|
def up
|
||||||
5.times do |i|
|
5.times do |i|
|
||||||
Product.create(name: "Product ##{i}", description: "A product.")
|
Product.create(name: "Product ##{i}", description: "A product.")
|
||||||
|
@ -183,7 +183,7 @@ With no further work, `bin/rails server` will run our new shiny Rails app:
|
|||||||
$ cd my_app
|
$ cd my_app
|
||||||
$ bin/rails server
|
$ bin/rails server
|
||||||
=> Booting Puma
|
=> Booting Puma
|
||||||
=> Rails 7.2.0 application starting in development
|
=> Rails 8.0.0 application starting in development
|
||||||
=> Run `bin/rails server --help` for more startup options
|
=> Run `bin/rails server --help` for more startup options
|
||||||
Puma starting in single mode...
|
Puma starting in single mode...
|
||||||
* Puma version: 6.4.0 (ruby 3.1.3-p185) ("The Eagle of Durango")
|
* Puma version: 6.4.0 (ruby 3.1.3-p185) ("The Eagle of Durango")
|
||||||
@ -415,7 +415,7 @@ If you wish to test out some code without changing any data, you can do that by
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ bin/rails console --sandbox
|
$ bin/rails console --sandbox
|
||||||
Loading development environment in sandbox (Rails 7.2.0)
|
Loading development environment in sandbox (Rails 8.0.0)
|
||||||
Any modifications you make will be rolled back on exit
|
Any modifications you make will be rolled back on exit
|
||||||
irb(main):001:0>
|
irb(main):001:0>
|
||||||
```
|
```
|
||||||
@ -512,7 +512,7 @@ $ bin/rails destroy model Oops
|
|||||||
```bash
|
```bash
|
||||||
$ bin/rails about
|
$ bin/rails about
|
||||||
About your application's environment
|
About your application's environment
|
||||||
Rails version 7.2.0
|
Rails version 8.0.0
|
||||||
Ruby version 3.1.0 (x86_64-linux)
|
Ruby version 3.1.0 (x86_64-linux)
|
||||||
RubyGems version 3.3.7
|
RubyGems version 3.3.7
|
||||||
Rack version 3.0.8
|
Rack version 3.0.8
|
||||||
|
@ -599,7 +599,7 @@ To ease the upgrade it's required to add the new default to the
|
|||||||
value:
|
value:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
# new_framework_defaults_7_2.rb.tt
|
# new_framework_defaults_8_0.rb.tt
|
||||||
|
|
||||||
# Rails.application.config.active_job.existing_behavior = false
|
# Rails.application.config.active_job.existing_behavior = false
|
||||||
```
|
```
|
||||||
|
@ -378,7 +378,7 @@ Processing by PostsController#index as HTML
|
|||||||
10| # GET /posts/1 or /posts/1.json
|
10| # GET /posts/1 or /posts/1.json
|
||||||
11| def show
|
11| def show
|
||||||
=>#0 PostsController#index at ~/projects/rails-guide-example/app/controllers/posts_controller.rb:7
|
=>#0 PostsController#index at ~/projects/rails-guide-example/app/controllers/posts_controller.rb:7
|
||||||
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-7.2.0.alpha/lib/action_controller/metal/basic_implicit_render.rb:6
|
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-8.0.0.alpha/lib/action_controller/metal/basic_implicit_render.rb:6
|
||||||
# and 72 frames (use `bt' command for all frames)
|
# and 72 frames (use `bt' command for all frames)
|
||||||
(rdbg)
|
(rdbg)
|
||||||
```
|
```
|
||||||
@ -445,13 +445,13 @@ When used without any options, `backtrace` lists all the frames on the stack:
|
|||||||
```rb
|
```rb
|
||||||
=>#0 PostsController#index at ~/projects/rails-guide-example/app/controllers/posts_controller.rb:7
|
=>#0 PostsController#index at ~/projects/rails-guide-example/app/controllers/posts_controller.rb:7
|
||||||
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-2.0.alpha/lib/action_controller/metal/basic_implicit_render.rb:6
|
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-2.0.alpha/lib/action_controller/metal/basic_implicit_render.rb:6
|
||||||
#2 AbstractController::Base#process_action(method_name="index", args=[]) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-7.2.0.alpha/lib/abstract_controller/base.rb:214
|
#2 AbstractController::Base#process_action(method_name="index", args=[]) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-8.0.0.alpha/lib/abstract_controller/base.rb:214
|
||||||
#3 ActionController::Rendering#process_action(#arg_rest=nil) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-7.2.0.alpha/lib/action_controller/metal/rendering.rb:53
|
#3 ActionController::Rendering#process_action(#arg_rest=nil) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-8.0.0.alpha/lib/action_controller/metal/rendering.rb:53
|
||||||
#4 block in process_action at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-7.2.0.alpha/lib/abstract_controller/callbacks.rb:221
|
#4 block in process_action at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actionpack-8.0.0.alpha/lib/abstract_controller/callbacks.rb:221
|
||||||
#5 block in run_callbacks at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activesupport-7.2.0.alpha/lib/active_support/callbacks.rb:118
|
#5 block in run_callbacks at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activesupport-8.0.0.alpha/lib/active_support/callbacks.rb:118
|
||||||
#6 ActionText::Rendering::ClassMethods#with_renderer(renderer=#<PostsController:0x0000000000af78>) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actiontext-7.2.0.alpha/lib/action_text/rendering.rb:20
|
#6 ActionText::Rendering::ClassMethods#with_renderer(renderer=#<PostsController:0x0000000000af78>) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actiontext-8.0.0.alpha/lib/action_text/rendering.rb:20
|
||||||
#7 block {|controller=#<PostsController:0x0000000000af78>, action=#<Proc:0x00007fd91985f1c0 /Users/st0012/...|} in <class:Engine> (4 levels) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actiontext-7.2.0.alpha/lib/action_text/engine.rb:69
|
#7 block {|controller=#<PostsController:0x0000000000af78>, action=#<Proc:0x00007fd91985f1c0 /Users/st0012/...|} in <class:Engine> (4 levels) at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/actiontext-8.0.0.alpha/lib/action_text/engine.rb:69
|
||||||
#8 [C] BasicObject#instance_exec at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activesupport-7.2.0.alpha/lib/active_support/callbacks.rb:127
|
#8 [C] BasicObject#instance_exec at ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activesupport-8.0.0.alpha/lib/active_support/callbacks.rb:127
|
||||||
..... and more
|
..... and more
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -326,6 +326,11 @@
|
|||||||
description: >
|
description: >
|
||||||
This guide provides steps to be followed when you upgrade your
|
This guide provides steps to be followed when you upgrade your
|
||||||
applications to a newer version of Ruby on Rails.
|
applications to a newer version of Ruby on Rails.
|
||||||
|
-
|
||||||
|
name: Version 8.0 - ?
|
||||||
|
url: 8_0_release_notes.html
|
||||||
|
description: Release notes for Rails 8.0.
|
||||||
|
work_in_progress: true
|
||||||
-
|
-
|
||||||
name: Version 7.2 - ?
|
name: Version 7.2 - ?
|
||||||
url: 7_2_release_notes.html
|
url: 7_2_release_notes.html
|
||||||
|
@ -135,10 +135,10 @@ run the following in a new terminal:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ rails --version
|
$ rails --version
|
||||||
Rails 7.2.0
|
Rails 8.0.0
|
||||||
```
|
```
|
||||||
|
|
||||||
If it says something like "Rails 7.2.0", you are ready to continue.
|
If it says something like "Rails 8.0.0", you are ready to continue.
|
||||||
|
|
||||||
### Creating the Blog Application
|
### Creating the Blog Application
|
||||||
|
|
||||||
@ -474,7 +474,7 @@ $ bin/rails console
|
|||||||
You should see an `irb` prompt like:
|
You should see an `irb` prompt like:
|
||||||
|
|
||||||
```irb
|
```irb
|
||||||
Loading development environment (Rails 7.2.0)
|
Loading development environment (Rails 8.0.0)
|
||||||
irb(main):001:0>
|
irb(main):001:0>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ You can open the terminal within VScode to verify that Rails is installed:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ rails --version
|
$ rails --version
|
||||||
Rails 7.2.0
|
Rails 8.0.0
|
||||||
```
|
```
|
||||||
|
|
||||||
You can now continue with the [Getting Started guide](getting_started.md#hello-rails) and
|
You can now continue with the [Getting Started guide](getting_started.md#hello-rails) and
|
||||||
|
@ -53,7 +53,7 @@ For unsupported series, bug fixes may coincidentally land in a stable branch,
|
|||||||
but won't be released in an official version. It is recommended to point your
|
but won't be released in an official version. It is recommended to point your
|
||||||
application at the stable branch using Git for unsupported versions.
|
application at the stable branch using Git for unsupported versions.
|
||||||
|
|
||||||
**Currently included series:** `7.2.Z`.
|
**Currently included series:** `8.0.Z`.
|
||||||
|
|
||||||
Security Issues
|
Security Issues
|
||||||
---------------
|
---------------
|
||||||
@ -78,7 +78,7 @@ there could be breaking changes in the security release. A security release
|
|||||||
should only contain the changes needed to ensure the app is secure so that it's
|
should only contain the changes needed to ensure the app is secure so that it's
|
||||||
easier for applications to remain upgraded.
|
easier for applications to remain upgraded.
|
||||||
|
|
||||||
**Currently included series:** `7.2.Z`, `7.1.Z`.
|
**Currently included series:** `8.0.Z`, `7.2.Z`.
|
||||||
|
|
||||||
Severe Security Issues
|
Severe Security Issues
|
||||||
----------------------
|
----------------------
|
||||||
@ -87,7 +87,7 @@ For severe security issues all releases in the current major series, and also th
|
|||||||
last release in the previous major series will receive patches and new versions. The
|
last release in the previous major series will receive patches and new versions. The
|
||||||
classification of the security issue is judged by the core team.
|
classification of the security issue is judged by the core team.
|
||||||
|
|
||||||
**Currently included series:** `7.2.Z`, `7.1.Z`, `7.0.Z`, `6.1.Z`.
|
**Currently included series:** `8.0.Z`, `7.2.Z`.
|
||||||
|
|
||||||
Unsupported Release Series
|
Unsupported Release Series
|
||||||
--------------------------
|
--------------------------
|
||||||
|
@ -64,7 +64,7 @@ $ bin/rails app:update
|
|||||||
conflict config/application.rb
|
conflict config/application.rb
|
||||||
Overwrite /myapp/config/application.rb? (enter "h" for help) [Ynaqdh]
|
Overwrite /myapp/config/application.rb? (enter "h" for help) [Ynaqdh]
|
||||||
force config/application.rb
|
force config/application.rb
|
||||||
create config/initializers/new_framework_defaults_7_2.rb
|
create config/initializers/new_framework_defaults_8_0.rb
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -76,6 +76,11 @@ The new Rails version might have different configuration defaults than the previ
|
|||||||
|
|
||||||
To allow you to upgrade to new defaults one by one, the update task has created a file `config/initializers/new_framework_defaults_X.Y.rb` (with the desired Rails version in the filename). You should enable the new configuration defaults by uncommenting them in the file; this can be done gradually over several deployments. Once your application is ready to run with new defaults, you can remove this file and flip the `config.load_defaults` value.
|
To allow you to upgrade to new defaults one by one, the update task has created a file `config/initializers/new_framework_defaults_X.Y.rb` (with the desired Rails version in the filename). You should enable the new configuration defaults by uncommenting them in the file; this can be done gradually over several deployments. Once your application is ready to run with new defaults, you can remove this file and flip the `config.load_defaults` value.
|
||||||
|
|
||||||
|
Upgrading from Rails 7.2 to Rails 8.0
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
For more information on changes made to Rails 8.0 please see the [release notes](8_0_release_notes.html).
|
||||||
|
|
||||||
Upgrading from Rails 7.1 to Rails 7.2
|
Upgrading from Rails 7.1 to Rails 7.2
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
|
@ -334,4 +334,4 @@
|
|||||||
|
|
||||||
*Adrian Hirt*
|
*Adrian Hirt*
|
||||||
|
|
||||||
Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/railties/CHANGELOG.md) for previous changes.
|
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/railties/CHANGELOG.md) for previous changes.
|
||||||
|
@ -330,6 +330,8 @@ def load_defaults(target_version)
|
|||||||
active_record.validate_migration_timestamps = true
|
active_record.validate_migration_timestamps = true
|
||||||
active_record.automatically_invert_plural_associations = true
|
active_record.automatically_invert_plural_associations = true
|
||||||
end
|
end
|
||||||
|
when "8.0"
|
||||||
|
load_defaults "7.2"
|
||||||
else
|
else
|
||||||
raise "Unknown version #{target_version.to_s.inspect}"
|
raise "Unknown version #{target_version.to_s.inspect}"
|
||||||
end
|
end
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
# Be sure to restart your server when you modify this file.
|
|
||||||
#
|
|
||||||
# This file eases your Rails 7.2 framework defaults upgrade.
|
|
||||||
#
|
|
||||||
# Uncomment each configuration one by one to switch to the new default.
|
|
||||||
# Once your application is ready to run with all new defaults, you can remove
|
|
||||||
# this file and set the `config.load_defaults` to `7.2`.
|
|
||||||
#
|
|
||||||
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
|
||||||
# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
|
|
||||||
|
|
||||||
###
|
|
||||||
# Controls whether Active Job's `#perform_later` and similar methods automatically defer
|
|
||||||
# the job queuing to after the current Active Record transaction is committed.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# Topic.transaction do
|
|
||||||
# topic = Topic.create(...)
|
|
||||||
# NewTopicNotificationJob.perform_later(topic)
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# In this example, if the configuration is set to `:never`, the job will
|
|
||||||
# be enqueued immediately, even though the `Topic` hasn't been committed yet.
|
|
||||||
# Because of this, if the job is picked up almost immediately, or if the
|
|
||||||
# transaction doesn't succeed for some reason, the job will fail to find this
|
|
||||||
# topic in the database.
|
|
||||||
#
|
|
||||||
# If `enqueue_after_transaction_commit` is set to `:default`, the queue adapter
|
|
||||||
# will define the behaviour.
|
|
||||||
#
|
|
||||||
# Note: Active Job backends can disable this feature. This is generally done by
|
|
||||||
# backends that use the same database as Active Record as a queue, hence they
|
|
||||||
# don't need this feature.
|
|
||||||
#++
|
|
||||||
# Rails.application.config.active_job.enqueue_after_transaction_commit = :default
|
|
||||||
|
|
||||||
###
|
|
||||||
# Adds image/webp to the list of content types Active Storage considers as an image
|
|
||||||
# Prevents automatic conversion to a fallback PNG, and assumes clients support WebP, as they support gif, jpeg, and png.
|
|
||||||
# This is possible due to broad browser support for WebP, but older browsers and email clients may still not support
|
|
||||||
# WebP. Requires imagemagick/libvips built with WebP support.
|
|
||||||
#++
|
|
||||||
# Rails.application.config.active_storage.web_image_content_types = %w[image/png image/jpeg image/gif image/webp]
|
|
||||||
|
|
||||||
###
|
|
||||||
# Enable validation of migration timestamps. When set, an ActiveRecord::InvalidMigrationTimestampError
|
|
||||||
# will be raised if the timestamp prefix for a migration is more than a day ahead of the timestamp
|
|
||||||
# associated with the current time. This is done to prevent forward-dating of migration files, which can
|
|
||||||
# impact migration generation and other migration commands.
|
|
||||||
#
|
|
||||||
# Applications with existing timestamped migrations that do not adhere to the
|
|
||||||
# expected format can disable validation by setting this config to `false`.
|
|
||||||
#++
|
|
||||||
# Rails.application.config.active_record.validate_migration_timestamps = true
|
|
||||||
|
|
||||||
###
|
|
||||||
# Controls whether Active Record will automatically look for inverse relations
|
|
||||||
# with a pluralized name.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# class Comment < ActiveRecord::Base
|
|
||||||
# belongs_to :post
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# In this example, Active Record will try to infer a `:comment` (singular) association
|
|
||||||
# on `Post`. With this option enabled, it will also look for a `:comments` association.
|
|
||||||
#++
|
|
||||||
# Rails.application.config.active_record.automatically_invert_plural_associations = true
|
|
10
railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt
Normal file
10
railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Be sure to restart your server when you modify this file.
|
||||||
|
#
|
||||||
|
# This file eases your Rails 8.0 framework defaults upgrade.
|
||||||
|
#
|
||||||
|
# Uncomment each configuration one by one to switch to the new default.
|
||||||
|
# Once your application is ready to run with all new defaults, you can remove
|
||||||
|
# this file and set the `config.load_defaults` to `8.0`.
|
||||||
|
#
|
||||||
|
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
||||||
|
# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
|
@ -3,8 +3,6 @@
|
|||||||
require "erb"
|
require "erb"
|
||||||
require "cgi"
|
require "cgi"
|
||||||
|
|
||||||
puts "required tools/preview_docs"
|
|
||||||
|
|
||||||
# How to test:
|
# How to test:
|
||||||
#
|
#
|
||||||
# export BUILDKITE_COMMIT="c8b601a225"
|
# export BUILDKITE_COMMIT="c8b601a225"
|
||||||
|
@ -7,8 +7,8 @@ def self.gem_version
|
|||||||
end
|
end
|
||||||
|
|
||||||
module VERSION
|
module VERSION
|
||||||
MAJOR = 7
|
MAJOR = 8
|
||||||
MINOR = 2
|
MINOR = 0
|
||||||
TINY = 0
|
TINY = 0
|
||||||
PRE = "alpha"
|
PRE = "alpha"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user