Rails 3.0.11 已发布。这是一个包含 bug 修复程序和一个重要安全修复程序的补丁级版本。
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
实现一个解决 Ruby 1.9.3 P0 中的一个 bug 的临时解决办法,在该 bug 中,在尝试将一个模板从一种编码转换为另一种编码时会出现一个错误。
有关该 bug 的详细信息,请参阅 http://redmine.ruby-lang.org/issues/5564。
解决办法是提前将所有转换加载到内存中,并且只有在 Ruby 版本恰好是 1.9.3 P0 时才会发生此情况。当然,希望的是在 1.9.3 的下一补丁级别版本中会解决底层问题。
修复 assert_select_email 以处理多部分和非多部分电子邮件,因为该方法由于新邮件 gem 中的变更在 Rails 3.x 中无法正常工作。
修复 url_for,在传递哈希时防止在调用它之后向哈希中添加其他选项(例如::host、:protocol)。
Active Model
Active Record
数据库适配器的异常不应丢失其回溯。
反向移植“ActiveRecord::Persistence#touch 不应使用 default_scope”(GH #1519)
处理格式错误的 yaml 的 Psych 错误。修复 GH #2645 和 GH #2731
修复在传递空值时 ActiveRecord#exists?
Active Resource
Active Support
Railties
与以往一样,您可以在 Github 上 查看版本之间的完整提交列表。