-
Notifications
You must be signed in to change notification settings - Fork 60
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
1.10.0 has breaking changes #99
Comments
And to be clear, for this specific change, I doubt it will break production code (I hope no one is using |
Can confirm that we use mocking as well where we construct a Specifically also interested if this is planned to stay as such and that we should update the test suite, or that this is considered too much of a breaking change and it's reverted. In that case it's easier to wait for a changed release instead of updating the test suite immediately. |
Yeah, that is correct. The biggest issue in release a version 2 with this gem, is that the Go version follows along the versioning, and when releasing a go package with v2, we would have to update all the imports out there to include the An potential fix for folks that want to use the latest version of the gem, and can't do a full replace on the new signature would be:
Or something like that, and do a full replace of I will definitely add a comment on the release notes for this case. |
I think this is the key here, since this makes it significantly harder to maintain semantic versioning. Since any change in any language means a new major for all languages. Maybe it's better to decouple this / let this go? And only do major bumps when the version actually needs to change for the specific language? Not sure what other things would depend on having cross language same versions? |
@dbussink that is a very good point.
That is the only thing that have prevented me from doing it yet. I am not sure if there is any dependency on the cross lang versioning, and if there will be any complications. |
I ran into this issue also 😞 a major version bump or warning in the CHANGELOG would have been helpful Separately, after struggling a bit with rspec mocks + twirp, I wrote https://github.com/dpep/webmock-twirp to make testing easier. It stubs twirp requests / responses at the network level, thus side stepping this issue of mocking ClientResp and preserving all the type checking goodness of twirp/protobuf. Let me know what you think. |
Since this has been open for 9 months and we're on a |
This PR #82, which was released in 1.10.0, introduced a breaking change and should have warranted a major version bump. Namely, the method signature of
ClientResp#initialize
was changed in a incompatible way (from positional arguments to keyword arguments).I'm not sure what the path forward here is. Could revoke 1.10.0 (and re-release as 2.0.0), or add a warning and ask downstreams to pin to
<= 1.9
...I appreciate it had been quite awhile since a release, and these things happen :) There may be other breaking changes, but that is one I noticed.
The text was updated successfully, but these errors were encountered: