2011 年 9 月 29 日星期四

[ANN] Rails 3.1.1.rc2

由 spastorino 发布

大家好,

Rails 3.1.1.rc2 已发布。请试一试,这让我们有机会修复你可能发现的回归问题并发布漂亮的 3.1.1 稳定版。如果不存在回归问题,我将在 10 月 3 日发布 3.1.1 最终版本。如果你发现任何回归问题,请通过电子邮件、推特或 github 尽快与我联系。

更改

Action Mailer

  • 无更改

Action Pack

  • 允许资产标记帮助器方法接受 :digest => false 选项,以完全避免摘要生成。对于从静态 html 文件或电子邮件(用户有可能阅读带有旧版本资产的旧 html 电子邮件)中链接资产很有用。[Santiago Pastorino]

  • 如果 config.assets.compile 为 false,请不要在 config.assets.prefix 挂载 Sprockets 服务器。[Mark J. Titorenko]

  • 设置 Sprockets 中资产中的相对 URL 根(例如,使用 asset_path 的 Sass 文件)。修复问题 #2435 [Guillermo Iguaran]

  • 修复基本身份验证凭据生成,使其不换行。GH #2882

  • 修复 config.assets.digest 和 config.assets.compile 为 false 且请求的资产不是预编译时资产管道行为。此前,即使 config.assets.compile 标记为 false,也会编译请求的资产,而忽略该标记。[Guillermo Iguaran]

  • CookieJar 现在是枚举类型。修复问题 #2795

  • 修复在 rake assets:precompile 编译特定 .erb 文件时引发的 AssetNotPrecompiled 错误。参见 GH #2763 #2765 #2805 [Guillermo Iguaran]

  • 当默认资产前缀更改时,清单会正确放置在资产路径中。修复问题 #2776 [Guillermo Iguaran]

  • 修复 stylesheet_link_tag 和 javascript_include_tag,让它们在调试开启时尊重用户传递的其他选项。[Guillermo Iguaran]

  • 当传递 nil 值时,修复 ActiveRecord#exists?

  • 修复 assert_select_email 以处理多部分和非多部分电子邮件,因为该方法由于新邮箱 gem 的更改而停止在 Rails 3.x 中正常工作。

Active Model

  • 移除对 bcrypt-ruby 的硬依赖,以避免 ActiveModel 依赖于二进制库。如果你想要使用 ActiveModel::SecurePassword,你必须显式地将 gem 添加到 Gemfile 中

    gem ‘bcrypt-ruby’, ‘~> 3.0.0’

    参见 GH #2687。[Guillermo Iguaran]

Active Record

  • 针对 preload_associations 方法添加弃用。修复问题 #3022。

    [Jon Leighton]

  • 在加载使用 set_primary_key 的模型时不请求数据库连接。GH #2807。

    [Jon Leighton]

  • 修复对包含 habtm 关系列的 select() 的使用,例如,Person.friends.select(:name)。GH #3030 和 #2923。

    [Hendy Tanata]

  • 修复在目标上带自定义主键的 belongs_to polymorphism。GH #3104。

    [Jon Leighton]

  • CollectionProxy#replace 应该更改数据库记录,而不仅仅是更改数组。修复问题 #3020。

    [Jon Leighton]

  • mysql 和 sqlite 中的 LRU 缓存现在是每个进程缓存。

    • lib/active_record/connection_adapters/mysql_adapter.rb:LRU 缓存键是每个进程 ID。
    • lib/active_record/connection_adapters/sqlite_adapter.rb:同上
  • 数据库适配器使用语句池限制数据库上已打开的已准备语句数。限制默认为 1000,但可以通过在数据库配置中更改“statement_limit”进行调整。

  • 修复了在默认范围内使用“preload”、“joins”或“eager_load”和在嵌套 through 关联中加入默认作用域模型之间发生冲突的问题。(GH #2834。)[Jon Leighton]

  • 确保在 HasManyAssociation#inverse_updates_counter_cache? 中未将字符串与符号进行比较。修复了 GH #2755,其中计数器缓存可能递减至预期距离的两倍。

    [Jon Leighton]

  • 当 belongs_to 的外键为空时不要向数据库发送任何查询。修复了 GH #2828。[Georg Friedrich]

  • 修复了 find_in_batches 方法以便不包括来自 default_scope 的 order。参见 GH #2832 [Arun Agrawal]

  • 不要针对抽象类计算表名。修复了在抽象类中设置主键的问题。参见 GH #2791。[Akira Matsuda]

  • 代理了具有不良 yaml 格式的 Psych 错误。修复了 GH #2645 和 GH #2731

  • 在方法 #last 和 #first 中使用 LIMIT 一词。修复了 GH #2783 [Damien Mathieu]

ActiveRecord

  • 无更改

ActiveSupport

  • 修复了 TimeZone 查找每次都要求 tzinfo 的性能问题 [Tim Lucas]

  • ActiveSupport::OrderedHash 现已标记为在使用 Array#extract_options! 时可提取 [Prem Sichanugrist]

Railties

  • 将 jquery-rails 添加到插件的 Gemfile 中,test/dummy 应用程序需要它。关闭了 3091。[Santiago Pastorino]

  • rake assets:precompile 加载了该应用程序,但没有初始化它。

    对于应用程序开发者来说,这意味着在 config/initializers/* 中添加的配置不会执行。

    插件开发者需要将要作为资产组运行的初始化程序设为特殊情况(通过添加 :group => :assets)。

可以在 github 上找到更改的详尽列表。连同 针对 v3.1.1 标记为关闭的问题。还可以看看 v3.1.1.rc1 和 v3.1.1.rc2 之间的新功能

还可以查看 尚未关闭的问题

感谢所有人!