发布 Slim 3.9.1(和 3.9.2)

在发布 3.9.0 之后,我们注意到了一个回归和一个错误修复的意外副作用。

首先,在使用 Uri::withUserInfo('') 时,您无法清除用户的密码,因此已在 #2332 中对此进行了修复。

其次,我们发现 return $response->withHeader('Location', '/login'); 不再在浏览器中重定向。这并不令人惊讶,因为 302 状态码未明确设置,开发人员依赖 PHP 的 header() 函数的一项功能,它为他们设置 302。此副作用导致了其他问题,例如 #1730,因此已在 3.9.0 中修复了此问题。为了减轻此更改的影响,3.9.1 包含了 #2345,当如果状态码当前为 200,则当您添加 Location 头时,将状态码设置为 302。此更改不会向前移植到 4.x 中。

完整变更列表 在此

更新:在发布 3.9.1 之后不久,人们发现应撤销对 #2342 的合并,因为它破坏了向后兼容性,因此已在 3.9.2 中撤销了该 PR。