2013年11月1日,星期五

[ANN] Rails 4.0.1 已发布!

发布者:rafaelfranca

大家好,

我很高兴地宣布 Rails 4.0.1 已发布。这是一个错误修复版本,包含了超过 460 个提交。

此版本对 Active Record 处理后续 order 调用方式进行了重要更改。在 Rails 4.0.0 中,当您执行如下操作时:

User.order("name asc").order("created_at desc")

后面调用的 order 将被添加到 ORDER BY 子句中,生成如下 SQL:

SELECT * FROM users ORDER BY created_at desc, name asc

在 Rails 4.0.1 中,Rails 3 的行为已恢复,生成的 ORDER BY 子句如下:

SELECT * FROM users ORDER BY name asc, created_at desc

我们选择恢复此行为,因为它引入了一个重大的向后不兼容性,使得在没有对应用程序代码进行重大更改的情况下难以实现升级。此外,我们认为旧的行为是一个错误,因为它与其他作用域方法在链式调用时表现不同。因此,我们采取了最保守的路径,将其恢复,以符合平滑升级到 Rails 4 的理念。

对于那些想要旧行为的用户,可以使用 .reorder.unscope 来删除 ORDER BY 子句并生成新的子句。

此外,此版本还增加了一些性能改进,使 Rails 4 更快。

自 4.0.0 以来的更改

如需查看每个 gem 的变更,请阅读 GitHub 上的更新日志

完整列表

要查看完整的更改列表,请 在 GitHub 上查看所有提交

SHA-1

如果您想验证您的 gem 与我上传的 gem 是否相同,请使用这些 SHA-1 哈希值

  • 6f2e4d74b34904b61a47187dd879dca3b26fc2d8 actionmailer-4.0.1.gem
  • 063f16cfcf62f766a893fe09e35241bdae7cd70e actionpack-4.0.1.gem
  • b50a071bd924fb27e4c41bb40c9cb483457bc21c activemodel-4.0.1.gem
  • 1a8b173da2d8e2ae27edfeb99164c2574a1d7ddd activerecord-4.0.1.gem
  • 9a58bc3c086628ef8028716eeb7c0cb0f8c7e39a activesupport-4.0.1.gem
  • 4663f4d0607ff59cf0ae5a55b268d27d658fdcc8 rails-4.0.1.gem
  • 22e23959dc14101697eb2bb8acc00a81cc6c3884 railties-4.0.1.gem

我想感谢所有为本次发布做出贡献的贡献者。