Open clue opened 7 months ago
Why on God's green Earth would you still target PHP 7.1 compatibility for anything new when, as at the time of writing, the minimum supported version is 8.1 and you need 8.1 for fibers anyway (unless you unironically believe someone would actually install the fibers extension on the (end of life) version 8.0).
To be clear, I have no horse in this race as I believe React serves no useful purpose since Amp did everything React has been trying to do but better since inception. But why are you deliberately shooting yourselves in the feet? With lack of commentary to the contrary, I would have to assume your goal is to remain the underdog in perpetuity.
@Bilge It's a shame to see you felt the need to add your opinion by displaying a deficiency in basic manners when expressing your viewpoint. As developers, I would like to think we should be able to talk respectfully to each other in order to bring the whole ecosystem forward. I suggest you take a moment and follow the clear instructions above next time, as we clearly stated that we welcome discussion tickets, but this roadmap ticket isn't the place to discuss our ongoing development.
Your comment doesn't give me much reason to believe you're genuinely interested in having a meaningful conversation, but I'll go ahead and provide an answer in case anyone else might be interested: As ReactPHP is a large and living ecosystem, the plan is to target PHP 8.1+ with v4 and PHP 7.1+ with v3 specifically to provide a smooth upgrade path. The link is also provided above, but you're invited to join the conversation in https://github.com/orgs/reactphp/discussions/481 (after your well-deserved 3-days cool-down period).
I'll go ahead and mark this conversation as irrelevant for the topic of this discussion and will get back to moving forward with v3. π
ReactPHP v3 is going to happen! π
We're committed to work on the next major version of ReactPHP. We've started working on this a while ago and believe it's time to finally make this public and give people a chance to see what we're up to and to contribute. In order to show the ongoing development towards ReactPHP v3, we're using dedicated roadmap tickets (like this one) for each component.
Our plans towards Stream v3
β Create
3.x
branch #174 Once this is created, we can start working on the new v3.0.0 milestone. The default branch will be3.x
and the previous1.x
branch still stay in place at least untilv3.0.0
is released.β Require PHP 7.1+ and recommend PHP 8.1+ #175 Time to upgrade! The new v3 will make use of newer language features, so we will upgrade to PHP 7.1+ as a minimum requirement (to run absolutely anywhere) and recommend PHP 8.1+ looking forward (Fibers).
β Type-Safe APIs with PHPStan on max level #178 #180 All our public APIs should use native type declarations to avoid invalid API usage and guide IDEs and static analysis tools.
Remove all optional loop parameters In order to introduce Fiber-based APIs and make our APIs easier to use, we're going to make the event loop entirely opaque and remove all optional loop parameters.
Upgrade to require EventLoop v3 All upcoming v3 components should require any other ReactPHP components from the same major version or above, so we can deprecate legacy versions in the future. May require upgrade to dev version prior to v3 release (reactphp/event-loop#271).
Prepare any remaining v1 releases Before tagging a v3 release, we should make a clear cut to ease upgrading. We should finish any v1 releases already prepared until v3 is ready.
Release reactphp/stream
v3.0.0
Planned around mid-2024, approaching our 12th birthday? To ensure a smooth release, we will coordinate the process across all our components.How you can help
We're optimistic to get the above things done in the near future, so this ticket aims to serve as a basic overview and is subject to change as we progress. For more details, see also the milestone links and any referenced tickets. If you have any additional input for ReactPHP v3, we invite you to join our discussion about the roadmap for the next major version.
Working on the next major version involves a lot of work and we're always looking for sponsors to allow us spending more time on ReactPHP. Check out ReactPHP's sponsors profile and consider supporting the ongoing development β€οΈ
We'll do our best to keep this ticket updated as we make progress. To keep things organized, let's try to limit the discussions in here and please use new tickets and discussions for input. Help us spread the word! We are excited to move forward together! π