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

feat: deprecate webrtc and quic features in libp2p crate #3580

Merged
merged 12 commits into from
Mar 21, 2023

Conversation

thomaseizinger
Copy link
Contributor

@thomaseizinger thomaseizinger commented Mar 10, 2023

Description

We currently expose libp2p-quic and libp2p-webrtc as submodules from the libp2p crate despite those only being "alpha" status. This causes problems because we need to pin those dependencies due to cargo automatically upgrading alphas (which are allowed to incur breaking changes as per semver spec). Additionally, exposing these modules practically hides the "alpha" state of those modules, rendering it kind of obsolete.

The "alpha" state is still true for those modules, thus to properly communicate this to users, we deprecate the modules and require users to spell out the dependency and the alpha version in their manifest.

Notes & open questions

This is a breaking change and thus a draft for now. We could also deprecate them first and thus release this instantly. What do you think @mxinden ?

Change checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • A changelog entry has been made in the appropriate crates

@thomaseizinger thomaseizinger marked this pull request as draft March 10, 2023 10:29
@thomaseizinger thomaseizinger added this to the v0.52.0 milestone Mar 10, 2023
libp2p/Cargo.toml Outdated Show resolved Hide resolved
@thomaseizinger thomaseizinger changed the title feat: remove tls, webrtc and quic features from libp2p crate feat: remove webrtc and quic features from libp2p crate Mar 11, 2023
@thomaseizinger thomaseizinger force-pushed the feat/remove-webrtc-quic-tls branch from 9a76666 to 830528b Compare March 11, 2023 10:12
@thomaseizinger thomaseizinger marked this pull request as ready for review March 11, 2023 10:13
@thomaseizinger thomaseizinger removed this from the v0.52.0 milestone Mar 11, 2023
@thomaseizinger
Copy link
Contributor Author

@mxinden I now changed this to deprecate instead of remove the modules which allows us to release this as non-breaking change. Hopefully, this contributes to lessen the problems we have with these alphas.

@thomaseizinger thomaseizinger changed the title feat: remove webrtc and quic features from libp2p crate feat: deprecate webrtc and quic features in libp2p crate Mar 11, 2023
@mergify
Copy link
Contributor

mergify bot commented Mar 13, 2023

This pull request has merge conflicts. Could you please resolve them @thomaseizinger? 🙏

Copy link
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am in favor of this, minus the small comment below.

libp2p/CHANGELOG.md Outdated Show resolved Hide resolved
@thomaseizinger
Copy link
Contributor Author

I am removing the dependency on #3615. Based on #3386 (comment), I am assuming that @mxinden is in favor of the new changelog syntax so I am using this here and we can iterate on the exact wording in #3615 after that.

@mergify
Copy link
Contributor

mergify bot commented Mar 21, 2023

This pull request has merge conflicts. Could you please resolve them @thomaseizinger? 🙏

@mergify mergify bot merged commit ab9555c into master Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants