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

Release 1.5 #534

Merged
merged 1 commit into from
Jul 24, 2024
Merged

Release 1.5 #534

merged 1 commit into from
Jul 24, 2024

Conversation

moodmosaic
Copy link
Member

@moodmosaic
Copy link
Member Author

hedgehog-1.5 package candidate. If all looks good to you, we can do the actual release any time.

@endgame
Copy link
Contributor

endgame commented Jul 24, 2024

While I haven't looked at all the details, the mass CI failures seem concerning.

@Vekhir
Copy link
Contributor

Vekhir commented Jul 24, 2024

The CI failures afaict result from the fact that hedgehog-quickcheck doesn't support hedgehog 1.5. Probably needs a version bump here and a corresponding revision.

@moodmosaic
Copy link
Member Author

@Vekhir, good catch, fixed and force-pushed. 👍

@Vekhir
Copy link
Contributor

Vekhir commented Jul 24, 2024

Not important, but is there is a reason why @sol doesn't become a link in the changelog?https://hackage.haskell.org/package/hedgehog-1.5/candidate/changelog

@Vekhir
Copy link
Contributor

Vekhir commented Jul 24, 2024

Right, it's markdown.
That's all from me.

@moodmosaic
Copy link
Member Author

moodmosaic commented Jul 24, 2024

@Vekhir, thanks, it has been fixed in both markdown and package candidate. Can you double-check?

@Vekhir
Copy link
Contributor

Vekhir commented Jul 24, 2024

Yes, has been updated in both.

@moodmosaic
Copy link
Member Author

hedgehog-quickcheck doesn't support hedgehog 1.5. Probably needs a version bump

Published new revision for hedgehog-quickcheck-0.1.1:

  • Changed the library component's library dependency on hedgehog from

    >=0.5 && <1.5
    

    to

    >=0.5 && <1.6
    

@moodmosaic
Copy link
Member Author

All comments addressed, all checks green. Shall we publish hedgehog-1.5? 👀

@moodmosaic
Copy link
Member Author

@moodmosaic moodmosaic merged commit 2d67134 into master Jul 24, 2024
28 checks passed
@moodmosaic moodmosaic deleted the release-1.5 branch July 24, 2024 13:51
@mitchellwrosen
Copy link

Hello all, just curious, are there any breaking changes in this release that motivated the major version bump? (I should also ask: does this package follow the PVP?)

Looking over the changelog, I'm not seeing any, but it's a little bit hard to tell. I got pinged by the Stackage maintainers to update the bounds in a few of my test suites, which I should only have to do if there has been a backwards-incompatible change. If not, in the future, a minor version bump under such circumstances would be greatly appreciated!

@endgame
Copy link
Contributor

endgame commented Jul 25, 2024

I'm speculating here, but it seems like the original author passed away not that long ago, and the new maintainers may be getting up to speed with things. A major version bump might have been the safest option to get things moving.

@moodmosaic
Copy link
Member Author

Thanks for reaching out. This was a complete oversight on my part, and I apologize.

@mitchellwrosen
Copy link

No worries @moodmosaic!

@sol
Copy link
Contributor

sol commented Jul 26, 2024

@mitchellwrosen @moodmosaic here is an other perspective:

  1. A breaking change is not only when the type of a function changes, but also when its behavior changes. 1
  2. For IO actions, the behavior also includes things like output to stdout.
  3. Programs are IO actions, and by extension the output of a program is part of its behavior.

Both #499 and #521 change the output of failing tests, and by extension not only change the behavior of programs that are constructed with hedgehog but also the behavior of exported IO actions and functions.

Now you could always label something as a "bug fix" and only do a minor or even patch level bump. But you can also acknowledge the fact that some people may rely on the output format and instead do a major version bump. There is no fixed rule here!

I don't want to offer specific recommendations, but I hope that we at least agree that the idea that "everything still compiles", so it's "not a breaking change" is inherently flawed.

Footnotes

  1. Mathematically, the type of a function only describes the domain and codomain, while the behavior of a function is akin to its image.

@moodmosaic
Copy link
Member Author

Thank you for sharing this insightful perspective on the nature of breaking changes, particularly regarding behavior and output in IO actions. I've sensed this too but never expressed it as well as you did. 💯

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

Successfully merging this pull request may close these issues.

5 participants