-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Can't upgrade to version 2.0.5 #812
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
Comments
@bcmills Any way to fix this issue without make v2 ? |
remove go.mod and go.sum files. so go get don't think that this go modules enabled repo and follow tags as usual |
IMHO you should change the import path because that is the intended way of using go modules. Removing all traces of go mod often causes problems when used in go mod packages. More info: https://blog.golang.org/v2-go-modules |
@mattn, you could resume (Semantic import paths are, by design, not optional.) |
@bcmills However, I have already released v2.0.0 or a newer version in a manner that is consistent with the semantic version. Can users of my module easily upgrade to v1.14.0? |
Yes. (See the release note linked above for details.) |
Thank you. |
Hmm, I still not really understand. My opinions are:
Users who already upgraded to v2.X.X can get back to v1.14.X ? BTW, If I move this repository into another places, Am I possible to restart to make version v0.0.1 ? |
You don't need to create a Why don't you want to modify Upgrading is still easy, users will need to modify their usages in import paths, yes, but that's by design. Usually major version changes mean breaking changes which force users to do changes in their code. Therefore, if users need to change the import path everywhere they will see and modify the usages of the package. |
If you're willing to use a brand new module path, then it's possible. GORM v2 just did it. Its author transferred the project from his personal account to the go-gorm/gorm, and maintained the original project jinzhu/gorm as a fork. By doing so, he can keep existing users from being broken. And, most importantly, he can safely clear all tags and start over with a brand new module path BTW, I just saved you the GitHub username go-sqlite3, I can transfer it to you if you want. :-) |
Because the users that uses go-sqlite3 won't notice new v2 or v3. When did use v1.X.X, I could provide way to upgrade easily. |
But if you're releasing v2 that means breaking changes. Therefore your users will need to touch their application if they want upgrades. That's the whole point of semantic versioning. If you release a v2 without breaking changes, it's not a v2 and should not be released as one. How hard or easy you make it for users to adopt the new version depends on you. Right now, it is hard because the module does not play with the go mod ecosystem which makes it impossible to use the new version in any go mod project. |
@mattn, you can satisfy most of your requirements by tagging the next release as However, in order for users who already depend on |
I pushed new tag v1.14.0 now. So we should be possible to upgrade go-sqlite3 as @bcmills mentioned. Thanks. |
If you still have an issue, please file new issue. Thanks. |
I can't upgrade to version 2.0.5 on go 1.14:
I suspect this is because go-sqlite3 does not respect the go module semantic versioning path.
I'll try to send a fix.
Related: golang/go#35732
The text was updated successfully, but these errors were encountered: