Giter Club home page Giter Club logo

Comments (18)

Qix- avatar Qix- commented on May 29, 2024 20

Version 2.2.0 has been unpublished. We'll do a major bump sometime tomorrow.

Thanks for bringing this to our attention @ajwhite 👍

from ansi-styles.

hulbert avatar hulbert commented on May 29, 2024 13

So you are aware, unpublishing breaks builds that have used shrinkwrap to pin to 2.2.0.

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024 13

Post Mortem

2.2.0 was actually released on Feb 21. Some breaking changes that were finally merged (ref #13) were sitting in master until we wanted to do a major version bump. However these changes were inadvertently released in 2.2.0 when the next release should have been 3.0.0 (minor bump instead of a major bump).

Since chalk wasn't affected by the otherwise breaking changes (this was by-design), but other projects that use ansi-styles might have been, the breaking release 2.2.0 went unnoticed until now.

This is also due to the fact the 'breaking' changes were not buggy code, but intentional changes meant for a major version bump, hence why tests still passed on Travis and thus why we were not notified of any breaking CI runs.

As Sindre mentioned, we went ahead and still did a 2.2.1 patch release despite the unpublishing of 2.2.0, for those users that had already bumped their package.json dependencies to ^2.2.0.

We acknowledge that the unpublishing of the broken version was unnecessary and a patch release would have been the preferable solution.

The root issue has been addressed internally (unrelated: externally, too) and won't be happening again in the future.


Maintainers that are facing errors related to ansi-styles after fixing broken code from the 2.2.0 release (i.e. users that upgraded to 2.2.0 and modified their code to use the new API) can do one of two things:

  • wait for the 3.0.0 release (your code should work when this happens)
  • temporarily change your dependency to "dependencies": {"ansi-styles": "chalk/ansi-styles"}

All other users experiencing errors related to ansi-styles should clear out their node_modules/ directory and re-run npm install - the problem should resolve itself.

We also recommend updating your dependencies to specify ansi-styles@^2.2.1, though this shouldn't be required.


If you use shrinkwrap, refer to #17.


For any other issues, you are definitely welcome to open a new ticket and I will personally see to it that it's handled in a timely manner.

Sorry again to anyone affected by this!

from ansi-styles.

bradvogel avatar bradvogel commented on May 29, 2024 6

PLEASE don't unpublish! This causes disasters downstream. NO, NO!

from ansi-styles.

laurelnaiad avatar laurelnaiad commented on May 29, 2024 4

unpublishing breaks a lot of things, though it was necessary in this case I believe

Why was it necessary? Why not publish the version you intended at 2.2.1, and let everybody move forward? If they're referencing a broken 2.2.0 then they can update. I'm not trying to be a PITA about it, just curious where the necessity of unpublishing comes in as opposed to just publishing 2.2.1.

from ansi-styles.

laurelnaiad avatar laurelnaiad commented on May 29, 2024 3

the dancer emoticon should be bigger so we can see her fabulous red dress

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024 2

@laurelnaiad you're correct. Sindre and I discussed it more after the fact and we agree that a patch would have been better. A lesson for the future 👍

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024 1

ninja-fail_o_588896

from ansi-styles.

laurelnaiad avatar laurelnaiad commented on May 29, 2024 1

... and remember to do the same with jspm if you're using it, where this was hitting our project

jspm cache-clear

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024

Yeah this should have been a major release....

Either use 2.1.0 (specific semver version) or wait until Sindre can deprecate this and re-publish as a major version bump.

// @jbnicolai

from ansi-styles.

atticoos avatar atticoos commented on May 29, 2024

Thanks for the quick recovery!

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024

@hulbert unpublishing breaks a lot of things, though it was necessary in this case I believe. Our next release will be 3.0.0 anyway.

Would you or @sindresorhus be willing to write some steps on how to fix the shrinkwrap issue if others are facing it? I've not used shrinkwrap personally.


Sorry if this inconvenienced anyone.

from ansi-styles.

sindresorhus avatar sindresorhus commented on May 29, 2024

@hulbert The 2.2.0 version was broken. So I don't really see how not unpublishing would have helped when it's pinned?

from ansi-styles.

sindresorhus avatar sindresorhus commented on May 29, 2024

Reopening for discovery.

I did a 2.2.1 patch release with the content of the old 2.1.0, just in case someone already upped it to ^2.2.0.

from ansi-styles.

laurelnaiad avatar laurelnaiad commented on May 29, 2024

Ok, it's not a big deal, just wanted to understand. Thanks! :)

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024

Thanks for the feedback 💃

from ansi-styles.

tlrobinson avatar tlrobinson commented on May 29, 2024

Seriously, unpublishing should be reserved for exceptional cases. I'm not sure how you thought this was a good idea less than a week after the left-pad incident. I don't even know which of my dependencies uses this package, but it was working just fine until you unpublished 2.2.0.

from ansi-styles.

Qix- avatar Qix- commented on May 29, 2024

@tlrobinson We didn't unpublish the module, just that particular version. Quite different. It also wasn't working just fine. Chalk was working, sure - but that was because the breaking changes were designed to be compatible with how chalk was already using it.

However, some packages that used ansi-styles directly were broken.

We now know a patch version would have been the better alternative. However, we didn't know the extent of breaking that had been released until after the fire was contained. At the time, unpublish seemed like the correct course of action.

@bradvogel We're aware. 👍 Thank you!


If you're still facing issues after referring to the post-mortem, please open a new ticket.

I'll see to it personally that it is resolved quickly.

from ansi-styles.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.