2011 年 8 月 31 日,星期三

Rails 3.1.0 已发布!

由 aaronp 发布

大家好!

自 RailsConf 以来已过去 3 个月了,因此我认为是时候发布 Rails 3.1.0 了。现在正式发布!我已发布 Rails 3.1.0!

变更

如需了解更具吸引力且易于阅读的变更列表,请查看 Rails 指南网站上的精彩 Rails 3.1.0 发行说明。如需了解不那么有吸引力的变更列表,请继续阅读!

以下是 Rails 3.1.0 中主要变更的一些亮点

ActionPack

  • ActionPack 已更新,包含新的资产管道。请参阅 资产管道上的 rails 指南

  • 已新增流式响应支持。此功能允许在处理实际完成之前流式传输模板给用户。有关更多信息,请参阅 Rails 指南或 ActionController::Metal::Streaming 中的文档。中间件已重构以支持此功能。

  • RJS 已提取到 gem 中。

ActiveModel

  • attr_accessible 及其关联项现在接受 :as 作为指定角色的选项

  • 添加了 ActiveModel::SecurePassword 以封装使用 BCrypt 加密和加盐的简单密码用法。

ActiveRecord

  • 已集成预编译语句缓存。 ActiveRecord::Base#create 和简单查找程序将使用预编译语句和缓存,以实现更高性能的插入和选择。

  • 已对关联关系进行了重构,以实现更高的简单性和可维护性。

  • default_scope 可以获取任何响应 call 的对象。

  • PostgreSQL 适配器仅支持 PostgreSQL 8.2 及更高版本。

  • 迁移使用实例方法,而不是类方法。并非定义 self.up 方法,而是应定义实例方法 up

  • 迁移是可逆的。在生成新的迁移时,迁移将包含一个称为 change 的方法。此方法中进行的数据库更改将自动知道如何还原自身。有关更多信息,请参阅 ActiveRecord::MigrationActiveRecord::Migration::CommandRecorder 的文档。

  • 在生成模型时,默认情况下会为 belongs_toreferences 列添加 add_index

ActiveResource

  • self.format = :xml将在所有请求中将默认格式更改为JSON。如果你想继续使用XML,需要在类中设置。

ActiveSupport

  • ActiveSupport::BufferedLogger将日志编码设置为BINARY,但仍然使用文本模式输出可移植的新行。

  • 添加Object#in?以测试对象是否包含在另一个对象中。

  • ActiveSupport::Dependencies::ClassCache类已引入用于保存可重新加载类的参考。

  • 向Date/DateTime/Time中添加weeks_agoprev_week

  • JSON解码现在使用multi_jsongem,它还提供了一个名为OkJson的json引擎。yaml后端已被弃用,OkJson成为1.8.x的默认引擎,而1.9.x内置json实现将被默认使用。

Railties

  • 默认的数据库模式文件被写成UTF-8。

  • 只有在存在x_sendfile_header时才使用Rack::Sendfile中间件。

  • 为Rails runner添加别名r

  • jQuery是新的默认JavaScript库。

  • 添加config.force_ssl配置,它加载支持HTTPS协议中所有请求的Rack::SSL中间件。

有关详细信息

要查看更改的更详细列表,请参阅提交到Github上Rails存储库的每个CHANGELOG文件。

要查看更改的更详细列表,请参阅rails3.0.10和3.1.0之间的提交列表

结束

我个人对这个版本感到非常自豪。我要感谢testing our release candidates的人,提交补丁并发送错误报告的人。我认为Rails 3.1.0是至今为止最好的版本的Rails,如果没有你,我们不可能做到这一点。

请继续使用这个框架创造更惊人的东西!

SHA-1

  • b68f74ced662145a4139409edf3c51db1159ead8 actionmailer-3.1.0.gem
  • 136474f270677ae75ad0f9599d26e89cf1d4bc7b actionpack-3.1.0.gem
  • e6b68453c08bb0da52ed1d422ba2f87a5e3aa794 activemodel-3.1.0.gem
  • dfbae15c0d395304812c22fbf18aa9daadbe20b4 activerecord-3.1.0.gem
  • 3f1f547e500d1ffc1f7c3ee4ab9eb1526157a870 activeresource-3.1.0.gem
  • f21627c2f429abfa8685d2147fadab6704c13869 activesupport-3.1.0.gem
  • 21c6592189fb358a066846754a8f7ce7a238fca6 rails-3.1.0.gem
  • 79cfa1eca232de9a45453829287e4438089b7955 railties-3.1.0.gem

<3 <3 <3