This release adds 5 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Affected surfaces
Summary
AI summaryBroad release touches twitter, readme, deps, and adapters.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Detect generated image surfaces in chatGPT interactions Detect generated image surfaces in chatGPT interactions Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Feature | Medium |
Decode numeric entities in Zhihu answer detail Decode numeric entities in Zhihu answer detail Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add subscribed command and expose id, created_utc, selftext for Reddit listing Add subscribed command and expose id, created_utc, selftext for Reddit listing Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Integrate LoginWallError sniffing for Reddit subscribed commands (#1650) Integrate LoginWallError sniffing for Reddit subscribed commands (#1650) Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add Flomo memos reader adapter Add Flomo memos reader adapter Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Restore publish and delete flow for Douyin Restore publish and delete flow for Douyin Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Simplify README Highlights from 9 to 5 bullets Simplify README Highlights from 9 to 5 bullets Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add Youdao Notes shared note reader adapter Add Youdao Notes shared note reader adapter Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add messaging commands for LinkedIn Add messaging commands for LinkedIn Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Fix chatGPT page.evaluate envelope across browser commands Fix chatGPT page.evaluate envelope across browser commands Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add summary command for Bilibili official AI video summary Add summary command for Bilibili official AI video summary Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Move codex CDP port off 9222 to avoid browser-bridge collision Move codex CDP port off 9222 to avoid browser-bridge collision Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Drop silent-sentinel row fallbacks across 6 read commands Drop silent-sentinel row fallbacks across 6 read commands Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Replace brittle CSS-module hash with placeholder selector for Weibo publish Replace brittle CSS-module hash with placeholder selector for Weibo publish Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add delete-note command to remove published notes on Xiaohongshu Add delete-note command to remove published notes on Xiaohongshu Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add delete command to remove user's own posts on Weibo Add delete command to remove user's own posts on Weibo Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Drop "Unknown" silent sentinel in LessWrong author column Drop "Unknown" silent sentinel in LessWrong author column Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Rewrite Twitter download profile path using GraphQL UserMedia with cursor pagination Rewrite Twitter download profile path using GraphQL UserMedia with cursor pagination Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Restore dist/src/main.js +x permission after TypeScript rebuild Restore dist/src/main.js +x permission after TypeScript rebuild Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Integrate WeRead official Agent Gateway as new CLI namespace Integrate WeRead official Agent Gateway as new CLI namespace Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Consolidate LinkedIn messaging and Sales Navigator commands Consolidate LinkedIn messaging and Sales Navigator commands Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add inbox, messages, and reply commands for Xianyu Add inbox, messages, and reply commands for Xianyu Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Paginate Zhihu search results Paginate Zhihu search results Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Retry goto with recycled page identity; classify -32000 error as retryable Retry goto with recycled page identity; classify -32000 error as retryable Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Keep media filenames in output directory during fixes Keep media filenames in output directory during fixes Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add full read adapter for 12306 (stations, trains, train, price, me, passengers, orders) Add full read adapter for 12306 (stations, trains, train, price, me, passengers, orders) Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Fix skill attribution in README — 'operate any website' uses opencli-browser Fix skill attribution in README — 'operate any website' uses opencli-browser Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Limit timedtext URL matching to current videoId for YouTube transcript captions Limit timedtext URL matching to current videoId for YouTube transcript captions Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Skip "Discover new Lists" block in Twitter lists to avoid mis-capturing user lists Skip "Discover new Lists" block in Twitter lists to avoid mis-capturing user lists Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Drop silent-sentinel row fallbacks across Apple Podcasts, Reddit, and Gitee Drop silent-sentinel row fallbacks across Apple Podcasts, Reddit, and Gitee Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Feature | Medium |
Add suno.com music-generation adapter Add suno.com music-generation adapter Source: granite4.1:8b-q6_K@2026-05-20 Confidence: low |
— |
| Bugfix | Medium |
Fix YouTube transcript caption fetching Fix YouTube transcript caption fetching Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Other | Low |
Tighten tagline & emphasize browser control in README Tighten tagline & emphasize browser control in README Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
Full changelog
What's Changed
- 微博新增用户搜索导出博文命令opencli weibo search_by_user 1670458304 --start 2025-06-01 --end 2025-06-02 by @chonglinghuc in https://github.com/jackwener/OpenCLI/pull/1379
- Fix YouTube transcript caption fetching by @sczhengyabin in https://github.com/jackwener/OpenCLI/pull/1499
- fix(chatgpt): unwrap page.evaluate envelope across browser commands by @ele-yufo in https://github.com/jackwener/OpenCLI/pull/1580
- feat: add Flomo memos reader adapter by @Pandas886 in https://github.com/jackwener/OpenCLI/pull/1549
- feat(douyin): restore publish and delete flow by @jackwener in https://github.com/jackwener/OpenCLI/pull/1587
- docs(readme): tighten tagline & emphasize browser control by @jackwener in https://github.com/jackwener/OpenCLI/pull/1596
- feat: add Youdao Notes shared note reader adapter by @Pandas886 in https://github.com/jackwener/OpenCLI/pull/1547
- feat(linkedin): add messaging commands by @hanzili in https://github.com/jackwener/OpenCLI/pull/1597
- fix(adapters): surface silent empty fallbacks by @jackwener in https://github.com/jackwener/OpenCLI/pull/1603
- feat(bilibili): add summary command for the official AI video summary by @asimovVong in https://github.com/jackwener/OpenCLI/pull/1590
- fix(audit): ignore sentinels in thrown errors by @jackwener in https://github.com/jackwener/OpenCLI/pull/1604
- fix(barchart): surface greeks fetch failures by @jun0315 in https://github.com/jackwener/OpenCLI/pull/1599
- docs(readme): simplify Highlights from 9 to 5 bullets by @jackwener in https://github.com/jackwener/OpenCLI/pull/1605
- fix(electron-apps): move codex CDP port off 9222 to avoid browser-bridge collision by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1630
- fix(adapters): drop silent-sentinel row fallbacks across 6 read commands by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1631
- fix(weibo/publish): replace brittle CSS-module hash with placeholder selector by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1625
- feat(xiaohongshu): add delete-note command to remove published notes by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1624
- feat(weibo): add delete command to remove user's own posts by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1620
- fix(lesswrong): drop "Unknown" silent sentinel in author column by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1611
- feat(twitter): rewrite download profile path on GraphQL UserMedia with cursor pagination by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1636
- build: tsc 重建后恢复 dist/src/main.js 的 +x 权限 by @huanghe in https://github.com/jackwener/OpenCLI/pull/1644
- feat(weread-official): integrate WeRead official Agent Gateway as new CLI namespace by @jackwener in https://github.com/jackwener/OpenCLI/pull/1648
- feat(linkedin): consolidate messaging and Sales Navigator commands by @hanzili in https://github.com/jackwener/OpenCLI/pull/1647
- feat(xianyu): add inbox, messages, and reply commands by @jun0315 in https://github.com/jackwener/OpenCLI/pull/1639
- feat(zhihu): paginate search results by @lenovobenben in https://github.com/jackwener/OpenCLI/pull/1615
- fix(browser): goto 重试时回收陈旧 page identity + 把 -32000 "Cannot find default execution context" 归类为可重试 by @huanghe in https://github.com/jackwener/OpenCLI/pull/1645
- fix: keep media filenames in output directory by @hiSandog in https://github.com/jackwener/OpenCLI/pull/1642
- feat(12306): add full read adapter (stations / trains / train / price / me / passengers / orders) by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1637
- docs(readme): fix skill attribution — 'operate any website' uses opencli-browser, not opencli-adapter-author by @jackwener in https://github.com/jackwener/OpenCLI/pull/1654
- fix(youtube/transcript): 把 timedtext URL 匹配限定到当前 videoId,修跨视频字幕串台 by @huanghe in https://github.com/jackwener/OpenCLI/pull/1655
- fix(twitter/lists): 跳过 "Discover new Lists" 推荐区块,避免被当成用户的 list 抓取 by @huanghe in https://github.com/jackwener/OpenCLI/pull/1652
- fix(adapters): drop silent-sentinel row fallbacks across Apple Podcasts, Reddit, and Gitee by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1634
- feat(suno): add suno.com music-generation adapter by @ele-yufo in https://github.com/jackwener/OpenCLI/pull/1638
- fix(zhihu): decode numeric entities in answer detail by @lenovobenben in https://github.com/jackwener/OpenCLI/pull/1629
- feat(reddit): 新增 subscribed 命令 + 在 listing 命令上暴露 id / created_utc / selftext by @huanghe in https://github.com/jackwener/OpenCLI/pull/1651
- chore(deps): bump undici from 6.25.0 to 8.3.0 by @dependabot[bot] in https://github.com/jackwener/OpenCLI/pull/1661
- chore(deps): bump ws from 8.20.0 to 8.20.1 by @dependabot[bot] in https://github.com/jackwener/OpenCLI/pull/1662
- chore(deps): bump @types/node from 25.6.0 to 25.9.0 by @dependabot[bot] in https://github.com/jackwener/OpenCLI/pull/1664
- chore(deps): bump tsx from 4.21.0 to 4.22.2 by @dependabot[bot] in https://github.com/jackwener/OpenCLI/pull/1663
- feat(twitter): 新增 list-create 命令(GraphQL CreateList mutation) by @huanghe in https://github.com/jackwener/OpenCLI/pull/1656
- feat(twitter): 在 read 命令上暴露 card binding_values(链接预览卡片) by @huanghe in https://github.com/jackwener/OpenCLI/pull/1660
- fix(cli): escape leading-dash positional values via argv preprocessor by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1658
- feat(linkedin-learning): add search / trending / course read commands by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1657
- docs(readme): tighten skill attribution (T1) + remove redundant Highlights (T2) by @jackwener in https://github.com/jackwener/OpenCLI/pull/1666
- feat(reddit/subscribed): 接入 LoginWallError 嗅探(#1650 的第一个 caller) by @huanghe in https://github.com/jackwener/OpenCLI/pull/1668
- feat(twitter): 在 read 命令上暴露 quoted_tweet(被引用的推文) by @huanghe in https://github.com/jackwener/OpenCLI/pull/1667
- feat(zhihu): include answer links in question results by @lenovobenben in https://github.com/jackwener/OpenCLI/pull/1670
- feat(twitter): 在 read 命令上暴露 bio(用户简介) by @huanghe in https://github.com/jackwener/OpenCLI/pull/1675
- fix(xhs,youtube): 把合法空数据语义切到 EmptyResultError by @huanghe in https://github.com/jackwener/OpenCLI/pull/1674
- feat(reddit): 在 listing 命令上暴露 post_hint / url / preview / gallery 4 个媒体路由列 by @huanghe in https://github.com/jackwener/OpenCLI/pull/1676
- fix(deps): restore Node 20 compatibility by @jackwener in https://github.com/jackwener/OpenCLI/pull/1673
- feat(twitter): add device-follow command for /i/timeline notification stream by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1672
- fix(chatgpt): detect generated image surfaces by @jackwener in https://github.com/jackwener/OpenCLI/pull/1677
- feat(zhihu): add answer comments reader by @lenovobenben in https://github.com/jackwener/OpenCLI/pull/1671
- docs(readme): curate built-in commands + add wrangler external CLI by @jackwener in https://github.com/jackwener/OpenCLI/pull/1679
- fix(adapters): migrate empty-data throws to EmptyResultError across 5 commands (#1674 follow-up) by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1678
- feat(linkedin): add people-search command by @Benjamin-eecs in https://github.com/jackwener/OpenCLI/pull/1649
- docs(readme): shrink CLI Hub + Core Concepts + merge Update into Install by @jackwener in https://github.com/jackwener/OpenCLI/pull/1681
- chore(skills): remove smart-search by @jackwener in https://github.com/jackwener/OpenCLI/pull/1683
- feat(booking): add search adapter for Booking.com hotel listings by @jackwener in https://github.com/jackwener/OpenCLI/pull/1680
- chore(release): 1.8.0 by @jackwener in https://github.com/jackwener/OpenCLI/pull/1682
New Contributors
- @chonglinghuc made their first contribution in https://github.com/jackwener/OpenCLI/pull/1379
- @sczhengyabin made their first contribution in https://github.com/jackwener/OpenCLI/pull/1499
- @ele-yufo made their first contribution in https://github.com/jackwener/OpenCLI/pull/1580
- @asimovVong made their first contribution in https://github.com/jackwener/OpenCLI/pull/1590
- @jun0315 made their first contribution in https://github.com/jackwener/OpenCLI/pull/1599
Full Changelog: https://github.com/jackwener/OpenCLI/compare/v1.7.22...v1.8.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About OpenCLI
Make Any Website & Tool Your CLI. A universal CLI Hub and AI-native runtime. Transform any website, Electron app, or local binary into a standardized command-line interface. Built for AI Agents to discover, learn, and execute tools seamlessly via a unified AGENT.md integration.
Related context
Related tools
Beta — feedback welcome: [email protected]