Skip to content

Releases: jackwener/opencli

v1.4.1

25 Mar 08:23
2bfd3ee

Choose a tag to compare

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

Full Changelog: v1.4.0...v1.4.1

v1.4.0

25 Mar 06:35
594ad50

Choose a tag to compare

Highlights

New Adapters

  • Pixiv — ranking, search, user illusts, detail, download
  • JD.com — product details
  • Web — generic web read for 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 hasLimit analysis bug (was using wrong parameter Set)
  • Fix template engine chained || evaluation
  • Fix phantom scroll pipeline 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 typed getErrorMessage() across 13 files
  • Adopt CliError subclasses 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

23 Mar 17:45
167c7c7

Choose a tag to compare

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.webdriver masking
  • window.chrome stub (headless only)
  • navigator.plugins / languages fallback (headless only)
  • Permissions.query normalization
  • Dynamic cdc_* / __playwright / __puppeteer artifact cleanup
  • CDP stack trace sanitization via Error.prototype.stack getter override

Other Changes

  • Docs sync with current command registry (#318)
  • Extracted shared modules: getErrorMessage and DEFAULT_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

Full Changelog: v1.3.1...v1.3.3

v1.3.2

23 Mar 17:03

Choose a tag to compare

chore: release v1.3.2

v1.3.1

22 Mar 16:33
7881261

Choose a tag to compare

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

23 Mar 17:03

Choose a tag to compare

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

22 Mar 14:19
c44bc62

Choose a tag to compare

What's Changed

  • chore: code cleanup + extension conflict troubleshooting by @jackwener in #260

Full Changelog: v1.2.5...v1.2.6

v1.2.5

22 Mar 14:10
7f57e76

Choose a tag to compare

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

22 Mar 14:05
3e91876

Choose a tag to compare

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

22 Mar 13:48
7c02588

Choose a tag to compare

What's Changed

Full Changelog: v1.2.2...v1.2.3