Skip to content
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

v1.5.0 is a breaking change #56

Closed
m90 opened this issue Sep 30, 2021 · 3 comments
Closed

v1.5.0 is a breaking change #56

m90 opened this issue Sep 30, 2021 · 3 comments
Labels
help wanted v2 Roadmap to v2.0.0

Comments

@m90
Copy link
Contributor

m90 commented Sep 30, 2021

Please describe your issue

In v1.4.0 one could use a Po instance like this:

po := gotext.Po{}
po.Parse(b)

After upgrading to v1.5.0 this panics:

panic: NewPo() was not used to instantiate this object

and one has to use:

po := gotext.NewPo()
po.Parse(b)

instead.

This was introduced in 01a5eea

Is this a bug, an improvement, a proposal or something else? Describe it.

Following Semver this is a breaking change and would need to be released as v2.0.0.
I am aware Go modules make releasing a v2 very painful so I don't know if it's worth it. Could the previous behavior potentially be kept intact after the change?

Comments

The "migration" needed here is relatively simple and comes with a good error message, so I don't face any real problems here. The issue is mostly for making it visible for others who might run into the same problem.

@m90 m90 changed the title v1.5.0 is a breaking changes v1.5.0 is a breaking change Sep 30, 2021
@leonelquinteros
Copy link
Owner

@m90 As you said, releasing a v2 for a low maintenance project is not an option for me now. That's the reason we're using the minor versioning number to include breaking changes during v1.
I guess after we decide to make the jump to v2, v3, v4, vN will follow quickly and also not sure that's something we want to do and maintain.

I'll leave this issue open, just in case somebody wants to work on it.

@leonelquinteros leonelquinteros added help wanted v2 Roadmap to v2.0.0 labels Sep 30, 2021
@mfcochauxlaberge
Copy link

Upgrading to v1.5.0 broke my code and I now need to fix it. It's not the end of the world and I appreciate the effort to provide this nice library.

But I wished semantic versioning was respected. It exists for a reason. If you the maintainer won't commit to a stable API under the v1 release, then staying at v0 is probably a better option. Moving up to v2, v3, v4 is not ideal like you said, but still better than randomly breaking people's work.

@leonelquinteros
Copy link
Owner

Hi @mfcochauxlaberge ,

I understand your frustration, I hope you're able to recover fast from this incident.

As you said, at this point we realise that staying at v0 would have been a better choice, but now it's late for that.

I totally accept contributions for moving to v2, but nobody wanted to take the task, and now it would not make any difference for your use case, as v1.5.0 is already out there, but in future releases I will totally take this into account.

Thanks for sharing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted v2 Roadmap to v2.0.0
Projects
None yet
Development

No branches or pull requests

3 participants