What's Changed
- fix: upgrade undici to 7.29.0, 8.9.0 (CVE-2026-13697) by @anupamme in #2326
- fix: sync package-lock with undici 7.29.0 bump by @jackwener in #2361
- docs: fix broken star history chart by @OctoBored in #2301
- fix(weixin): recover draft cover uploads by @jackwener in #2362
- feat(bilibili): add --top to fetch pinned comments by @henrycjchen in #2106
- fix(xiaohongshu): harvest search rows during scroll instead of first/last screen union by @sleepyy-dog in #2349
- refactor(sinafinance): use rolling news API by @jackwener in #2365
- chore(xiaohongshu): share evaluate unwrap helper by @jackwener in #2363
- feat(zhihu): preserve comment reply threads by @wuyak in #2306
- feat(zhihu): export answers with local images by @wuyak in #2304
- fix(xiaohongshu): recover from collapsed masonry render by reopening in a fresh tab by @sleepyy-dog in #2355
- feat(jira): add custom field support by @du00cs in #2289
- feat(minimax): add music-generation adapter with global and China endpoints by @octo-patch in #2290
- feat(bilibili): add creator analytics adapter by @ele-yufo in #2268
- feat(xiaohongshu): add search filter panel options (--sort/--note-type/--publish-time/--scope/--location) by @xemaya in #2276
- feat(twitter): intercept complete followers timeline by @jackwener in #2380
- fix(notebooklm): support redirected domain by @lingjiuu in #2228
- fix: declare the Node >=20.18.1 floor that undici 7.x already requires by @jackwener in #2381
- fix(twitter): read current following follower counts by @jackwener in #2382
- feat(xiaoyuzhou): add playback history by @lmmsoft in #2260
- fix(jike): reject anonymous read sessions by @jackwener in #2384
- feat(execution): support OPENCLI_SITE_SESSION env default for adapter site sessions by @GabrielDrapor in #2221
- feat(youtube): paginate authenticated watch history by @jackwener in #2386
- fix(youtube): paginate search results by @jackwener in #2387
- fix(midjourney): always poll job history at least once before timing out by @jackwener in #2383
- chore: npm audit fix for dev-dependency advisories by @jackwener in #2378
- feat(pixiv): add novel commands by @b1llow in #2112
- fix(trip): repair flight extraction — dropped font-black class emptied every row by @yisiliu in #2385
- fix(nowcoder): distinguish content and moment posts by @aolast in #2218
- fix(ctrip): read structured flight results by @jackwener in #2393
- feat(jike): use structured APIs for search and notifications by @jackwener in #2394
- fix(linkedin): make sent invitations and thread snapshots accurate by @jackwener in #2395
- docs(skill): add evidence-first Deep Recon workflow by @jackwener in #2398
- feat(gmail): add browser-backed Gmail adapter by @jackwener in #2396
- fix(output): keep markdown rows intact for multi-line cells by @jackwener in #2375
- fix(browser): preserve structured network captures by @jackwener in #2406
- chore: shrink convention-audit baselines to current findings by @jackwener in #2377
- chore(pack): exclude test files and fixtures from npm package by @bytemain in #2410
- chore(pack): prune @mixmark-io/domino's vendored test suite on install by @bytemain in #2411
- feat(dribbble): add browser adapter commands by @jiejia in #2403
- fix(dribbble): distinguish empty states from selector drift by @jackwener in #2423
- fix(pipeline): reject invalid concurrency limits by @hiSandog in #2407
- fix(runtime): honor OPENCLI_CDP_ENDPOINT for web adapters by @axxop in #2148
- fix(errors): duck-typing for cross-package CliError in toEnvelope by @omnisurge in #2388
- fix(xiaohongshu): retry once through a cooldown on risk-control soft blocks (#1825) by @LeoLin990405 in #2207
- fix(linux-do): use current session for whoami by @zhuxiucai in #2397
- fix(xiaohongshu): stop ask breaking on webpack chunk renumbering, and stop it spending a note search per call by @vecyang1 in #2420
- harden: sanitize child_process call in spotify.js... by @anupamme in #2318
- chore: release v1.8.8 by @jackwener in #2440
New Contributors
- @anupamme made their first contribution in #2326
- @OctoBored made their first contribution in #2301
- @sleepyy-dog made their first contribution in #2349
- @wuyak made their first contribution in #2306
- @du00cs made their first contribution in #2289
- @octo-patch made their first contribution in #2290
- @xemaya made their first contribution in #2276
- @GabrielDrapor made their first contribution in #2221
- @b1llow made their first contribution in #2112
- @yisiliu made their first contribution in #2385
- @bytemain made their first contribution in #2410
- @jiejia made their first contribution in #2403
- @axxop made their first contribution in #2148
- @omnisurge made their first contribution in #2388
- @zhuxiucai made their first contribution in #2397
- @vecyang1 made their first contribution in #2420
Full Changelog: v1.8.7...v1.8.8