我们很高兴地宣布 Rails 7.2 的发布!自 Rails 7.1 以来,近 2500 次提交由超过 400 名贡献者完成,因此此版本充满了新功能和改进。
Rails 7.2 提供了更好的生产环境默认设置,以帮助您构建更高效的应用程序。
以 YJIT 为起点。YJIT 是 Ruby 的 JIT 编译器,自 Ruby 3.1 起在 CRuby 中可用。它可以为 Rails 应用程序提供显著的性能提升,将延迟降低 15-25%。
在 Rails 7.2 中,如果运行的是 Ruby 3.3 或更新版本,YJIT 将默认启用。
经过仔细考虑、深入研究以及基于生产环境中应用的大量实际经验,我们决定将 Puma 的默认线程数从 5 个更改为 3 个。此更改是为了通过减少 Ruby 在线程数过高时等待全局虚拟机锁 (GVL) 释放的时间来提高延迟(请求响应时间)。
Rails 生成的默认 Dockerfile 现在包含 jemalloc 以优化内存分配。
开发容器(简称 dev container)允许您使用容器作为功能齐全的开发环境。
Rails 7.2 增加了为您的应用程序生成开发容器配置的功能。此配置包括一个包含 Dockerfile、docker-compose.yml 文件和 devcontainer.json 文件的 .devcontainer 文件夹。
默认情况下,开发容器包含以下内容:
要使用开发容器生成新应用程序,您可以运行:
rails new myapp --devcontainer
对于现有应用程序,现在可以使用 devcontainer 命令。
rails devcontainer
有关更多信息,请参阅 Dev Containers 入门指南。
Rails 7.0 于 2021 年 12 月发布时,带来了全新的首页和启动画面。然而,Guides 的设计自 2009 年以来基本未变(我们听到了您的反馈)。
随着目前所有工作的重点都放在消除 Rails 框架的复杂性,并使文档保持一致、清晰和最新,是时候着手改进 Guides 的设计,使其同样现代化、简洁和清新了。
我们与用户体验设计师 John Athayde 合作,将首页的外观和感觉应用到 Rails Guides 中,使其更加简洁、流畅和现代化。
布局将保持不变,但从今天起,您将在 Guides 中看到以下变化:
请参阅 此公告博客文章以查看一些前后对比图。
Rails 7.2 还包括许多其他改进和新功能。以下是一些亮点:
请查看 Rails 7.2 发行说明以获取更多详细信息。
团队正在全力开发 Rails 8.0,我们计划于今年晚些时候发布,并期待在今年九月的 Rails World 上与社区互动并分享惊喜。