In 1.6 new GuzzleHttp\Psr7\Response(200, ['Authorization' => null], '') throws an InvalidArgumentException while in 1.5.2 it generates the same as new \GuzzleHttp\Psr7\Response(200, ['Authorization' => ''], '')
According to PSR-7 header values must be strings or arrays of strings. 1.6.0 enforces that. While it might be a break from a library point of view, this library is a PSR-7 implementation. Relying on undocumented features is never a good idea.
@Tobion IMHO we should add a warning to the release section saying that this release might break for users not following the PSR-7 specification.
I disagree it's a BC break. Because the param type was string, the specification says the behaviour is undefined if you pass something else, and changing the behaviour of something outside of the specification shouldn't be regarded as a BC break.
That said, for reasons of practicality, it doesn't make sense to break the Symfony code when there's a simple way to get the old behaviour back. ;)