2013 年 7 月 12 日星期五

[ANN] 已发布 Rails 3.2.14.rc1!

rafaelfranca 发表

大家好,

我高兴地宣布已发布 Rails 3.2.14.rc1。如果没有发现回归,我将在 2013 年 7 月 15 日星期一发布最终的 3.2.14。如果您发现回归,请在 GitHub 上打开一个问题并提及我,这样我便可以在最终发布之前修复这个问题。

3.2.13 以来的变更

动作邮寄程序

无变更。

动作包

  • 合并 :action 从路由作用域并指定端点(如果 :controller:action 都存在)。只有当没有选项哈希中没有 :to 存在时才进行端点赋值,因此应该只影响使用简写语法(即端点从路径推论而出)的路由。

    修复 #9856

    Yves Senn, Andrew White

  • 始终转换 link_to_unless 方法的结果。

    之前

    link_to_unless(true, '<b>Showing</b>', 'github.com')
    # => "<b>Showing</b>"
    

    之后

    link_to_unless(true, '<b>Showing</b>', 'github.com')
    # => "&lt;b&gt;Showing&lt;/b&gt;"
    

    dtaniwaki

  • 对 #asset_path 使用不区分大小写的 URI 正则表达式。

    此修复程序修复了以下一个问题,即使用不同大小写的同一资产路径会生成不同的 URI。

    之前

    image_tag("HTTP://google.com")
    # => "<img alt=\"Google\" src=\"/assets/HTTP://google.com\" />"
    image_tag("http://google.com")
    # => "<img alt=\"Google\" src=\"http://google.com\" />"
    

    之后

    image_tag("HTTP://google.com")
    # => "<img alt=\"Google\" src=\"HTTP://google.com\" />"
    image_tag("http://google.com")
    # => "<img alt=\"Google\" src=\"http://google.com\" />"
    

    David Celis + Rafael Mendonça França

  • 修复多个文件字段上的明确名称。如果一个文件字段标签有 multiple 选项,则将其变成一个数组字段(追加 []),但是如果将明确名称传递给 file_field,就不会追加 []。修复 #9830。

    Ryan McGeary

  • 修复 3.2.13 中的资产加载性能。

    问题 #8756 使用 Sprockets 来解析已经存在磁盘上的文件,对于那些文件而言,无需改写其扩展名。

    修复 #9803。

    Fred Wu

  • 修复未调用 ActionController#action_missing 的错误。修复 #9799。

    Janko Luin

  • ActionView::Helpers::NumberHelper#number_to_human 在单位哈希不包含所需的键时返回未更改的数字,例如当提供的数字小于提供的最大键时。

    示例

    number_to_human(123, units: {})                # => 123
    number_to_human(123, units: { thousand: 'k' }) # => 123
    

    修复 #9269。回传 #9347。

    Michael Hoffman

  • 在视图查找中包含 I18n 区域设置的后备。修复 GH#3512。

    Juan Barreneche

  • 当 Accept 请求头为空字符串时,修复 ActionDispatch::Request#formats。修复 #7774 [回传 #8977,#9541]

    Soylent + Maxime Réty

活动模式

无变更。

活动记录

  • 在 PostgreSQL 适配器上不要在 exec_cache 中浅显原有异常。

    修复 #11260。

    Rafael Mendonça França

  • 修复 ActiveRecord::Store 错误跟踪其属性更改情况。修复 #10373。

    Janko Marohnić

  • 修复一个阻止使用默认 STI 继承列的 bug (ActiveRecord::Base.inheritance_column = 'some_column'.)

    chapmajs + Takehiro Adachi

  • 修复 mysql2 适配器在执行一个关闭连接的查询时会引发正确的异常。

    Yves Senn

  • 修复一个 bug,即 Company.new.contract_ids 错误地加载所有非关联的合同。

    示例

    company = Company.new # Company has many :contracts
    
    # before
    company.contract_ids # => SELECT ... WHERE `contracts`.`company_id` IS NULL
    
    # after
    company.contract_ids # => []
    

    Jared Armstrong

  • 修复 has_many 关联的 :primary_key 选项。修复 #10693。

    Yves Senn

  • 修复 #3329 引入的 bug。现在,在自动保存关联关系时,删除发生在插入和保存之前。这可以避免记录在创建过程中拥有一个记录正在销毁的唯一索引字段上的相同值时会发生的“重复的唯一值”数据库错误。

    回滚 #10417

    Johnny Holton

  • 修复在某些条件下,活动记录可能会生成无效的 SQL,例如:“SELECT DISTINCT DISTINCT”。

    回滚 #6792。

    Ben Woosley

  • 在 rake_tasks、控制台和运行器的 railtie 启动项中需要 ActiveRecord::Base,以避免循环常量加载问题。

    回滚 #7695。

    修复 #7683 和 #882

    Ben Holley

  • 维护 ActiveRecord::Relation 合并内的 Join 的上下文。回滚 #10164。

    Neeraj Singh + Andrew Horner

  • 确保 EXPLAIN 命令不会被 select_db 调用触发。

    Daniel Schierbeck

  • 回滚 pluck 上的当关系已经有一个时忽略选择子句的更改。这导致了回归,因为它改变了稳定版本中的行为。

    修复 #9777。

    Rafael Mendonça França

  • 确认在递减计数缓存之前记录尚未被销毁。

    Ben Tucker

  • PostgreSQL bigint 类型的默认值现在可以被正确解析并转储到架构中。回滚 #10098。

    Erik Peterson

  • auto_explain_threshold_in_seconds 设置且连接适配器不支持解释时,删除警告。这会导致回归,因为活动记录 Railtie 尝试在应用程序启动时连接到开发数据库。

    Rafael Mendonça França

  • 当显式设置 inheritance_column 时,不要重置它。回滚 #5327。

    kennyj + Fred Wu

  • 修复当在 PostgreSQL 中引发不可翻译的异常时,发生错误的异常问题。

    kennyj

  • 在结构中转储结构后,重置 structure.sql 中的 postgres 搜索路径,以便在使用多个架构时找到 schema_migrations 表。修复 #9796。

    Juan M. Cuello + Dembskiy Alexander

  • 如果关联目标过时,则重新加载它。当模型未保存时,@stale_state 应为 null 值。修复 #7526。

    刘永利

  • 在执行 db:fixtures:load 时不要读取 CSV 文件。Fixture 的 CSV 支持已经删除一段时间了,但该任务仍在加载它们,即使稍后该代码会查找相关的 yaml 文件。

    kennyj

活动资源

  • 修复了一个 ActiveResource 模型忽略 ActiveResource::Base.include_root_in_json 的问题。从现已独立的 rails/activeresouce 仓库回传。

    卢新江

活动支持

  • 使 Time.at_with_coercion 保留第二部分并返回当地时间。

    修复 #11350

    尼尔·弗里德曼安德鲁·怀特

  • 修复 ActiveSupport::TaggedLogging 在未提供块时仍然使程序名称等同于日志消息的错误。

    卡森·雷克

  • 覆盖 Time.at 以支持在使用单个参数调用时传递类似时间的数值。

    安德鲁·怀特

  • 回滚 ActiveSupport::JSON.encode 的 Unicode 字符编码更改。这导致了一个回归错误,导致生成字符串始终返回 UTF-8。而且,它改变了该方法在稳定版本中的行为。修复 #9498。

    Rafael Mendonça França

  • 修复 ActiveSupport::TimeZone.parse 在时间位于本地夏令时转换点时的错误。修复 #9678。

    安德鲁·怀特

轨道

  • 修复 rake test:benchmarkrails profilerrails benchmarker 崩溃的错误。修复 #4938。回传 rails/rails-perftest#2。

    德米特里·沃罗蒂林 + 伊夫·森

  • 添加对 Runner 钩子的支持。

    回滚 #7695。

    Ben Holley

  • 修复在带有 --assets=false --resource-route=false 的 Scaffold 生成的错误。修复 #9525。

    阿伦·阿格拉瓦尔

完整列表

若要查看完整的更改列表,请查看所有 GitHub 提交

SHA-1

若要验证您的 Gem 是否与我上传的相同,请使用以下 SHA-1 散列

  • 1b8d20d39c9c5bb2fa56c835fe564bfcf6f55c66 actionmailer-3.2.14.rc1.gem
  • ccf1df0c3daa92e5e72ec11f3399167e16d2a48f actionpack-3.2.14.rc1.gem
  • 263cbf1ce202095f92648171c6be92eca85837e0 activemodel-3.2.14.rc1.gem
  • 51de13da5e9c9c9ccdd7f7bd4c2bfb3e1dd3dbb1 activerecord-3.2.14.rc1.gem
  • da709adcc9f56364e0d697ea10e4acc9af48068a activeresource-3.2.14.rc1.gem
  • e45cd0115705514d00b1be917f06092af389fe5d activesupport-3.2.14.rc1.gem
  • 9fd0569cdee1ca0ab7b170f1c40c6c48304ec29e rails-3.2.14.rc1.gem
  • a2d485229708af4cdbbdaef72ef6f756fb1b1341 railties-3.2.14.rc1.gem

感谢各位!