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:
commit
a2bd669ed2
@ -1 +1 @@
|
||||
6.0.0.beta2
|
||||
6.0.0.beta3
|
||||
|
@ -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
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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": [
|
||||
|
@ -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.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -1,3 +1,8 @@
|
||||
## Rails 6.0.0.beta3 (March 11, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 6.0.0.beta2 (February 25, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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.
|
||||
|
@ -79,6 +79,11 @@ def formats
|
||||
else
|
||||
[Mime[:html]]
|
||||
end
|
||||
|
||||
v = v.select do |format|
|
||||
format.symbol || format.ref == "*/*"
|
||||
end
|
||||
|
||||
set_header k, v
|
||||
end
|
||||
end
|
||||
|
@ -24,9 +24,10 @@ module Session
|
||||
#
|
||||
# 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.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -125,7 +125,7 @@ def using_non_conflicting_nested_js_then_js
|
||||
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 @@ def setup
|
||||
@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 @@ def test_synonyms
|
||||
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
|
||||
|
@ -20,9 +20,19 @@ class TestContentNegotiation < Rack::TestCase
|
||||
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
|
||||
|
@ -1,3 +1,8 @@
|
||||
## Rails 6.0.0.beta3 (March 11, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 6.0.0.beta2 (February 25, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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": [
|
||||
|
@ -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
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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": [
|
||||
|
@ -1,3 +1,8 @@
|
||||
## Rails 6.0.0.beta3 (March 11, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 6.0.0.beta2 (February 25, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -1,3 +1,8 @@
|
||||
## Rails 6.0.0.beta3 (March 11, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 6.0.0.beta2 (February 25, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -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": [
|
||||
|
@ -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).
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -1,3 +1,8 @@
|
||||
## Rails 6.0.0.beta3 (March 11, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 6.0.0.beta2 (February 25, 2019) ##
|
||||
|
||||
* No changes.
|
||||
|
@ -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`
|
||||
|
@ -415,8 +415,8 @@ def secrets
|
||||
# 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 @@ def validate_secret_key_base(secret_key_base)
|
||||
|
||||
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
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
@ -596,6 +596,27 @@ def index
|
||||
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 @@ def index
|
||||
|
||||
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
|
||||
|
||||
|
@ -226,6 +226,7 @@ def self.name; "RailtiesTestApp"; end
|
||||
@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!
|
||||
|
@ -10,7 +10,7 @@ module VERSION
|
||||
MAJOR = 6
|
||||
MINOR = 0
|
||||
TINY = 0
|
||||
PRE = "beta2"
|
||||
PRE = "beta3"
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user