v1.0.0
Cheerio 1.0 is here! ๐
Announcement Blog Post
Breaking Changes
-
The minimum NodeJS version is now 18.17 or higher https://github.com/cheeriojs/cheerio/pull/3959
-
Import paths were simplified. For example, use
cheerio/sliminstead ofcheerio/lib/slim. https://github.com/cheeriojs/cheerio/pull/3970 -
The deprecated default Cheerio instance and static methods were removed. https://github.com/cheeriojs/cheerio/pull/3974
Before, it was possible to write code like this:
import cheerio, { html } from 'cheerio'; html(cheerio('<test></test>')); // ~ '<test></test>' -- NO LONGER WORKSMake sure to always load documents first:
import * as cheerio from 'cheerio'; cheerio.load('<test></test>').html(); -
Node types previously re-exported by Cheerio must now be imported directly from (
domhandler)(https://github.com/fb55/domhandler). https://github.com/cheeriojs/cheerio/pull/3969 -
htmlparser2 options now reside exclusively under the
xmlkey (https://github.com/cheeriojs/cheerio/pull/2916):const $ = cheerio.load('<html>', { xml: { withStartIndices: true, }, });
New Features
- Add functions to load buffers, streams & URLs in NodeJS by @fb55 in https://github.com/cheeriojs/cheerio/pull/2857
- Add extract method by @fb55 in https://github.com/cheeriojs/cheerio/pull/2750
Fixes
- Allow imports of
cheerio/utilsby @blixt in https://github.com/cheeriojs/cheerio/pull/2601 - Allow empty string in
data, and simplify by @fb55 in https://github.com/cheeriojs/cheerio/pull/2818 - Make
closestbe able to start from text nodes by @Qualtagh in https://github.com/cheeriojs/cheerio/pull/2811 - Fix potential github action smells by @ceddy4395 in https://github.com/cheeriojs/cheerio/pull/3826
Other
- Cheerio has a new website, featuring updated API docs and guides! https://github.com/cheeriojs/cheerio/pull/2950
Full Changelog: https://github.com/cheeriojs/cheerio/compare/v1.0.0-rc.12...v1.0.0