Rails 开发团队发布 Rails 7.1 首个 Beta 测试版来庆祝 Rails 20 周年。他们表示,自 Rails 7.0 以来,已有 800 多名贡献者提交了 5000 多个 commit,因此该版本包含许多新特性和改进。
主要变化如下:
- 为新的应用生成 Dockerfile
当运行rails new
时,Rails 将生成需要使用 Kamal 或任何其他基于 Docker 的部署设置来部署应用程序的所有 Dockerfile。
这些 Dockerfile 经过调整,适合用于生产环境,具有合适的缓存层、多阶段构建以最小化镜像,以及无论是否使用 JavaScript 构建环境所需的所有依赖项。
- 支持 Bun
Bun 是 Zig 编写的 JavaScript 运行时,近日正式发布 1.0 正式版本。此版本支持使用 Bun 作为 JavaScript 运行时来生成新应用程序。
因此,开发者可以将--javascript=bun
选项传递给rails new
。
- 更强大的自行构建身份验证系统
为了补充has_secure_password
功能,Rails 7.1 带来了新特性来帮助开发者自行构建身份验证系统。
其他变化:
- Active Record 支持更多异步查询
- 对 Trilogy MySQL 适配器的内置支持
- 在 Active Record 中支持复合主键
- 使用
perform_all_later
对大规模任务进行排队 - 引入用于增强自动加载 (Enhanced Autoloading) 的
config.autoload_lib
和config.autoload_lib_once
详情查看发布公告。