-
Notifications
You must be signed in to change notification settings - Fork 366
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
Address cached references to old versions in the Go module proxy #17
Comments
Did you already file an issue via https://golang.org/s/pkgsite-feedback for that? Because I am not quite sure if removing it from the pkg site also removes it from the go mirror, etc. What could also work is to retract the two versions: https://blog.golang.org/go116-module-changes#TOC_5. But I think this probably Is only going to work on Go 1.16. Not a good start :( |
As can be seen in #23 module retraction is in no way backwards compatible... |
Sorry for the fragmented thoughts and posts here... With all the information available currently, I would propose the following action plan Step 1: Remove
|
I created an issue, but it'll likely be closed. golang/go#46440 Since users would need to modify their import paths anyways couldn't we do the following:
Then v3 becomes the drop-in replacement for dgrijalva/jwt-go
|
Or, as mentioned above .. just drop module support altogether for |
Both ways work I guess. Somehow I have the feeling that going the |
@oxisto Okay, that sounds like a plan. A slight tangent, I always try and avoid SIV as much as possible. There was an interesting proposal here to make it optional: golang/go#44550 |
As discussed in full length here (#17), we have run into issues that forces us to abandon go modules, at least for the `v3.x.x` releases. After this is merged in, we can release a `v3.2.1+incompatible` version, which contains a security fix. Afterwards, we will work on non-breaking quality of life fixes and then eventually run a `v4` version, which most likely will then support go modules and have a new SIV-style import path.
Should we set ourselves a "deadline" how long we should wait for a reaction from the Go team? |
Arbitrarily, say by Jun 2? It's not a full blocker so its better to get a stable release with an updated README describing what this repo is and how one might migrate from Even if we have to adopt SIV or continue with Another thought, the checksum db will always have those versions.. so now that I'm thinking about it, even if it is removed from the proxy it will likely cause issues if those versions are used again (but different hashes). So for the sake of accuracy and security maybe we continue with the exact versions from |
Sounds reasonable and yes the checksum thing might create a problem anyway, so I think going the |
Alright, unless any objections.. I say we continue with our plan assuming the latest tagged version is To recap
|
* Removing `go.mod` for the v3-release branch As discussed in full length here (#17), we have run into issues that forces us to abandon go modules, at least for the `v3.x.x` releases. After this is merged in, we can release a `v3.2.1+incompatible` version, which contains a security fix. Afterwards, we will work on non-breaking quality of life fixes and then eventually run a `v4` version, which most likely will then support go modules and have a new SIV-style import path. * Cloning into $GOPATH for GitHub actions
Did you have a chance to look at #27? I am trying to put some additional documentation on this, afterwards we can release |
Will take a look today @oxisto .. would you happen to know how to "re-import" all the existing tags? Since the git history is the same (and this repo is a superset of all the git history), I'd imagine pulling the old repo, pointing at the new location and just pushing the tag refs. But need to test this when I get a chance. |
Thanks!
That would have been my approach as well, yes. |
@oxisto I've pushed all existing tags except the Now this repo has a 1:1 mirror with all the existing tags from dgrijalva/jwt-go. So once #27 is merged we can cut a |
Done. I think you can go ahead and release it, we gave enough time for objections. |
Thanks @oxisto I don't have bandwidth at the moment to write a proper But the tag is there so this repo is patched and ready to be consumed afaics. https://github.com/golang-jwt/jwt/releases/tag/v3.2.1 |
Unfortunately the Go module proxy (i.e., mirror) cached 2 versions:
https://pkg.go.dev/github.com/golang-jwt/jwt?tab=versions
When a user does a
go get github.com/golang-jwt/jwt
it will download the following version:Whereas it should import the correct one (based on latest commit on
main
)If we cannot get those 2 versions removed from the proxy, we'll have to go with plan B... add a /v3 and tag a
v3.2.1
The text was updated successfully, but these errors were encountered: