你好,绝望的人们!
我是 Jon(又名 Juan el bandido),从潘普洛纳🇪🇸附近的纳瓦罗沙漠向你们这些不法之徒问好,带来一期劲爆的《Rails 本周风云》🌵。
我们将回顾过去两周的一些提交。内容相当多,所以请打包好水壶,小心响尾蛇,并且随时点击拉取请求以获取更多信息!
出发!
为本周为 Rails 做出贡献的 38 位英雄牛仔(包括 8 位首次贡献者!)欢呼雀跃!如果你想加入他们,请查看当前问题和贡献指南!
本周发布了这两个候选版本。如果发现没有回归,Rails 4.1.16 的最终版本应该很快就会推出。这可能是 Rails 4.1 的最后一个版本,所以请尽快花些时间将你的应用程序升级到 Rails 4.2 或 Rails 5。
在 DHH 的实现提案基础上,引入了新的标签助手语法糖,默认支持 HTML5 标记并避免了位置参数。有关详细信息和代码示例,请参阅 PR 以及作为基础和讨论的#25289。
在过去的两周里,我们收到了许多重要的文档贡献,包括完成了Rails 测试指南(好极了!)以及为 Rails 5 进行了更新。
计划在 Rails 5.1 中实现,此提交旨在清理冗余的堆栈跟踪,只记录与开发人员相关的跟踪。PR 和#25343中的讨论值得一读。
此提交将 Action View 标签助手的布尔属性更新到最新的w3.org 规范,同时放弃 autobuffer 而采用 preload,并删除了 pubdate。
测试中嵌套的时间旅行调用可能导致时间存根的混淆。为阻止这种做法,Rails 现在会在嵌套的 travel 和 travel_to 时间助手调用时引发错误。
没有Z的 ISO 8601 格式指定的时间应该被解析为本地时间,但到目前为止它被视为 UTC。此提交通过使用应用程序配置中指定的时区进行解析来解决该问题。此外,YYYY-MM-DD格式现在被解析为Date,而不是像现在这样的DateTime。
已移植到 Rails 5-0-stable,因为这是一个潜在的破坏性更改。
as 选项的路由现在可以与 GET 请求一起使用此修复程序将选项添加到 URL 路径的末尾,而不是查询参数。PR 讨论中包含了一个关于检查对性能的影响和解决此问题的示例。已回溯到 5-0-stable。
此修复程序确保连接回收器的并发调用不会将同一连接分配给两个线程。已回溯到 5-0-stable。
ActionCable::Connection::Stream 现在可以防止多个线程同时写入 WebSocket 连接。已回溯到 5-0-stable。
当连接关闭时,ActionCable::Connection::Stream 现在可以正确关闭劫持的套接字。已回溯到 5-0-stable。
使用 fresh_when 或 stale? 修改控制器操作的隐式渲染模板现在可以正确地生成新的 ETag 值。
Type::Date#serialize 现在在对日期字段执行 where 和 find 查询时,可以正确地将值转换为日期对象。已回溯到 5-0-stable。
已回溯到 5-0-stable,此 PR 添加了新的 ActionDispatch::DebugLocks 中间件,可用于诊断自动加载互锁中的死锁。
rake notes 处理其他目录开发人员和 gem 现在可以通过 SourceAnnotationExtractor 注册其他目录(如 /spec),从而使用 rake notes 从这些目录中提取注释。
我的天,我写完了!这就是本期的《Rails 本周风云》🌵。本次改进比我们在这里介绍的要多得多,所以请随意查看一下!
下周再见,朋友们!