Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap to reactphp/dns v3 #219

Open
clue opened this issue Feb 7, 2024 · 0 comments
Open

Roadmap to reactphp/dns v3 #219

clue opened this issue Feb 7, 2024 · 0 comments
Milestone

Comments

@clue
Copy link
Member

clue commented Feb 7, 2024

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 DNS v3

  • Create 3.x branch #220
    Once this is created, we can start working on the new v3.0.0 milestone. The default branch will be 3.x and the previous 1.x branch still stay in place at least until v3.0.0 is released.

  • Require PHP 7.1+ and recommend PHP 8.1+ #222
    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 #225
    All our public APIs should use native type declarations to avoid invalid API usage and guide IDEs and static analysis tools.

  • 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 & Cache 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/cache#56).

  • Release reactphp/dns 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! 🚀

@clue clue added this to the v3.0.0 milestone Feb 7, 2024
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Feb 8, 2024
Once this PR is merged, we can start working on the new [v3.0.0 milestone](https://github.com/reactphp/dns/milestone/33). The default branch will be `3.x` and the old `1.x` branch still stay in place at least until `3.0.0` is released.

Refs:
Road map ticket for DNS: reactphp#219
Plans for ReactPHP v3: https://github.com/orgs/reactphp/discussions/481
PR templated from: friends-of-reactphp/mysql#185
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue May 27, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue May 27, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 5, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 14, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this issue Jun 14, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant