提交 a2bd669e 编写于 作者: E eileencodes

Merge tag 'v6.0.0.beta3'

v6.0.0.beta3 release
## 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
......
{
"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": [
......
## 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
......
## 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
......
## 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
## 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
......
{
"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": [
......
## 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
......
{
"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": [
......
## 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
......
......@@ -21,6 +21,12 @@
*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
......
## 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
......
{
"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
......
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
## Rails 6.0.0.beta2 (February 25, 2019) ##
* No changes.
......
## 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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册