-
Notifications
You must be signed in to change notification settings - Fork 29
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
Tag a v1.0.0 version #64
Comments
I didn't even think this package was still used. Most URI parsing I've seen done just uses what's in HTTP.jl. |
I'm using it a lot: it is small, does what it is supposed to do, doesn't come with many dependencies and doesn't have code churn that I need to deal with. Perfect for our use cases. I appreciate HTTP.jl, but I shouldn't have to take a dependency on such a big package if all I want to do is parse a URI. Should I open a PR that migrates this to Project.toml and increases the version to 1.0.0? |
So, for example the whole VS Code extension uses this a lot. And we couldn't use HTTP.jl because we can't take dependencies that have a |
HTTP's URI parsing code has seen more recent development than this has, so I think that should be migrated here, then HTTP can just take a dependency on this package to do URI parsing. |
I've talked w/ @StefanKarpinski a bit about being able to register a new package from the same repo of a "parent" repo; in this case, the |
Is the URI code in HTTP.jl backwards compatible with the API provided by URIParser.jl? In that case I would be in favor of just moving the code from HTTP.jl into URIParser.jl. If not, I would think the best solution would be to create a new URIs.jl package. I'm not a fan of something like having the code live in the HTTP.jl repo, but exposing it as a different repo. None of the tooling supports this, it would confuse the heck out of people that want to contribute to the package (everyone is used to the workflow of one repo per package) and what exactly would be gained? Wouldn't it be by far the easiest option to simply create a URIs.jl package the normal way? |
The tooling is indeed meant to support this (though doesn't currently). I also would argue that it would be less confusing for users w/ issues or would-be contributors. Previously, a user/contributor had to understand the nuance of the webstack and know whether an issue should be reported to Requests.jl, HttpServer.jl, URIParsers.jl, HttpCommon.jl, etc. That led to significant duplication of issues and was a main driver behind consolidating the webstack code in HTTP.jl. Another fact contributing is that there frankly aren't a ton of web contributors, so having things consolidated and centralized at least help those few of us who do contribute to manage things. Now, all that said, I do think it would still be worth splitting out URIs.jl and Servers.jl into their own, stand-alone packages/repos separate from HTTP.jl. They represent distinct enough modules that I think the separate makes sense. |
I don't have an opinion about the rest of HTTP.jl, but it seems for the What are arguments for starting a new URIs.jl repo vs. continuing to use URIParser.jl? |
I think I'm in favor starting a new repo, marking URIParser.jl as deprecated, and letting people switch over naturally; though it takes a bit of time to get people to switch over, I feel like it's the least disruptive. |
Bump, it would still be wonderful if we could move the URI stuff out of HTTP.jl and into an URIs.jl package. I took a quick look and I think it is a bit too intertwined with other stuff in HTTP.jl for me to do this, but for someone familiar with the HTTP.jl codebase this might all be fairly simple? I think naming the new package URIs.jl, as @quinnj suggested above, is the best option. And then hopefully it can move into the stdlib at some point. |
Could we tag a version 1.0.0?
That would make it much easier for packages that depend on this one here to use semver compat bounds in Project.toml. The problem is that pre 1.0.0, every minor update is considered breaking, whereas starting with 1.0.0 one can use the full semver semantics, which make everything easier.
Also, it seems that this package is so widely used with the current API, that one might as well declare what we have as stable and done, right?
The text was updated successfully, but these errors were encountered: