Laravel 6.4 发布
发布时间 作者 Paul Redmond
Laravel 团队本周发布了 v6.4,其中包含密码重置安全修复和最新的新功能
首先,一个与密码重置相关的安全修复程序被贡献了出来。该修复程序限制用户每 60 秒只能创建一个密码重置记录。这可以防止攻击者提交大量密码请求,从而淹没用户的电子邮件。您可以在 23041e9 和 a934160 中查看提交。
接下来,一个 missing()
方法被添加到 Request
类中,用于检查 has()
的反面。
// Beforeif (! $request->has('foo')) { //} // using missingif ($request->missing('foo')) { //}
接下来,Pipeline
类中的一个 pipes()
getter(而不是直接使用 $pipes
属性)允许更动态的管道
class BackupAction extends Pipeline{ protected function pipes(): array { return config('actions.backup.tasks', [ Tasks\SetupPassable::class, Tasks\CreateTemporaryDirectory::class, Tasks\PrepareFilesToBackup::class, Tasks\CreateZipBackupFile::class, Tasks\MoveZipArchiveToDisks::class, Tasks\SendNotification::class, ]); }}
最后,一个新的 assertCreated()
方便方法使您能够断言 201
响应状态代码
// Instead of the following$response->assertStatus(Response::HTTP_CREATED); // A convenient 201 assertion$response->assertCreated();
您可以在下面查看新功能和更新的完整列表,以及 GitHub 上 6.3.0 和 6.4.0 之间的完整差异。Laravel 6.0 的完整发布说明可在 GitHub v6 变更日志 中找到
v6.4.0
新增
- 在
Request
类中添加missing()
方法 (#30320) - 添加
Pipeline::pipes()
方法 (#30346) - 添加
TestResponse::assertCreated()
方法 (#30368)
更改
- 在
DetectsLostConnections
中添加connection is no longer usable
(#30362) - 为多对多关系的 find 方法实现解析 ID (#30359)
- 对子查询进行改进 (#30307, 3f3b621)
- 在
Markdown::render()
方法中将邮件数据传递给主题 CSS (#30376) - 在 RequirePassword 中间件中处理 ajax 请求 (#30390, 331c354)
修复
- 修复
retry()
中$times
值小于 1 的情况 (#30356) - 修复
SetCacheHeader
中的last_modified
选项 (#30335) - 修复文件系统管理器在不支持的驱动程序上的异常 (#30331, #30369)
- 修复绑定事件监听器的
shouldQueue()
检查 (#30378) - 在迁移表未找到时使用退出代码
1
(#30321) - 缓解密码确认功能引入的重大更改 (#30389)