Releases: jackwener/opencli
Releases · jackwener/opencli
v1.4.1
What's Changed
- ci: add cross-platform E2E and smoke test support (Linux/macOS/Windows) by @ByteYue in #411
- chore: release v1.4.0 by @jackwener in #413
- feat(extension): Chrome Web Store readiness — popup UI, privacy policy, CSP by @jackwener in #415
- feat: add filter option for twitter search by @stormslowly in #410
- feat: add url field to 9 search adapters (67% -> 97% coverage) by @AllenS0104 in #414
- feat(douyin): add Douyin creator center adapter (14 commands, 8-phase publish pipeline) by @nianyi778 in #416
- feat(weibo,youtube): add Weibo commands and YouTube channel/comments by @jackwener in #418
- fix: remove incorrect gws external CLI entry by @jackwener in #419
- fix: remove nonexistent readwise external CLI entry by @jackwener in #420
- chore: trim adapter test suite to bilibili, zhihu, v2ex by @jackwener in #421
- fix(test): gate extended browser e2e tests behind OPENCLI_E2E=1 by @jackwener in #423
- fix(extension): improve UX when daemon is not running by @jackwener in #424
- chore: release v1.4.1 by @jackwener in #425
New Contributors
- @stormslowly made their first contribution in #410
- @nianyi778 made their first contribution in #416
Full Changelog: v1.4.0...v1.4.1
v1.4.0
Highlights
New Adapters
- Pixiv — ranking, search, user illusts, detail, download
- JD.com — product details
- Web — generic
web readfor any URL → Markdown - Dictionary — search, synonyms, examples
- LinkedIn — timeline feed
Plugin System
- Lifecycle hooks API —
onStartup,onBeforeExecute,onAfterExecute - Plugin structure validation on install/update
- Windows path and symlink compatibility
Bug Fixes
- Fix
hasLimitanalysis bug (was using wrong parameter Set) - Fix template engine chained
||evaluation - Fix phantom
scrollpipeline step (declared but never registered) - Extension security hardening — tab isolation, URL validation, cookie scope
- HTTP status checking in fetch pipeline step
- Cookie scoping for downloads
- Natural numeric sort with
localeCompare - 17+ additional bug fixes from deep code reviews
Code Quality
- Replace all
catch (err: any)with typedgetErrorMessage()across 13 files - Adopt
CliErrorsubclasses across social and desktop adapters - Cross-platform CI matrix (Linux/macOS/Windows)
- Comprehensive documentation sync — SKILL.md, README, docs site
Full Changelog: v1.3.3...v1.4.0
v1.3.3
What's New
🛡️ Browser Stealth Anti-Detection
Automatic injection of 7 anti-detection patches when controlling browsers via CDP or daemon mode, preventing websites from detecting opencli's automation:
navigator.webdrivermaskingwindow.chromestub (headless only)navigator.plugins/languagesfallback (headless only)Permissions.querynormalization- Dynamic
cdc_*/__playwright/__puppeteerartifact cleanup - CDP stack trace sanitization via
Error.prototype.stackgetter override
Other Changes
- Docs sync with current command registry (#318)
- Extracted shared modules:
getErrorMessageandDEFAULT_DAEMON_PORT(#313)
What's Changed
- docs: clarify release follow-up steps by @jackwener in #279
- feat: add weixin article download adapter & abstract download helpers by @jackwener in #280
- feat(xiaohongshu): add publish command for 图文 note automation by @stone16 in #276
- feat: add Doubao browser adapter by @helloimcx in #277
- fix: add turndown dependency to package.json by @jackwener in #288
- feat(doubao-app): add Doubao AI desktop app CLI adapter by @jackwener in #289
- docs: sync adapter lists with codebase by @jackwener in #291
- feat(hackernews): add new, best, ask, show, jobs, search, user commands by @Astro-Han in #290
- fix(xiaohongshu): scope image selector to avoid downloading avatars by @jackwener in #293
- docs: add gws to External CLI Hub table in README by @Astro-Han in #286
- feat: add xianyu-cli (闲鱼) as external CLI by @donquijote2557-web in #292
- revert: remove xianyu-cli by @jackwener in #295
- fix: ensure standard PATH is available for external CLIs by @jicaiji1-max in #285
- fix(xiaohongshu): improve search login-wall handling and detail output by @xiaokuili in #298
- feat(v2ex): add node, user, member, replies, nodes commands by @Astro-Han in #282
- Add weibo search command by @caokaizz in #299
- docs: update xiaohongshu search description, fix unit test count 31→32 by @jackwener in #301
- fix(tests,docs): use positional arg syntax for search commands by @jackwener in #302
- feat(record): add live recording command for API capture by @yee94 in #300
- feat(yollomi): add new commands and update documentation in README files by @AniChikage in #235
- feat(plugin): add update command, hot reload after install, README section by @jackwener in #307
- feat: refine error handling with semantic error types by @jackwener in #312
- chore: pre-release cleanup — fix dependencies, sync docs, reduce code duplication by @jackwener in #311
- docs(SKILL.md): sync command reference — add missing sites and desktop adapters by @jackwener in #314
- fix(external): replace execSync with execFileSync to prevent command injection by @0xsline in #309
- fix: remove duplicate getErrorMessage import in discovery.ts by @jackwener in #315
- fix(e2e): broaden xiaoyuzhou skip logic for overseas CI runners by @jackwener in #316
- refactor: extract shared utilities to reduce code duplication by @shouldnotappearcalm in #313
- chore: release v1.3.2 by @jackwener in #317
- docs: sync command references with current registry by @jackwener in #318
- feat(browser): add stealth anti-detection for CDP and daemon modes by @jackwener in #319
- fix(stealth): review fixes — guard plugins, rewrite stack trace cleanup by @jackwener in #320
- chore: release v1.3.3 by @jackwener in #321
New Contributors
- @helloimcx made their first contribution in #277
- @donquijote2557-web made their first contribution in #292
- @jicaiji1-max made their first contribution in #285
- @xiaokuili made their first contribution in #298
- @caokaizz made their first contribution in #299
- @yee94 made their first contribution in #300
- @AniChikage made their first contribution in #235
- @shouldnotappearcalm made their first contribution in #313
Full Changelog: v1.3.1...v1.3.3
v1.3.2
chore: release v1.3.2
v1.3.1
What's Changed
- docs: clean up READMEs - remove redundant sections by @jackwener in #261
- refactor: deprecate opencli setup, enhance doctor with daemon auto-start by @jackwener in #262
- refactor: doctor defaults to live mode, remove setup entirely by @jackwener in #263
- chore: update package-lock.json by @jackwener in #264
- fix: update doctor tests for auto-start daemon and --no-live default by @jackwener in #265
- fix: remove duplicate horizontal rules in READMEs by @jackwener in #266
- docs: remove all --live references from markdown docs by @jackwener in #267
- ci: trigger website rebuild on release by @ByteYue in #269
- fix(daemon): harden security against browser CSRF attacks by @jackwener in #270
- docs: refresh testing guide by @yanCode in #223
- perf: smart page settle via DOM stability detection by @jackwener in #271
- chore: bump version to 1.3.0 by @jackwener in #272
- chore: release v1.3.1 by @jackwener in #273
Full Changelog: v1.2.6...v1.3.1
v1.3.0
What's Changed
- docs: clean up READMEs - remove redundant sections by @jackwener in #261
- refactor: deprecate opencli setup, enhance doctor with daemon auto-start by @jackwener in #262
- refactor: doctor defaults to live mode, remove setup entirely by @jackwener in #263
- chore: update package-lock.json by @jackwener in #264
- fix: update doctor tests for auto-start daemon and --no-live default by @jackwener in #265
- fix: remove duplicate horizontal rules in READMEs by @jackwener in #266
- docs: remove all --live references from markdown docs by @jackwener in #267
- ci: trigger website rebuild on release by @ByteYue in #269
- fix(daemon): harden security against browser CSRF attacks by @jackwener in #270
- docs: refresh testing guide by @yanCode in #223
- perf: smart page settle via DOM stability detection by @jackwener in #271
Full Changelog: v1.2.6...v1.3.0
v1.2.6
What's Changed
- chore: code cleanup + extension conflict troubleshooting by @jackwener in #260
Full Changelog: v1.2.5...v1.2.6
v1.2.5
What's Changed
- chore: remove CRX from release pipeline and docs by @jackwener in #258
- fix: treat empty tab URL as debuggable (fixes first-run failure) by @jackwener in #259
Full Changelog: v1.2.4...v1.2.5
v1.2.4
What's Changed
- fix: replace about:blank with data: URI to prevent New Tab Override interception by @jackwener in #257
Full Changelog: v1.2.3...v1.2.4
v1.2.3
What's Changed
- fix: harden resolveTabId against New Tab Override interception by @jackwener in #255
- chore: bump version to 1.2.3 by @jackwener in #256
Full Changelog: v1.2.2...v1.2.3