Thanks Pierre, 2017-05-15 12:12 GMT+02:00 Pierre Joye <pierre....@gmail.com>:
> hi Nicolas, > > On Mon, May 15, 2017 at 1:57 PM, Nicolas Grekas > <nicolas.gre...@gmail.com> wrote: > > Hi, > > > > in master, feature request https://bugs.php.net/61780 has been > implemented > > and merged into master thanks to https://github.com/php/php- > src/pull/1303 > > > > But as noted in the PR and even in the UPGRADING file, this is a BC > break: > > . preg_match() and other PCRE functions now distinguish between > unmatched > > subpatterns and empty matches by reporting NULL and "" (empty > string), > > respectively. Formerly, either was reported as empty string. > > > > While trying to run Symfony's test suite against 7.2, we noticed that > this > > BC break is hitting several components badly. If Symfony is hit, there > will > > be many more userland code impacted for sure. > > > > As written explicitly in the releasing policy of php-src, BC breaks must > > not happen in minor versions. Therefore, I'm kindly but strongly asking > for > > this BC break to be reconsidered and removed. > > I agree that a minimum 5 years old possible bug, quite small, causing > BC breaks is not good. As far as the fix is critical or justified, I > think it is sometimes ok to break BC for edge cases. However I do not > see this is not the case here. > > @RMs revert for 7.2 and re evaluate for later? Another possibility would be to make this opt-in, with a new flag. FYI, I quickly spotted at least two places in the code base where we check the matches with something like: if ('' !== $matches[2]) {...} else {...} This should be a pretty common check so the BC break will impact more userland code when released. Cheers, Nicolas