大家好,我是Vipul。让我们一起来看看本周Rails代码库的变化吧!
如果跳过 ActiveRecord,则不要将 seed 步骤添加到 config/ci
此 PR 确保在 CI 配置模板中,当跳过 ActiveRecord 时,Rails 不会 添加 db:seed 步骤。这可以防止无数据库或有意禁用 ActiveRecord 的应用程序在 CI 中失败或执行不必要的步骤。
AJ 序列化数组
改进了 ActiveJob 参数序列化中数组的处理方式。确保序列化的数组能够正确地往返,并修复了数组转换或存储方式中的不一致/错误。
恢复 AJ Arguments.serialize 的确切行为
恢复了 ActiveJob::Arguments.serialize 方法的先前行为,以避免破坏性更改,这样依赖旧行为的应用程序就不会因序列化差异而感到意外。
Job-date: 修复 job 参数中的日期/时间解析
当启用 ActiveSupport.parse_json_times 时,修复了 job 参数中的日期/时间值最终可能变成普通字符串的情况。现在,日期/时间会被正确地解析回 Time(或适当的时间对象),从而在序列化过程中保留预期的类型。
在测试中抑制调试事件 “ac no debug events in test”
更新了 ActionController(或相关)的测试行为,以便在测试运行时不发出调试级别的事件。减少日志噪音,使测试结果更可预测。
对 deliver_all_later 进行修复和改进
多项改进确保使用 deliver_all_later 调度的邮件永远不会被内联处理或重复发送,同时还增加了对传递作业选项(如队列和优先级)的支持,以实现更可靠的后台发送。
仅在开发环境中发出结构化调试事件
更改为仅在开发环境中发出结构化调试事件,从而减少测试/生产环境中的开销和不必要的信息。
在 /rails/info/routes 中显示引擎路由
增强了路由/信息页面(/rails/info/routes),以包含应用程序中任何挂载引擎的路由,从而在引擎被使用时更易于调试。
优化 PostgreSQL 主键获取
提高了 PostgreSQL 中主键检索的效率(更快地内省表架构,可能使迁移或基于反射的操作更流畅)。
修复 Docker 构建中的 Bootsnap 预编译
解决了在 Docker 构建中预编译 Bootsnap 缓存的问题;确保编译缓存设置在容器化环境中能正常工作。
允许禁用 action_controller.logger
通过将 actionController.logger 设置为 nil 或 false 来支持禁用 ActionController 日志记录器。在完全日志记录过于冗长的环境中很有用。
修复 Auth 生成器,除非使用 Minitest,否则跳过测试
更新了身份验证生成器,使其仅在应用程序使用 Minitest 时生成测试文件。对于其他测试框架的用户,保持生成器输出更简洁。
改进路由可视化器的正则表达式标签
通过为正则表达式/受限路由添加更好的标签,使路由可视化器输出更易于阅读;帮助开发人员查看应用的模式或约束。
您可以在此处查看完整的更改列表:here。
上周,我们有 30 位贡献者为 Rails 代码库做出了贡献!
下次再见!