Rails 3.1.2 已发布。这是一个包含错误修复和一个重要安全修复的补丁级别版本。
translate 辅助方法中存在一个漏洞,可能允许攻击者将任意代码注入页面。
请参阅 rubyonrails-security 帖子 和下面的更新日志条目,了解更多详情。
Action Mailer
Action Pack
修复了 translate 辅助方法中的 XSS 安全漏洞。当将插值与 HTML 安全的翻译结合使用时,插值输入不会被 HTML 转义。GH 3664
之前
translate('foo_html', :something => '<script>') # => "...<script>..."
之后
translate('foo_html', :something => '<script>') # => "...&lt;script&gt;..."
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 上 查看两个版本之间提交的完整列表。