Roadmap to reactphp/http v3
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 20/100
Piste de recherche
Start with this roadmap ticket, the v3.0.0 milestone, and the referenced ReactPHP component issues to understand the remaining work. Done means completing the outstanding v3 roadmap items, coordinating the component upgrades, and releasing reactphp/http v3.0.0.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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 HTTP v3
-
✅ Prepare any remaining v1 releases v1.10.0, v1.11.0
There are still some outstanding features important for both HTTP v1 and v3. To avoid doubling the work and to create a clear cut to ease upgrading, we should finish any v1 releases before creating the3.xbranch. -
✅ Create
3.xbranch #527
Once this is created, we can start working on the new v3.0.0 milestone. The default branch will be3.xand the previous1.xbranch still stay in place at least untilv3.0.0is released. -
✅ Drop deprecated APIs #528, #529
All APIs marked as@deprecatedin v1 will be removed in v3. Each occurrence should have a clear upgrade path described. -
✅ Require PHP 7.1+ and recommend PHP 8.1+ #530
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
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. -
Blocking APIs and async APIs
We will rename the existing async APIs and then add new synchronous APIs using the previous names. This means you get the best of both worlds and can use whichever style works best for your use case. Each change will have a clear upgrade path described. -
Upgrade to require EventLoop, Promise, Stream & Socket 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, reactphp/stream#173, reactphp/socket#312). -
Release reactphp/http
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! 🚀
- Langage dominant
- PHP
- Étoiles
- 781
- Forks
- 166
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de reactphp/http
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 76/100
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
-
new feature
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
-
help wanted new feature
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
new feature
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Toutes les issues de reactphp/http
Issues similaires
-
sync-en
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
-
sync-en
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
-
Перевод устарел
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
-
[6.x]: "Cannot use object of type stdClass as array" loading Users index (regression of #19182) Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100