v6.0.0.beta3 release

-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEEvJkGf0BARV+D0L2ulxXUSC76N8FAlyJN4cACgkQulxXUSC7
 6N9ZXAf/Wx7edIct8kZzcC6irlROx4DzpNbrrH792sO1OAcnoFDE7DPkokllTEP/
 4kzC42lca/XG27MCl7E0dtVD8hIyAl89nxid6cwKFVZVTPIRVc1wjXkoiWy/cvd7
 6+9IjxhlgrzxGnw3aWZJG7H3iqz69yr55aoSDU/TbMqq5kQrqNF95vr2nc8LEUco
 SLQj0pO/tfJdHquSeX0JiXn3VSEHT+5TdLGQ3J/w0wFU6mkecH4MJMJvMwLFx/v4
 llnvF6HyfSLASWbrpdD3h6MQHpImDoee5vILXAHzPdSaEVcVa1cDFtMcPMYiu8Dw
 AGdCAaHQhZFFGoYK472+o6pur0dxEA==
 =5dET
 -----END PGP SIGNATURE-----

Merge tag 'v6.0.0.beta3'

v6.0.0.beta3 release
This commit is contained in:
eileencodes 2019-03-13 13:11:10 -04:00
commit a2bd669ed2
38 changed files with 156 additions and 36 deletions

View File

@ -1 +1 @@
6.0.0.beta2
6.0.0.beta3

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* PostgreSQL subscription adapters now support `channel_prefix` option in cable.yml

View File

@ -10,7 +10,7 @@ module ActionCable
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,6 +1,6 @@
{
"name": "@rails/actioncable",
"version": "6.0.0-beta2",
"version": "6.0.0-beta3",
"description": "WebSocket framework for Ruby on Rails.",
"main": "app/assets/javascripts/action_cable.js",
"files": [

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* Allow skipping incineration of processed emails.

View File

@ -10,7 +10,7 @@ module ActionMailbox
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* No changes.

View File

@ -10,7 +10,7 @@ module ActionMailer
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* Make debug exceptions works in an environment where ActiveStorage is not loaded.

View File

@ -79,6 +79,11 @@ module ActionDispatch
else
[Mime[:html]]
end
v = v.select do |format|
format.symbol || format.ref == "*/*"
end
set_header k, v
end
end

View File

@ -24,9 +24,10 @@ module ActionDispatch
#
# Rails.application.config.session_store :cookie_store, key: '_your_app_session'
#
# By default, your secret key base is derived from your application name in
# the test and development environments. In all other environments, it is stored
# encrypted in the <tt>config/credentials.yml.enc</tt> file.
# In the development and test environments your application's secret key base is
# generated by Rails and stored in a temporary file in <tt>tmp/development_secret.txt</tt>.
# In all other environments, it is stored encrypted in the
# <tt>config/credentials.yml.enc</tt> file.
#
# If your application was not updated to Rails 5.2 defaults, the secret_key_base
# will be found in the old <tt>config/secrets.yml</tt> file.

View File

@ -10,7 +10,7 @@ module ActionPack
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -125,7 +125,7 @@ class RespondToController < ActionController::Base
def custom_type_handling
respond_to do |type|
type.html { render body: "HTML" }
type.custom("application/crazy-xml") { render body: "Crazy XML" }
type.custom("application/fancy-xml") { render body: "Fancy XML" }
type.all { render body: "Nothing" }
end
end
@ -314,12 +314,14 @@ class RespondToControllerTest < ActionController::TestCase
@request.host = "www.example.com"
Mime::Type.register_alias("text/html", :iphone)
Mime::Type.register("text/x-mobile", :mobile)
Mime::Type.register("application/fancy-xml", :fancy_xml)
end
def teardown
super
Mime::Type.unregister(:iphone)
Mime::Type.unregister(:mobile)
Mime::Type.unregister(:fancy_xml)
end
def test_html
@ -489,10 +491,10 @@ class RespondToControllerTest < ActionController::TestCase
end
def test_custom_types
@request.accept = "application/crazy-xml"
@request.accept = "application/fancy-xml"
get :custom_type_handling
assert_equal "application/crazy-xml", @response.content_type
assert_equal "Crazy XML", @response.body
assert_equal "application/fancy-xml", @response.content_type
assert_equal "Fancy XML", @response.body
@request.accept = "text/html"
get :custom_type_handling

View File

@ -20,9 +20,19 @@ module ContentNegotiation
assert_body "Hello world */*!"
end
test "Not all mimes are converted to symbol" do
test "A js or */* Accept header will return HTML" do
get "/content_negotiation/basic/hello", headers: { "HTTP_ACCEPT" => "text/javascript, */*" }
assert_body "Hello world text/html!"
end
test "A js or */* Accept header on xhr will return HTML" do
get "/content_negotiation/basic/hello", headers: { "HTTP_ACCEPT" => "text/javascript, */*" }, xhr: true
assert_body "Hello world text/javascript!"
end
test "Unregistered mimes are ignored" do
get "/content_negotiation/basic/all", headers: { "HTTP_ACCEPT" => "text/plain, mime/another" }
assert_body '[:text, "mime/another"]'
assert_body '[:text]'
end
end
end

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* No changes.

View File

@ -10,7 +10,7 @@ module ActionText
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,6 +1,6 @@
{
"name": "@rails/actiontext",
"version": "6.0.0-beta2",
"version": "6.0.0-beta3",
"description": "Edit and display rich text in Rails applications",
"main": "app/javascript/actiontext/index.js",
"files": [

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* ActionView::Template.finalize_compiled_template_methods is deprecated with

View File

@ -10,7 +10,7 @@ module ActionView
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,6 +1,6 @@
{
"name": "@rails/ujs",
"version": "6.0.0-beta2",
"version": "6.0.0-beta3",
"description": "Ruby on Rails unobtrusive scripting adapter",
"main": "lib/assets/compiled/rails-ujs.js",
"files": [

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* No changes.

View File

@ -10,7 +10,7 @@ module ActiveJob
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,26 +1,32 @@
* Change how validation error translation strings are fetched: The new behavior
will first try the more specific keys, including doing locale fallback, then try
the less specific ones.
For example, this is the order in which keys will now be tried for a `blank`
error on a `product`'s `title` attribute with current locale set to `en-US`:
en-US.activerecord.errors.models.product.attributes.title.blank
en-US.activerecord.errors.models.product.blank
en-US.activerecord.errors.messages.blank
en.activerecord.errors.models.product.attributes.title.blank
en.activerecord.errors.models.product.blank
en.activerecord.errors.messages.blank
en-US.errors.attributes.title.blank
en-US.errors.messages.blank
en.errors.attributes.title.blank
en.errors.messages.blank
*Hugo Vacher*
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* Fix date value when casting a multiparameter date hash to not convert

View File

@ -10,7 +10,7 @@ module ActiveModel
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -70,6 +70,11 @@
*Juani Villarejo*
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* Fix prepared statements caching to be enabled even when query caching is enabled.

View File

@ -10,7 +10,7 @@ module ActiveRecord
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* No changes.

View File

@ -10,7 +10,7 @@ module ActiveStorage
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,6 +1,6 @@
{
"name": "@rails/activestorage",
"version": "6.0.0-beta2",
"version": "6.0.0-beta3",
"description": "Attach cloud and local files in Rails applications",
"main": "app/assets/javascripts/activestorage.js",
"files": [

View File

@ -27,6 +27,11 @@
*DHH*
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* New autoloading based on [Zeitwerk](https://github.com/fxn/zeitwerk).

View File

@ -10,7 +10,7 @@ module ActiveSupport
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* No changes.

View File

@ -1,3 +1,8 @@
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* Fix non-symbol access to nested hashes returned from `Rails::Application.config_for`

View File

@ -415,8 +415,8 @@ module Rails
# then credentials.secret_key_base, and finally secrets.secret_key_base. For most applications,
# the correct place to store it is in the encrypted credentials file.
def secret_key_base
if Rails.env.test? || Rails.env.development?
secrets.secret_key_base || Digest::MD5.hexdigest(self.class.name)
if Rails.env.development? || Rails.env.test?
secrets.secret_key_base ||= generate_development_secret
else
validate_secret_key_base(
ENV["SECRET_KEY_BASE"] || credentials.secret_key_base || secrets.secret_key_base
@ -581,6 +581,21 @@ module Rails
private
def generate_development_secret
if secrets.secret_key_base.nil?
key_file = Rails.root.join("tmp/development_secret.txt")
if !File.exist?(key_file)
random_key = SecureRandom.hex(64)
File.binwrite(key_file, random_key)
end
secrets.secret_key_base = File.binread(key_file)
end
secrets.secret_key_base
end
def build_request(env)
req = super
env["ORIGINAL_FULLPATH"] = req.fullpath

View File

@ -10,7 +10,7 @@ module Rails
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end

View File

@ -596,6 +596,27 @@ module ApplicationTests
assert_equal "some_value", verifier.verify(message)
end
test "application will generate secret_key_base in tmp file if blank in development" do
app_file "config/initializers/secret_token.rb", <<-RUBY
Rails.application.credentials.secret_key_base = nil
RUBY
app "development"
assert_not_nil app.secrets.secret_key_base
assert File.exist?(app_path("tmp/development_secret.txt"))
end
test "application will not generate secret_key_base in tmp file if blank in production" do
app_file "config/initializers/secret_token.rb", <<-RUBY
Rails.application.credentials.secret_key_base = nil
RUBY
assert_raises ArgumentError do
app "production"
end
end
test "raises when secret_key_base is blank" do
app_file "config/initializers/secret_token.rb", <<-RUBY
Rails.application.credentials.secret_key_base = nil
@ -619,7 +640,6 @@ module ApplicationTests
test "application verifier can build different verifiers" do
make_basic_app do |application|
application.credentials.secret_key_base = "b3c631c314c0bbca50c1b2843150fe33"
application.config.session_store :disabled
end

View File

@ -226,6 +226,7 @@ module TestHelpers
@app.config.session_store :cookie_store, key: "_myapp_session"
@app.config.active_support.deprecation = :log
@app.config.log_level = :info
@app.secrets.secret_key_base = "b3c631c314c0bbca50c1b2843150fe33"
yield @app if block_given?
@app.initialize!

View File

@ -10,7 +10,7 @@ module Rails
MAJOR = 6
MINOR = 0
TINY = 0
PRE = "beta2"
PRE = "beta3"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end