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

0.1.1 -> 0.1.2 is a breaking change #17

Closed
yannham opened this issue Aug 8, 2023 · 6 comments · Fixed by #18
Closed

0.1.1 -> 0.1.2 is a breaking change #17

yannham opened this issue Aug 8, 2023 · 6 comments · Fixed by #18

Comments

@yannham
Copy link

yannham commented Aug 8, 2023

Hi, and first thanks for the work on strip-ansi-escapes! We use it as a dependency of the Nickel programming language. However, the recent update from 0.1.1 to 0.1.2 broke our build in some situations. Indeed, this update changed the interface of the public method strip (which doesn't return a Result<_, _> anymore, but just a Vec<u8>).

Changing the interface of a public method is a breaking change, and mandates an update to 0.2.0, as per semantic versioning. I would advise to yank the 0.1.2 version and to release a 0.2.0 version with the same content as 0.1.2.

@jnicholls
Copy link

jnicholls commented Aug 8, 2023

I want to mirror my appreciation for your work on strip-ansi-escapes! Thank you.

FWIW, this breaks the compilation of junit-report which is a dependency of cargo2junit and how I discovered this breaking change.

The suggestion above from @yannham is absolutely correct and I appreciate your swift action on this @luser, thanks!

@sdroege
Copy link

sdroege commented Aug 8, 2023

FWIW, this also breaks compilation of everything that depends on the cargo crate.

smoelius added a commit to trailofbits/dylint that referenced this issue Aug 8, 2023
@aseure
Copy link

aseure commented Aug 8, 2023

Release 0.1.2 includes this PR #11 which seems to be the problematic one.

smoelius added a commit to trailofbits/dylint that referenced this issue Aug 8, 2023
sholderbach added a commit to sholderbach/strip-ansi-escapes that referenced this issue Aug 8, 2023
As mentioned in luser#17, luser#11 among other things changed the public API in
a way that causes failures to build.

Thus those changes should be released under the `0.2.0` version to not
break existing or new projects that don't lock the version to `0.1.1`.

To close luser#17, and stop churn for the ecosystem `0.1.2` would need to be
yanked as well.
@luser
Copy link
Owner

luser commented Aug 9, 2023

Sorry about that! I did not do the due diligence here. I just yanked 0.1.2, I'll merge #18 and publish 0.2.0 to get things back on track.

@luser luser closed this as completed in #18 Aug 9, 2023
@luser
Copy link
Owner

luser commented Aug 9, 2023

https://crates.io/crates/strip-ansi-escapes/0.2.0

bend-n added a commit to bend-n/panel that referenced this issue Aug 10, 2023
i thought rust semver said you can do anything before 1.0, why the yank and update from luser/strip-ansi-escapes#17
@philbucher
Copy link

Thanks for the quick fix, this is very much appreciated!

smoelius added a commit to trailofbits/dylint that referenced this issue Aug 10, 2023
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 a pull request may close this issue.

6 participants