2013年7月12日,星期五

[ANN] Rails 3.2.14.rc1 已发布!

发布者:rafaelfranca

大家好,

我很高兴地宣布 Rails 3.2.14.rc1 已发布。如果没有发现回归问题,我将在本周一,也就是2013年7月15日发布 3.2.14 最终版。如果您发现任何问题,请 在 GitHub 上提交一个 Issue 并提及我,以便我在最终发布前修复它。

自 3.2.13 版本以来的更改

Action Mailer

无变更。

Action Pack

  • 合并路由范围中的 `: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 版本中资源的加载性能。

    Issue #8756 使用 Sprockets 解析已存在于磁盘上的文件,对于这些文件,它们的扩展名不需要被重写。

    修复了 #9803。

    Fred Wu

  • 修复 `ActionController#action_missing` 未被调用的问题。修复了 #9799。

    Janko Luin

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

    示例

    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

Active Model

无变更。

Active Record

  • 在 PostgreSQL 适配器上的 `exec_cache` 中,不浅层复制原始异常。

    修复了 #11260。

    Rafael Mendonça França

  • 修复了 `ActiveRecord::Store` 错误跟踪其属性更改的问题。修复了 #10373。

    Janko Marohnić

  • 修复了阻止使用默认 STI 继承列(ActiveRecord::Base.inheritance_column = ‘some_column’)的错误。

    chapmajs + Takehiro Adachi

  • 修复了 mysql2 适配器在执行关闭连接上的查询时引发正确异常的问题。

    Yves Senn

  • 修复了 `Company.new.contract_ids` 会错误地加载所有未关联合同的 bug。

    示例

    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

  • 修复了在某些条件下,Active Record 可能产生类似“SELECT DISTINCT DISTINCT”的无效 SQL。

    移植自 #6792。

    Ben Woosley

  • 在 rake_tasks、console 和 runner 的 railtie 钩子中要求 `ActiveRecord::Base`,以避免循环常量加载问题。

    移植自 #7695。

    修复了 #7683 和 #882

    Ben Holley

  • 在 ActiveRecord::Relation 合并中维护 join 的上下文。移植自 #10164。

    Neeraj Singh + Andrew Horner

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

    Daniel Schierbeck

  • 撤销了 `pluck` 中的更改,该更改在 relation 已有 select 子句时会忽略该子句。这导致了在稳定版本中的回归,因为它改变了行为。

    修复了 #9777。

    Rafael Mendonça França

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

    Ben Tucker

  • PostgreSQL bigint 类型的默认值现在已正确解析并转储到 schema。移植自 #10098。

    Erik Peterson

  • 当设置了 `auto_explain_threshold_in_seconds` 且连接适配器不支持 explain 时,移除了警告。这导致了回归,因为 Active Record Railtie 在应用程序启动时尝试连接到开发数据库。

    Rafael Mendonça França

  • 当 `inheritance_column` 被显式设置时,不要重置它。移植自 #5327。

    kennyj + Fred Wu

  • 修复了在 PostgreSQL 中抛出非可翻译异常时出现错误异常的问题。

    kennyj

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

    Juan M. Cuello + Dembskiy Alexander

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

    Larry Lv

  • 在执行 `db:fixtures:load` 时,不要读取 CSV 文件。CSV 对 fixtures 的支持已于一段时间前移除,但该任务仍然会加载它们,尽管后来代码寻找的是相关的 yaml 文件。

    kennyj

Active Resource

  • 修复了 ActiveResource 模型忽略 ActiveResource::Base.include_root_in_json 的问题。从现在独立的 rails/activeresouce 仓库移植。

    Xinjiang Lu

Active Support

  • 使 `Time.at_with_coercion` 保留秒的小数部分并返回本地时间。

    修复了 #11350

    Neer Friedman, Andrew White

  • 修复了 `ActiveSupport::TaggedLogging` 在未提供块时,错误地提供与日志消息相同的程序名。

    Carson Reinke

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

    Andrew White

  • 撤销了 `ActiveSupport::JSON.encode` 中关于 unicode 字符编码的更改。这导致了回归,因为结果字符串总是返回 UTF-8。它还改变了此方法在稳定版本中的行为。修复了 #9498。

    Rafael Mendonça França

  • 修复了 `ActiveSupport::TimeZone.parse` 在时间处于本地 DST 转换时的问题。修复了 #9678。

    Andrew White

Railties

  • 修复了导致 `rake test:benchmark`、`rails profiler` 和 `rails benchmarker` 崩溃的 bug。修复了 #4938。移植自 rails/rails-perftest#2。

    Dmitry Vorotilin + Yves Senn

  • 添加对 runner 钩子的支持。

    移植自 #7695。

    Ben Holley

  • 修复了 scaffold 生成器在与 `--assets=false --resource-route=false` 一起使用时的 bug。修复了 #9525。

    Arun Agrawal

完整列表

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

SHA-1

如果您想验证您的 gem 与我上传的 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

感谢大家!