-
Notifications
You must be signed in to change notification settings - Fork 335
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
v2.0 upgrade path #532
Comments
Can you say more about why that’s important? I feel that it’s more important that a future breaking change in
Useful to do what? Were they (in 1.x) really the appropriate ones for your use case? |
Perhaps it's not? I was vaguely worried that something like reqwest could see strange skew because it uses Most of my concern stemmed from the fact that it seemed like Anyway, seems perfectly reasonable to have them decoupled. My concern here is totally solved with the upgrade guide!
Well, cookie was using |
@SimonSapin In all honestly I believe that you should re-export your dependencies for user to access it so that both would use the same version without need to manually check which version one should use. |
@benesch I’m hoping this removal will be a nudge to check if that’s the right thing to do. @DoumanAsh I very much disagree, for the reason given above. |
Add an upgrade guide for v2.0. Extracted from #534, with review feedback addressed. This variant omits the changelogs in an effort to introduce less of a maintenance burden. Fix #532. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-url/536) <!-- Reviewable:end -->
First of all, thanks for maintaining this crate! Maintaining an open source project can be thankless work, and especially so when it's a foundational crate like this one.
I recently embarked on upgrading reqwest to url v2.0 (seanmonstar/reqwest#583), and ran into some roadblocks. These roadblocks would have been greatly eased if this crate maintained a changelog or release notes. (If it does, and I've just missed it, apologies! But it's awfully hard to find in that case.) It's very hard to figure out what's changed when upgrading across backwards-incompatible changes without a changelog.
The commit messages don't do a great job of explaining rationale, either. Here's a quick example: fe74a60. Why were the public exports of percent_encoding removed? It's no longer clear to me how to ensure that the version of
percent_encoding
I'm using matches the version used byurl
. I poked at the PR description (#517), too, and it's no more helpful in explaining the rationale. There's a brief mention of the work item in the 2.0 tracking issue (#463), but again doesn't present rationale.The upgrade guide for 0.1 -> 1.0, by contrast, is fantastic! I'd like to put one together for 1.0 -> 2.0, but I'll need some help to do so.
Some other issues that could use explaining:
PATH_SEGMENT
and other percent encodingAsciiSet
s #529;I'd also like to specifically gripe about the removal of
ToSocketAddr
. I've now reimplemented that code poorly—because I wasn't sure how to do it properly—twice [0] [1] and @SimonSapin reimplemented it at least once [0]. If we figure out a way to providewith_default_port
with less API surface, can we bring it back?The text was updated successfully, but these errors were encountered: