The 3.4 release uses the callable typehint in MixedArgumentOrganiser, which breaks support for PHP 5.3.
While dropping support for PHP 5.3 is fine with me, doing it without telling composer about it is not.
If the composer.json says that the release wants 5.4+, Composer will ensure to use an older version of Behat when running on 5.3. If the composer.json still advocates support for 5.3, we force users to manage their dependencies by hand again.
Really we need to fix it.
If 3.4.1 disallows PHP 5.3 users, they'll still get 3.4.0 installed
I think dropping older version support explicitly is a good idea in future though (even 3.4.2)
I see only 2 ways to fix this:
And btw, this is a good example of why keeping composer support for a PHP version when we don't have CI for it anymore is a bad idea. Compatibility will get broken without seeing it, and then we would be lying to Composer (and so hurting our users). Dropping compat properly actually has less impact on users.
There aren't many places that php 5.3 are failing, so it's probably best to fix those -- I think the idea of re-writing history is wrong, but it may also cause strange issues to folk who have older versions cached by Composer.
+1 for making a new release with the 5.3 fixes in place and watched by CI, followed by a proper deprecation in the 3.5 or 4, whichever comes first.
I agree that rewriting history is a bad idea.
Removed the typehint
Most helpful comment
I see only 2 ways to fix this:
And btw, this is a good example of why keeping composer support for a PHP version when we don't have CI for it anymore is a bad idea. Compatibility will get broken without seeing it, and then we would be lying to Composer (and so hurting our users). Dropping compat properly actually has less impact on users.