2011年11月18日,星期五

Rails 3.1.2 已发布

发布者:jonleighton

Rails 3.1.2 已发布。这是一个包含错误修复和一个重要安全修复的补丁级别版本。

Ruby on Rails 的 translate 辅助方法中存在潜在的 XSS 漏洞

translate 辅助方法中存在一个漏洞,可能允许攻击者将任意代码注入页面。

  • 受影响版本:3.0.0 及更高版本,2.3.X 配合 rails_xss 插件
  • 不受影响版本:3.0.0 之前的版本,没有 rails_xss 插件,不执行自动 XSS 转义,因此不被认为存在漏洞
  • 已修复版本: 3.0.11, 3.1.2

请参阅 rubyonrails-security 帖子 和下面的更新日志条目,了解更多详情。

更改

Action Mailer

  • 无变更

Action Pack

  • 修复了 translate 辅助方法中的 XSS 安全漏洞。当将插值与 HTML 安全的翻译结合使用时,插值输入不会被 HTML 转义。GH 3664

    之前

    translate('foo_html', :something => '<script>') # => "...<script>..."
    

    之后

     translate('foo_html', :something => '<script>') # => "...<script>..."
    

    Sergey Nartimov

  • 将 sprockets 依赖升级到 ~> 2.1.0

  • 确保格式不会被重复应用到缓存键,否则将无法使用 expire_action 进行目标定位。

    Christopher Meiklejohn

  • 当无法从会话中反序列化对象时,吞掉错误。

    Bruno Zanchet

  • 为 ruby-1.9.3p0 中的一个错误实现了一个变通方法,该错误会在尝试将模板从一种编码转换为另一种编码时抛出。

    有关此错误的详细信息,请参阅 http://redmine.ruby-lang.org/issues/5564

    变通方法是将所有转换加载到内存中,并且仅在 ruby 版本是精确的 1.9.3p0 时发生。希望底层的此问题能在 1.9.3 的下一个补丁级别版本中得到解决。

    Jon Leighton

  • 确保从 3.0.x 升级到 3.1.x 的用户能够正确升级其会话中的 flash 对象(问题 #3298 和 #2509)

Active Model

  • 无变更

Active Record

  • 修复了在使用多个 schema 的情况下,PostgreSQL 的准备语句问题。GH #3232

    Juan M. Cuello

  • 修复了 PostgreSQLAdapter#indexes 中的错误。当搜索路径包含多个 schema 时,第一个 schema 之后的 schema 名称中的空格未被移除。

    Sean Kirby

  • 在可能的情况下,为 finder_sql 的 COUNT 保留 SELECT 列。GH 3503

    Justin Mazzi

  • 当 schema 更改影响语句结果时,重置准备语句缓存。GH 3335

    Aaron Patterson

  • Postgres:如果连接不再处于活动状态,则不尝试取消分配语句。

    Ian Leitch

  • 防止 QueryCache 泄露数据库连接。GH 3243

    Mark J. Titorenko

  • 修复了构建嵌套的 through 关联的条件可能修改 through 和/或 source 关联的条件的错误。如果您在使用嵌套的 through 关联时遇到条件出现在错误查询中的问题,这很可能解决了您的问题。GH #3271

    Jon Leighton

  • 如果一个记录从 has_many :through 中移除,所有与该记录相关的连接记录也应该从 through 关联的目标中移除。

    Jon Leighton

  • 修复了将同一记录的多个实例添加到 has_many :through 中。GH #3425

    Jon Leighton

  • 修复了使用多态源类型在 through 关联中创建记录。GH #3247

    Jon Leighton

  • MySQL:在查找主键时,使用 information_schema 而不是 describe 命令。GH #3440

    Kenny J

Active Resource

  • 无变更

Active Support

  • 无变更

Railties

  • Engines:如果 db/seeds.rb 文件缺失,则不崩溃。

    Jeremy Kemper

  • rails new foo --skip-test-unit 不应将 :test 任务添加到 rake 的默认任务中。GH 2564

    José Valim

一如既往,您可以在 Github 上 查看两个版本之间提交的完整列表