Closed vishalkhode1 closed 11 months ago
It will depend on community contributions to identify which new features of PHP 8.3 are requiring changes in Prophecy to allow doubling them. If you find incompatibilities, please report them as issues in the issue tracker (one issue per problem please, not a generic one mixing all compat issues as it makes it harder to track resolution). And then, if you have time to contribute a fix, it is even better.
To test things, you can use the --ignore-platform-req=php+
flag of composer to allow ignoring the upper bound of the PHP requirement to allow installing it on PHP 8.3 (that's exactly what this flag is about).
@rajeshreeputra having a green CI does not mean that we support PHP 8.3 though. It means we support code using older features when running on 8.3. Support for language features added in PHP 8.3 is not covered by the existing testsuite.
I think #[\Override]
may need some codegen adjustments here:
Given that the Override
attribute is not required when overriding a method (even when the parent method is itself using the attribute), I don't think it requires any code gen change.
From my perspective, what could be interesting from mocking library's perspective is:
All of them (at least first 2) in terms of optimising generated code. But it's a wild guess only, I don't know about Prophecy's internal much.
Prophecy does not rely on anonymous classes (and currently does not support mocking readonly classes anyway as its internal implementation currently requires a mutable property in the mock class)
typed class constants should not affect us as the generated mock class does not redefine constants.
Ok, so the conclusion is that we don't need any additional work to support PHP 8.3, right?
let's just bump the supported version then?
Drupal also awaiting of new release with PHP 8.3.* support https://www.drupal.org/project/drupal/issues/3406622
1.18.0 has been released and includes it.
What's the plan to provide support for PHP 8.3, which is scheduled for release on November 23, 2023, with the first RC version set to be release on August 31, 2023.