2012 年 3 月 30 日,星期五

[公告] Rails 3.2.3 已发布!

发布者 spastorino

Rails 3.2.3 已发布!!!

重要提示

本次发布将 config.active_record.whitelist_attributes 的默认值更改为 true。此更改仅影响新生成的应用程序,因此不应给正在升级的用户带来任何向后兼容性问题,但可能会影响一些教程和入门材料。有关更多信息,请参阅 Ruby on Rails 安全指南 中的质量分配部分。

Rails 3.2.3 还引入了一个新选项,允许您控制远程表单在 authenticity_token 生成方面的行为。如果您想对表单进行碎片缓存,那么 authenticity token 也会被缓存,这是不可接受的。然而,如果您只将此类表单与 ajax 一起使用,则可以禁用 token 生成,因为它将从 meta 标签中获取。从 3.2.3 开始,您可以通过设置 config.action_view.embed_authenticity_token_in_remote_forms = false 来选择不在远程表单(例如,传递了 :remote => true 作为选项)中生成 authenticity_token。请注意,这将导致在禁用 Javascript 的情况下发送这些表单时出现错误。如果您选择默认不生成远程表单中的 token,您仍然可以在生成表单时显式传递 :authenticity_token => true 来绕过此设置。该选项的默认值为 true,这意味着现有应用程序不受影响。

我们还调整了对 rack-cache 和 mail 的依赖,以解决这些库最近出现的安全漏洞。如果您正在运行易受攻击版本的 mail 或 rack-cache,则应将这两个 gem 更新到安全版本。在 render 方法中还存在一些回归问题,已在此版本中修复。

自 3.2.2 以来的更改

Action Mailer

  • 将 mail 版本升级到 2.4.3 ML

Action Pack

  • 修复 #5632,render :inline 设置了正确的渲染格式。Santiago Pastorino

  • 修复使用 HAML 等插件时 textarea 的渲染。这些插件会编码内容中的第一个换行符。此问题是在 https://github.com/rails/rails/pull/5191 中引入的 James Coleman

  • 在 remote: true 的表单中不包含 authenticity token,因为 ajax 表单使用 meta 标签值 DHH

  • 关闭 rack-cache 的详细模式,我们仍然有 X-Rack-Cache 来检查这些信息。关闭 #5245。Santiago Pastorino

  • 修复 #5238,当模板未渲染时,rendered_format 未设置。Piotr Sarnacki

  • 将 rack-cache 升级到 1.2。José Valim

  • ActionController::SessionManagement 已弃用。Santiago Pastorino

  • 由于路由器保存了系统中许多部分(如引擎、控制器和应用程序本身)的引用,因此检查路由集实际上可能非常慢,因此我们将 inspect 别名默认设置为 to_s。José Valim

  • 在 textarea 打开标签后添加一个新行。关闭 #393 rafaelfranca

  • 始终从 responder 传递一个 respond 块。我们应该让 responder 来决定如何处理给定的覆盖的响应块,而不是提前终止它。sikachu

  • 修复了 3.2.2 版的布局渲染回归问题。José Valim

Active Model

  • 无变更

Active Record

  • 添加了 find_or_create_by_{attribute}! 动态方法。Andrew White

  • 默认允许所有属性分配。将新生成应用程序的默认值更改为允许所有属性分配。还更新了生成的模型类,以便提醒用户 attr_accessible 的重要性。NZKoz

  • 更新 ActiveRecord::AttributeMethods#attribute_present?,使其为空字符串返回 false。Jacobkg

  • 在每类数据库中使用关联时进行修复。larskanis

  • 撤销在 add_timestamps 中设置 NOT NULL 约束 fxn

  • 修复 mysql 以使用正确的文本类型。修复 #3931。kennyj

  • 修复 #5069 - 通过关联构建器保护外键免受质量分配。byroot

Active Resource

  • 无变更

Active Support

  • 无变更

Railties

  • 无变更

SHA-1

  • SHA-1 (actionmailer-3.2.3.gem) = 04cd2772dd2d402ffb9d9dbf70f5f2256c598ab3
  • SHA-1 (actionpack-3.2.3.gem) = 06d51ebd0863e0075d9a3e89a2e48dcc262c4e0c
  • SHA-1 (actionmodel-3.2.3.gem) = 3f648213b88bb3695e2bce38ff823be99535f401
  • SHA-1 (activerecord-3.2.3.gem) = a9810e79d720994abbe24aded2bcb783bb1649b4
  • SHA-1 (activeresource-3.2.3.gem) = 3d1de8a80122efbcf6c8b8dfc13a7ab644bb2ca3
  • SHA-1 (activesupport-3.2.3.gem) = 6a63d75c798fb87d081cbee9323c46bec4727490
  • SHA-1 (rails-3.2.3.gem) = 4db7e5c288f5260dc299d55ec2aad9a330b611fc
  • SHA-1 (railties-3.2.3.gem) = 39a887de71350ece12c784d3764b7be2c6659b32

您可以在 此处 找到 3.2.2 和 3.2.3 之间更改的详尽列表。

感谢大家为此付出努力,并祝您使用愉快 :)