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

Why not release 2.0.0?, all our repos are breaking without warning #4084

Open
huangduo-myob opened this issue Sep 11, 2024 · 4 comments
Open

Comments

@huangduo-myob
Copy link

No description provided.

@huangduo-myob huangduo-myob changed the title Why not release 2.0.0, all our repos are breaking without warning Why not release 2.0.0?, all our repos are breaking without warning Sep 11, 2024
@wartab
Copy link

wartab commented Sep 13, 2024

Cheerio was in RC, meaning it can change as it wishes until the official release. Pinning dependencies is crucial and especially crucial when using experimental packages.

@tswaters
Copy link

tswaters commented Sep 21, 2024

Maybe I'm missing something here, but rc12 is completely different to how the bundle looks from 1.0, and how it's consumed..... It goes from a "lib" directory with transpiled code (looks like es5 target, but I could be wrong) -- into type=module, a "dist" directory with js files having "import/export" statements..... and, "1.0.0" is an in-range update of "^1.0.0-rc.12"

For my two cents, I ran an npm update and jest started screaming at me about unexpected export syntax and failed all my tests. Anyone who is using enzyme in their scripts with jest and runs an npm update now has broken tests on their hands.... with npm8, adding the following to package.json will help -- at least until the dust settles and the ecosystem catches up:

+  "overrides": {
+    "enzyme": {
+      "cheerio": "1.0.0-rc.12"
+    }
+  },

I agree with OP. Publish 1.01 as an alias of 1.0.0-rc.12, deprecate 1.0.0, and publish whatever cheerio is today as 2.0

@stanleyxu2005
Copy link

stanleyxu2005 commented Oct 5, 2024

I am super excited and appreciate cheerio reaches a new milestone.

Cheerio 1.0 is out! After 12 release candidates and just a short seven years after the initial 1.0 release candidate, it is finally time to call Cheerio 1.0 complete. ...

Indeed. Normally a release candidate version should not introduce new breaking changes. And release candate version should just hold a small period of time, not 7 years....

It will be great, if it is possible to

  1. re-publish a version after rc12 without new breaking changes and
  2. release a v2.0 as well.

@derwaldgeist
Copy link

Same issue here. In my case, the changes broke our rollup compilation with super-weird issues (something pointing to the parsing of code tables). It took me hours to track down the root issue:

Another dev of our team had added ^1.0.0-rc2 to their repo, with a pinned package-lock.json.
This worked fine, until I copied that dependency to another repo, when re-using said code, and did not have a package-lock.json containing the pinned down version. And bam, it broke the whole build process.

I can understand that a RC might still contain breaking changes. But if they are so fundamental, this can really break things unexpectedly. BTW: I wasn't aware until this point that a -rc2 prefix will automatically be resolved to the released version once it gets published.

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

No branches or pull requests

5 participants