Changelog
For Beta version changelog, please see Beta Changelog
⚠️ Please note that if you are using Windows 8/7/XP, or your browser kernel version is lower than 120, you need to manually install the legacy version of ScriptCat. v0.16.x is the last version that supports Manifest V2. Installation steps can be found at: Install Extension by Loading Unpacked.
1.5.0 (2026-10-23)
v1.5 is a major release. The whole interface has been rebuilt and optimized for mobile. The new External Access feature lets you manage your scripts from the command line and from AI clients through sctl. The release also adds a script recycle bin, network rule management (DNR) and redesigned install and update pages, officially supports Firefox MV3, and fixes a large number of GM API, cloud sync and stability issues. See v1.5 — New Interface & External Access for a feature tour. The ScriptCat AI Agent is still available only in Beta builds and is not yet enabled in the stable release.
🔌 External Access: connect the command line and AI clients with sctl
sctl is ScriptCat's companion local bridge, a single cross-platform executable. Once you pair it with a one-time code under Tools → External Access in ScriptCat, the sctl command in your terminal and MCP-capable AI clients such as Claude Code can manage your scripts (#1573):
- List scripts, read and search source by line ranges, install, edit by content anchors, enable, disable and delete.
- Reading source and every write require approval on a confirmation page in the browser by default — Reject, Allow, or Allow for this session — and each category can be switched to allow without asking in the permission policy. External programs cannot approve their own requests, and every operation is recorded in an audit log you can open from the External Access card.
- Communication stays on this machine by default (port 8643), the extension and sctl authenticate each other, and no Native Messaging host is needed.
- With sctl's own sctl Browser extension you can also control tabs, manage bookmarks, history and other browser data, automate and debug pages, or hand a CDP endpoint to Playwright / Puppeteer — all from the command line.
# macOS / Linux (Windows PowerShell: irm https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.ps1 | iex)
curl -fsSL https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.sh | sh
sctl serve # start the local daemon and keep it running
sctl connect # in another terminal; enter the printed code under Tools → External Access in ScriptCat
See External Access for the full setup, MCP client configuration and security notes.
🚀 Major New Features
- 💄 All-new interface: fully rebuilt with consistent light and dark themes; the script list offers table and card views with advanced filters by status, type, tag and source; layouts are optimized for mobile browsers (#1514) (by @CodFrm)
- ✨ Script recycle bin: deleted scripts go to the recycle bin first, where they can be restored (with their original data and permissions), deleted permanently, or cleaned up automatically when they expire; retention defaults to 30 days and can be changed or set to never (#1585, #1622) (by @CodFrm)
- ✨ Network rule management (DNR): under Tools → Network rules, remove response headers such as CSP / X-Frame-Options, rewrite request and response headers, block or redirect requests per domain, with scenario templates, drag-to-reorder, bulk actions, quota hints and match testing (#1598, #1733) (by @cyfung1031)
- ✨ Official Firefox MV3 support, with improved sandbox / offscreen communication (#1561) (by @cyfung1031)
- ✨ The install page flags directives, values and GM capabilities that are written but have no effect in ScriptCat, and marks ScriptCat-only capabilities #1713 (#1742) (by @CodFrm)
- ✨ Script updates show permissions as a diff against the installed version with unchanged items collapsed, and the permanent security warning banner is gone #1716 (#1732) (by @CodFrm)
- ✨ View script code full-screen on the install page (#1743) (by @cyfung1031)
- ✨ New-script templates can be customized separately for normal / background / scheduled scripts under Settings → Development Tools → Script Templates, with variables such as
{{name}},{{match}}and{{date:YYYY-MM-DD}}#1722 (#1731) (by @CodFrm) - ✨ Site-scope quick actions in the popup, always visible and reversible; "Exclude on X" removes the site from
@matchfirst instead of hard-coding an@exclude#1590 (#1646, #1666, #1696) (by @CodFrm) - ✨ More complete backup, restore and import: ScriptCat / Tampermonkey / Violentmonkey custom configuration and settings backup, plus resource repair (#1554) (by @CodFrm)
- ✨ Manual download link for local backups (#1543) (by @cyfung1031)
- ✨ A "Disabled" option for the icon service turns favicon fetching off completely (#1637) (by @CodFrm)
🧩 GM API Changes
- ✨ Support the
@exclude-matchmetadata key #1714 (#1798) (by @CodFrm) - ✨
GM_info.userLanguageexposes ScriptCat's current interface language #1018 (#1799) (by @CodFrm) - 🐛 Provide
GM_info.userAgentDataon Firefox, matching Tampermonkey's version granularity and field order #1752 (#1754) (by @cyfung1031) - 🐛 Native
GM_downloadhonors@connect, consistent withGM_xmlhttpRequest(#1506) (by @DudeAint) - 🐛 Native
GM_downloadno longer asks for cross-origin permission when downloading adata:URI #1635 (#1797) (by @CodFrm) - 🐛
GM_downloadfiresonerrorwhen given an empty url (#1619) (by @cyfung1031) - 🐛 Custom cookies in
GM_xmlhttpRequestreplace a same-name cookie instead of being appended (#1604) (by @cyfung1031) - 🐛
GM_getTabstill returns data saved withGM_saveTabafter the browser discards the tab #1791 (#1796) (by @CodFrm)
🧑💻 Editor
- ✨ The "+" in the tab bar can create a normal, background or scheduled script directly (#1544) (by @cyfung1031)
- ✨ The resource panel shows
@require/@require-cssby file name with the full URL visible and searchable, and a new "View" action previews cached text and image resources (#1758) (by @cyfung1031) - ✨ Flag undefined metadata keys,
@grantvalues ScriptCat does not support, and duplicate@resourcenames (#1608, #1763, #1762) (by @cyfung1031) - ♻️ Adjust
eslint-plugin-userscriptsrules (#1510) (by @cyfung1031) - 🐛 Fix the missing guard when leaving with unsaved changes, the hidden close button on the active tab, the tab title not updating after a rename, and the empty status bar under the Storage / Resources / Script Settings tabs #1556 (#1656, #1607, #1755) (by @CodFrm, @cyfung1031)
🐛 Bug Fixes
- 🐛 Fix large scripts and resources failing to install or load because of message size limits (#1745) (by @cyfung1031)
- 🐛 An
@matchscheme the browser does not support (such asedge://) no longer makes a whole batch of scripts fail to register #1771 (#1772) (by @cyfung1031) - 🐛 Fix scripts silently failing to inject on Edge Dev #1724 (#1725) (by @mikemikimike)
- 🐛 Fix sandbox compatibility of
@inject-into contentscripts on Firefox: add missing EventTarget methods and fix self-reference escapes, stripped interface objects and the separate-realm issue #1701 (#1692, #1697, #1706) (by @CodFrm, @cyfung1031) - 🐛 Correct script resource classification and page resource permission boundaries so
@resource/@require-css/@requireno longer leak into each other (#1686) (by @cyfung1031) - 🐛 Fix
@run-at context-menu: a run-at override from the settings panel was lost after re-registration, menu items failed to register, and the script's ownGM_registerMenuCommandwas blocked; the option is also added to script settings #1649 (#1718, #1652) (by @CodFrm) - 🐛 Installing from a web link recognizes a renamed script by its download URL, so an upstream rename no longer causes a duplicate install #1785 (#1786) (by @CodFrm)
- 🐛 Fix the script settings page showing the update URL as
meta.jsafter an import or WebDAV restore, which rewrote the download URL #1793 (#1795) (by @CodFrm) - 🐛
.user.jsfiles served asapplication/x-javascriptnow open the install page #1730 (#1736) (by @cyfung1031) - 🐛 Fix manual update checks for subscriptions having no effect, and refresh the subscription list afterwards #1773 (#1781) (by @CodFrm)
- 🐛 Cloud sync no longer runs on every Service Worker cold start and now runs every 30 minutes; fix sync state consistency and cloud conflict handling, scrambled script order after multi-device sync, sync failures with path-prefixed S3 endpoints (such as Supabase), and the script list and editor staying blank for a long time with cloud sync enabled #1670 #1682 #1723 (#1678, #1504, #1690, #1729, #1765) (by @CodFrm, @cyfung1031)
- 🐛 Install and update pages: fix back / close-tab behavior, the update page failing to close after installing, and update records being overwritten by a stale check snapshot #1669 #1648 #1650 #1651 (#1594, #1675, #1677) (by @cyfung1031, @CodFrm)
- 🐛 The batch update page no longer closes itself on a countdown; when check records expire it re-checks automatically and finishes the remaining entries; opening details from a script name reuses the check cache instead of requesting again #1715 (#1720, #1719) (by @CodFrm)
- 🐛 Popup: fix the global-off notice appearing only sometimes with an empty script list for the current page, false positives in "Running on this page" (and restore iframe scripts), pages outside any tab counted as "Background scripts", and the popup collapsing into a thin strip that pushed the header and footer out of view #1687 #1774 #1800 (#1694, #1689, #1783, #1801) (by @CodFrm)
- 🐛 Fix clicks on the New Script button being swallowed by the hover menu; it now creates a user script directly #1699 (#1704) (by @CodFrm)
- 🐛 Clicking the extension update notification activates the changelog tab that was already opened instead of opening another one #1769 (#1782) (by @Pililink)
- 🐛 Clearing matches / excludes / tags / run-at in script settings no longer brings them back (#1579) (by @CodFrm)
- 🐛 Avoid scheduled-task errors when cron auto-detects an invalid time zone, and replace an unavailable demo API in the crontab example (#1531, #1542) (by @cyfung1031)
- 🐛 Fix scheduled log cleanup not running (#1599) (by @CodFrm)
- 🐛 Fix
window.focuswindow focusing and tighten windowId validation (#1577) (by @cyfung1031) - 🐛 Script sync settings are saved immediately (#1615) (by @CodFrm)
⚡️ Performance Improvements
- ⚡️ Optimize the script loading cache and fix leftover popup menu items (#1511) (by @cyfung1031)
- ⚡️ Chunked resource downloads decode only the requested range, so large resources download faster (#1753) (by @cyfung1031)
- ⚡️ Use
structured_cloneserialization for internal extension messages on Chromium 148+ (#1534) (by @cyfung1031)
🎨 UI Improvements
- 💄 Android layout: dynamic viewport height, and tables, settings rows and the log stats bar re-flow on narrow screens (#1636) (by @RenjiYuusei)
- 💄 The three list pages use one adaptive list row on desktop and mobile, so script names are no longer squeezed out in narrow windows #1698 (#1709) (by @CodFrm)
- 💄 The batch update page splits updates into "Related" (current site) and "Other updates", each with its own select-all; similarity is rounded down; narrow-screen and mobile layouts are improved #1778 (#1788) (by @CodFrm)
- 💄 When a sort is active, the list says so, drag handles show as locked, and there is a way back to the default order; fix color bleed when dragging and swiping on mobile #1751 (#1768, #1756) (by @CodFrm)
- 💄 A compact popup layout option; the popup script list expansion count is configurable on its own; with the menu expansion count set to 0, expanded menus appear before Edit / Script Settings (#1551, #1645, #1688) (by @cyfung1031, @CodFrm)
🔒 Security Improvements
- 🔒 Upgrade dependencies (including TypeScript 6.0) and fix pnpm audit security warnings (react-router-dom, webdav, fast-xml-parser, dompurify and more) (#1576, #1567, #1760) (by @cyfung1031)
🌐 Internationalization
- 🌐 Add Korean (ko-KR), Turkish (tr-TR) and Brazilian Portuguese (pt-BR), including their chrome.i18n messages.json and Monaco editor languages (#1568, #1557, #1587, #1605) (by @moduvoice, @azizaktas, @Lucas559-noob, @CodFrm)
Others
- 🔧 Update-check failure logs include the URL, making problems easier to track down (#1693) (by @cyfung1031)
1.4.0 (2026-06-26)
This release brings low-level refactoring in preparation for Firefox MV3, along with editor experience improvements (edit menu, Ctrl+Shift+F formatting, Monaco quick fix), multi-platform search engine selection for script discovery, new capabilities such as @unwrap / window.onurlchange / @run-at context-menu, comprehensive hardening of cloud storage sync reliability, and a large batch of GM API, UI, and stability fixes (including a long-running memory leak and prototype pollution security vulnerabilities). The ScriptCat AI Agent is available as a preview in dev / Beta builds and is not yet enabled in the stable release.
🚀 Major New Features
- 🧪 ScriptCat AI Agent (Preview — available in dev / Beta builds only, not yet enabled in stable) — AI-powered agent system with conversational interaction, tool calling, Skill system, MCP protocol, and more (#1324) (by @CodFrm)
- ✨ Support the
@unwrapmetadata tag (#1213) (by @cyfung1031) - ✨ Implement TM's
window.onurlchangevia the Navigation API (#1315) (by @cyfung1031) - ✨ Restore
@run-at context-menusupport (#1442) (by @cyfung1031) - ✨ Script discovery supports multi-platform search engine selection (#1295) (by @CodFrm)
- ✨ Add more icon service providers (#1333) (by @cyfung1031)
- ✨ Add an update-check icon to the "last updated" column in the script list (#1304) (by @CodFrm)
- ✨ Improve edit-conflict and script-name-conflict handling (#1223) (by @cyfung1031)
🧑💻 Editor
- ✨ Add an edit menu to the editor (find, replace, undo, etc.) (#1303) (by @CodFrm)
- ✨ Editor supports Ctrl+Shift+F formatting (#1415) (by @cyfung1031)
- ✨ Improve Monaco quick fix and user-script metadata hints (#1461) (by @cyfung1031)
- 🐛 Fix Ctrl-F / Ctrl-H shortcuts (#1312) (by @cyfung1031)
- 🐛 Fix ESLint fix feature not working #1079 (#1184) (by @cyfung1031)
- 🐛 Fix editor CSS layout issues (#1460) (by @cyfung1031)
- 🐛 Fix ScriptEditor script list display in light theme (#1288) (by @CodFrm)
- 🐛 Fix and improve ScriptEditor issues (#1258) (by @cyfung1031)
⚡️ Performance Improvements
- 🚑 Fix a potential memory leak during long-running ScriptCat sessions (#1401) (by @cyfung1031)
- ⚡️ Remove Baidu filesystem dependency on global DNR rules, switch to per-request cookie disabling (#1377) (by @cyfung1031)
- ⚡️ Optimize multi-platform search engine selection for script discovery (#1379) (by @cyfung1031)
- ⚡️ Use a monospace font for the install page loadingStatus to avoid jitter (#1381) (by @cyfung1031)
- ⚡️ Optimize pushValue handling (#1403) (by @cyfung1031)
- ⚡️ More complete permission checks and better userScript permission hints (#1251) (by @cyfung1031)
- ⚡️ Improve MessageConnect memory management and cleanup mechanism (#1248) (by @cyfung1031)
🐛 Bug Fixes
- 🐛 Harden cloud storage sync reliability (Dropbox / WebDAV / Google Drive / OneDrive authentication, path handling, and retry logic) (#1374 ~ #1395) (by @cyfung1031)
- 🐛 Fix multiple cloud sync issues: OneDrive zero-byte upload, Google Drive / OneDrive error normalization, S3 custom metadata modifiedDate (#1405) (#1406) (#1408) (by @cyfung1031)
- 🐛 Remove the WebDAV verify write-probe to avoid false negatives on services with a non-writable root (e.g. Nutstore) (#1445) (by @CodFrm)
- 🐛 Fix cross-origin request failure when site access permission is missing (#1477) (by @cyfung1031)
- 🐛 Fix Edge Android mobile popup adaptation #686 (#1507) (by @CodFrm)
- 🐛 Fix white background flash during initial load #1497 (#1498) (by @cyfung1031)
- 🐛 Fix message connections (GM API / ports) not being cleaned up properly (#1474) (by @cyfung1031)
- 🐛 Fix
@matchtemplate mismatch when search is missing (#1466) (by @cyfung1031) - 🐛 Add
protoBaseDescsto fix ancestor-class inheritance in the Tampermonkey semi-sandbox (#1463) (by @cyfung1031) - 🐛 Fix missing null handling for
GM_xmlhttpRequestmsgConn (#1433) (by @cyfung1031) - 🐛 Fix GM xhr not handling abnormal onloadend correctly (#1412) (by @cyfung1031)
- 🐛 Fix ScriptEditor list dynamic update and display issues (#1414) (by @cyfung1031)
- 🐛 Fix session rule count issue with concurrent xhr (#1353) (by @cyfung1031)
- 🐛 Fix entire page crash caused by an invalid cron expression (#1327) (by @cyfung1031)
- 🐛 Fix all scripts failing when a single script times out during batch update check (#1265) (by @cyfung1031)
- 🐛 Add extensionEnv handling for isIncognito, userAgent, and run-in (#1368) (by @cyfung1031)
- 🐛 Fix onboarding guide button being partially hidden #1396 (#1398) (by @cyfung1031)
- 🐛 Fix tooltip being obscured on the script management page #1386 (#1387) (by @Xdy1579883916)
- 🐛 Fix Sidebar causing abnormal resizing in card mode #1179 (#1373) (by @cyfung1031)
- 🐛 Fix incorrect origin set when installing local files via drag-and-drop (#1371) (by @cyfung1031)
- 🐛 Fix language switching prompt message (#1380) (by @cyfung1031)
- 🐛 Improve log display UI (#1372) (by @cyfung1031)
- 🐛 Fix UserConfigPanel CSS (#1361) (by @cyfung1031)
- 🐛 Use
Object.create(null)for the empty object in create_context (#1397) (by @cyfung1031) - 🐛 Fix silent update and connect permission logic for subscribed scripts (#1201) (by @cyfung1031)
- 🐛 Fix log page query button not refreshing the time (#1294) (by @CodFrm)
🔒 Security Improvements
- 🔒 Fix prototype pollution via untrusted YAML user-config keys (#1494) (by @qdzsh)
- 🔒 Fix all npm dependency security vulnerabilities (#1350) (#1364) (#1365) (by @cyfung1031)
♻️ Refactoring & Compatibility
- ♻️ Low-level refactoring in preparation for Firefox MV3 adaptation (#1457) (#1480) (by @cyfung1031)
- ♻️ Refactor script resource update logic (updateResource) and concurrency control, restore resource cache compatibility (#1193) (by @cyfung1031)
- ♻️ Replace jszip with JSZipp for ZIP handling (backup import / export), and remove the unused jszip dependency (#1479) (by @cyfung1031)
- ♻️ Unify Offscreen ↔ ServiceWorker communication over the postMessage channel (#1299) (by @CodFrm)
- ♻️ Refactor VSCodeConnect code (#1170) (by @cyfung1031)
- ⚡️ Compress ts.worker.js to 4MB to pass AMO validation, fix MV3 background permission error (#1221) (by @cyfung1031)
🌐 Internationalization
- 🌐 Fix multi-language terminology translations (mainly improving Traditional Chinese) and add translation terminology guidelines (#1468) (by @cyfung1031)
Others
- ✨ Switch the fetchIconByDomain icon service to scriptcat.org (#1268) (by @cyfung1031)
- 🔥 Remove Crowdin and ach-UG pseudo-language related content (#1385) (by @CodFrm)
0.16.15 (2026-05-19)
🐛 Bug Fixes
- 🐛 Fix MV2 packaging script build command #1423 (by @CodFrm)
- 🐛 Adapt to WebExtensions API Changes (Firefox 149-152), including CSP adjustments (#1448) (by @cyfung1031)
0.16.14 (2026-04-26)
🚀 Major New Features
- ✨ FirefoxMV2 sync with MV3 main items: TypeScript upgraded to 4.9, tsconfig upgraded to es2022; script templates (normal/crontab/background) aligned with MV3; cron upgraded with
once(...)expression support; Monaco Editor multi-language support (#1331) (by @cyfung1031)
♻️ Refactoring & Compatibility
- 🔥 Removed axios dependency to align with MV3 (#1339) (by @cyfung1031)
🐛 Bug Fixes
- 🐛 Fixed window.parent nested iframe not receiving postMessage messages (#1335) (by @cyfung1031)
1.3.2 (2026-03-28)
🐛 Bug Fixes
- 🐛 Remove Accept header from fetchScriptBody to avoid Error 406 (#1306) (by @cyfung1031)
- 🐛 Fix WebDAV cookies authentication conflict and authType support (#1308) (by @CodFrm)
- 🐛 Correctly display formatting errors (#1310) (by @cyfung1031)
- 🐛 Use chrome.storage.local for device-specific configs to avoid cross-device sync (#1309) (by @CodFrm)
- 🐛 Fix code editor hint issues (#1301) (by @cyfung1031)
- 🐛 Fix date picker popup clipping in log page (#1292) (by @cyfung1031)
- 🐛 Fix unbind button showing when no cloud drive is bound (#1291) (by @CodFrm)
- 🐛 Fix popup being obscured (#1290) (by @cyfung1031)
1.3.1 (2026-03-13)
🐛 Bug Fixes
- 🚑 Fix environment detection error caused by other extensions injecting chrome.runtime #1280 (#1281) (by @CodFrm)
Others
- ✅ Add Playwright E2E tests and GM API functional tests (#1283) (by @CodFrm)
1.3.0 (2026-03-10)
This update brings Amazon S3 storage, script runtime options, installation without external website access, and more. It significantly optimizes the messaging system and React performance, fixes numerous GM API, UI, and stability issues, and includes extensive code quality improvements.
🚀 Major New Features
- ✨ Add Amazon S3 storage #1146 (#1189) (by @CodFrm)
- ✨ Script runtime options (#895) (by @CodFrm)
- ✨ Install without external website access + install page layout adjustments (#842) (by @cyfung1031)
- ✨ Show gray icon when script functionality is disabled #897 (by @CodFrm)
- ✨ Optimize interaction when menu expanded items count is 0 #868 (by @CodFrm)
- ✨ Default
@noframesin template to prevent common mistakes (#900) (by @cyfung1031) - ✨ Prevent install link from being misjudged as new install when script name changes (#824) (by @cyfung1031)
- ✨ Fix
@grantconflict validation, add duplicate meta declaration error prompt (#902) (by @cyfung1031) - ✨ Accept
@versionwith no or empty value (#1216) (by @cyfung1031) - ✨ Adjust hidden editor sidebar position #1185 (#1254) (by @CodFrm)
🧩 GM API Changes
- 🐛 Fix GM_addElement issue, move operation to content environment (#1233) (by @cyfung1031)
- 🐛 Add
conflictActionparameter toGM_download(#1250) (by @cyfung1031) - 🐛 Fix GM API async declarations, correctly return Promise (#1169) (by @cyfung1031)
- ♻️ Firefox compatibility: GM_setClipboard (#928) (by @cyfung1031)
- 🐛 Fix GM_value issue #1192 (by @CodFrm)
- 🐛 Fix download filename not supporting folders (#1203) (by @cyfung1031)
⚡️ Performance Improvements
- ♻️ Refactor messaging system: use storage.local broadcast + Firefox MV3 scripting compliance + untraceable dynamic sync MessageFlag (#1067) (by @cyfung1031)
- ⚡️ Fix React re-render issues (ScriptCard & ScriptTable) (#1182) (by @cyfung1031)
- ⚡️ Fix React re-render issues (Popup) (#1181) (by @cyfung1031)
- ⚡️ Optimize Repo performance (#1232) (by @CodFrm)
- ⚡️ Move metadata out of chrome.storage.session (#1027) (by @cyfung1031)
- ⚡️ Improve charset detection (#1140) (by @cyfung1031)
- ⚡️ Store icons by URL to avoid duplicate storage across scripts (#909) (by @cyfung1031)
- ⚡️ Optimize parseMetadata code (#903) (by @cyfung1031)
- 🐛 Fix memory leaks and object property exposure (#1242) (by @cyfung1031)
- ♻️ Remove Redux, simplify state management (#1206) (by @cyfung1031)
🧑💻 Editor
- ✨ Optimize Monaco Editor settings, add
/* global xxx */fix (#1012) (by @cyfung1031) - ✨ Monaco Editor hints multilingual support and add
@require-csshint (#960) (by @cyfung1031)
🐛 Bug Fixes
- 🐛 Fix conflict between incognito window permission check causing repeated restarts (by @CodFrm)
- 🐛 Fix include
*?*expression handling #1271 (#1272) (by @CodFrm) - 🔒 Sanitize announcement notification HTML content with DOMPurify (#1274) (by @CodFrm)
- 🐛 Fix script settings - permission management control not working (#1267) (by @CodFrm)
- 🐛 Fix popup content following screen scroll #1256 (#1263) (by @cyfung1031)
- 🐛 Fix install link parsing failure #1235 (#1260) (by @cyfung1031)
- 🐛 Fix drag component causing focusin/focusout lag #1224 (#1243) (by @CodFrm)
- 🐛 Fix external extension API not working (#1217) (by @cyfung1031)
- 🐛 Fix grant issue (#1199) (by @CodFrm)
- 🐛 Fix content.js missing UserAgentData (#1183) (by @cyfung1031)
- 🐛 Handle script encoding issue #1115 (#1138) (by @CodFrm)
- 🐛 Fix script icon display #1052 (#1104) (by @CodFrm)
- 🐛 Add UnoCSS prefix to resolve CSS conflicts, fix CSS layout (#1013) (by @cyfung1031)
- 🐛 Clear existing Alarm when choosing irregular script update check (#996) (by @cyfung1031)
- 🐛 Import & export - fix incorrect script last modified date/time (#951) (by @cyfung1031)
- 🐛 Fix i18n prefix language script name and description display #1123 (by @CodFrm)
- 🐛 Fix unregister not executing correctly (#1231) (by @cyfung1031)
♻️ Refactoring & Compatibility
- ♻️ userScripts / scripting API adjustments, enhance compatibility (redo #704) (#925) (by @cyfung1031)
- ♻️ Cron related changes: bug fixes, i18n, once expression enhancement, upgrade cron library (#1126) (by @cyfung1031)
- ♻️ Refactor and optimize script icon loading (#893) (by @CodFrm)
- ♻️ Enhance text decoding (#1166) (by @cyfung1031)
- ⬆️ Upgrade swc compatible kernel version (#1186) (by @cyfung1031)
🎨 UI Improvements
- 🎨 Change default extension icon badge number to script count #989 (by @CodFrm)
- 🎨 Make install page URL prettier (#993) (by @cyfung1031)
- 🐛 Refactor DraggableEntry, fix card height alignment (#1245) (by @cyfung1031)
Misc
- 🔒 Security improvements (DOMPurify, npm dependency vulnerability fixes)
- 👷 Rspack bundling optimization, build toolchain fixes
- ⬆️ Dependency version updates
Full changelog: Compare v1.2.6...v1.3.0
1.2.6 (2026-02-03)
Fixed
1.2.5 (2026-02-02)
Fixed
- 🐛 Fix script sync deletion issue #1158 [5e91a31] (by @CodFrm)
- 🐛 Compatible with TM `@match www.website.com/*` (#1165) [da66ff7] (by @cyfung1031)
- 🐛 Edge latest version 144 adds allow user scripts #1157 [f7c1c73] (by @CodFrm)
- 🐛 Fix FileSystemObserver continuous monitoring issue (#1160) [9556769] (by @cyfung1031)
- 🐛 locales.ts minor fixes (#1154) [1c44b68] (by @cyfung1031)
- 🐛 Fix popup update window time issue (#1155) [c17f761] (by @cyfung1031)
- 🐛 Fix i18n prefix language script name and description display #1123 [7ef7355] (by @CodFrm)
- 🐛 Handle value reference issue #1141 (#1147) [0892fcd] (by @CodFrm)
1.2.4 (2026-01-07)
Fixed synchronization bugs, and version updates will no longer automatically open the changelog page
Added
- ✨ Sync deletion is now disabled by default (#958) [9c4c7dc] (by @cyfung1031)
- ✨ Editor now supports GM.* (#1129) [bea0192] (by @cyfung1031)
Changed
Fixed
- 🐛 scriptcat.d.tpl & type fixes (#1130) [dd22ef5] (by @cyfung1031)
- 🐛 Fix cloud sync issues (#1133) [a9383d2] (by @CodFrm)
- 🐛 Fix `GM_addElement("tagName")` error (#1120) [ad19de5] (by @cyfung1031)
- 🐛 Remove cleanup logic and optimize checkuserscript logic (#1113) [e635911] (by @CodFrm)
Miscellaneous
- 🏷️ TypeScript revisions (#1127) [b455724] (by @cyfung1031)
- 📝 Example comment supplements (#1131) [292549e] (by @cyfung1031)
1.2.3 (2025-12-20)
Some bug fixes
Changed
Fixed
- 🐛 Fix URL matching issue for early scripts (#1096) [a77effb] (by @CodFrm)
- 🐛 Fix issue with update popup window displaying too briefly (#1088) [b2b2d5c] (by @cyfung1031)
- 🐛 Fix abnormal display when userscript notification is enabled (#1086) (959c4db)
- 🐛 responseHeaders: `TM compatibility: \r\n` (#1085) [15232c8] (by @cyfung1031)
- 🐛 Fix GM XHR issues (#1082) [3d987c3] (by @CodFrm)
Miscellaneous
1.2.2 (2025-12-13)
Some bug fixes
Fixed
- 🐛 Fix frequent background synchronization issue (#1076) [45dc39b] (by @CodFrm)
- 🐛 Fix special tab handling issue #1066 (50904fb)
- 🐛 Fix script handling without match rules #1071 (560cdc0)
- 🐛 Fix CI packaging issue that removed background optional permissions [1f002f0] (by @CodFrm)
- 🐛 Fix ignore discarded tab (#1058) [6165bf4] (by @cyfung1031)
1.2.1 (2025-12-06)
Some bug fixes and handling of background running options.
Added
Fixed
- 🐛 Fix message listener reset issue caused by document.write (#1055) [1f3a3ec] (by @CodFrm)
- 🐛 Fix list view filtering functionality [e272dc6] (by @CodFrm)
- 🐛 Handle UserAgentData in early phase (#1045) [b4e08a8] (by @CodFrm)
- 🐛 Restore useOpen option for GM_openInTab #1043 (#1044) [7f30198] (by @cyfung1031)
- 🐛 Fix userScripts undefined issue (#1041) [4f2deda] (by @cyfung1031)
- 🐛 Fix incorrect reference to
"monaco-editor"inAppContext(#983) [4b8dae1] (by @cyfung1031)
Full changelog: Compare v1.2.0...v1.2.1
1.2.0 (2025-11-29)
This update brings script list sidebar, card view, friendlier update check logic, editor configuration, and more. Injection and runtime stability have been significantly improved, fixing critical issues with CSP, sandbox, GM API, while also bringing performance and structural optimizations.
For more details, see the v1.2.0-beta.x changelog and v1.2 documentation.
🚀 Major New Features
- ✨ Script list sidebar #794 (by @CodFrm)
- ✨ Card view #860 (by @CodFrm)
- ✨ Friendlier update check logic #755 (by @cyfung1031)
- ✨ Add editor configuration and editor type definitions #708 (by @CodFrm)
- ✨ Show script count in popup (#973) [1134586] (by @cyfung1031)
- ✨ Add layout menu to hide code sidebar #689 [dd64da7]
- ✨ Add SC version check button (#795) [1680c66] (by @cyfung1031)
- ✨ Add survey page after extension uninstallation [6404c8f]
🧩 GM API Changes
- ✨ Support inject into, scripts can now be injected into content environment #711
- ✨ GM_openInTab supports pinned window, opening in incognito window and other parameters #788 (by @cyfung1031)
- ✨ GM_registerMenuCommand supports submenu and separator #831 (by @cyfung1031)
- 🗑 Remove useOpen option from GM_openInTab #867
- ♻️ Adjust
@connectlogic (#969) [67914d2] (by @cyfung1031) - ♻️ Refactor
GM_xmlhttpRequestand related code (#901) [fabd2e9] (by @cyfung1031)
Others
- ⚡️ Stability and performance optimizations
- 🐛 Fixed various issues
- ♻️ Code structure optimization
- 🌐 i18n improvements
Full changelog: Compare v1.1.2...v1.2.0
1.1.2 (2025-09-18)
Bug fixes
Fixed
- 🐛 Fix sandbox toString issue #737 [6ca24c9]
- 🐛 Fix badge displaying 0 issue [026c1d2]
- 🐛 Fix script injection CSP issue #739 #728 [5da21b5]
- 🐛 Fix background script not expanding in popup page [66ab70f]
- 🐛 Enhance message type validation #676 [5073795]
- 🐛 Fix GM xhr document issue #716 [1c46546]
1.1.1 (2025-09-07)
Added
Fixed
- 🐛 Fix compatibility issues with older browser versions #715 [4da8068]
- 💄 Optimize popup menu display when popup window is too small (288650e)
- 🐛 Fix multiple issues (#710) [6a2027a] (by @WhiteSevs)
Miscellaneous
- 🌐 Handle i18n issues [2adf69d]
1.1.0 (2025-09-07)
Numerous bug fixes and compatibility improvements, Dropbox support added, new @early-start feature for faster loading than page load. For more details, see the v1.1.0-beta.x changelog.
Added
- ✨ Add script runtime environment settings #628 [0d4a89e]
- ✨ Collapse by default when there are no background scripts #626 (9d0aac6)
- ✨ Support Dropbox #575 [2c66f21]
- ✨ Optimize external.Tampermonkey to check SC installation status when TM is not installed but both TM and SC are enabled (#703) [d0115c3] (by @cyfung1031)
- ✨ Add @early-start to load faster than the page (#649) [eb097dd]
- ✨ Global code search (#662) [f8eafb7] (by @RenjiYuusei)
- ✨ Add survey page after extension uninstallation [6404c8f]
- 📝 Modify installation page and namespace (6f2f000)
- ✨ Add QR code for mobile installation (348237c)
Fixed
- 🐛 Fix issue where installation cannot be triggered when network cannot access the installation intermediate page #705 [5f1e292]
- 🐛 Handle
@match *://*domain/*expression [039b445] - 🐛 Fix extension environment sandbox penetration issue #700 [a1a868d]
- ✏️ backgroud -> background (#698) [2594075] (by @cyfung1031)
- ✏️ CrhomeStorage -> ChromeStorage (#693) [64c536d] (by @cyfung1031)
- 🐛 Fix GM.getTab and GM.getTabs (#683) [31de256] (by @WhiteSevs)
- 🐛 Fix missing domain in finalUrl (#656) [545d7c8] (by @cyfung1031)
- 🐛 Compatibility with lower browser kernels #647 (bba12d2)
- 🐛 Fix missing domain in finalUrl (#656) [3ed018a] (by @cyfung1031)
- 💚 Fix react/jsx-no-literals lint issue [017b608]
- 🐛 Compatibility with lower browser kernels #647 [0e2f817]
- 🐛 Optimize window.external injection (#646) [0b2668a] (by @cyfung1031)
- 🐛 Fix issue where cloud storage authentication page cannot auto-close [7748088]
- 🐛 Fix
@connect* not working issue #623 [76481c8] - 🐛 Add unit tests and fix
@excludeissue (#618) [0046bb7] (by @cyfung1031) - 🐛 Fix issue where some .user.js links cannot install scripts #599 [ccd2639]
- 🐛 Fix new script creation failure [d42d6e7]
- 🐛 Fix metadata (#610) [4d98cce] (by @cyfung1031)
- 🐛 Fix Popup Badge (#605) [eff9230] (by @cyfung1031)
- 🐛 Fix ScriptEditor.tsx (#603) [a9aadba] (by @cyfung1031)
- 🐛 Fix code viewer & editor CSS (#602) [2e86785] (by @cyfung1031)
- 🐛 Fix getFaviconFromDomain concurrency issue (#597) [1872fe1] (by @cyfung1031)
- 🐛 Fix tab opening error in multiple windows #586 [54c1da2]
- 🐛 Fix openerTabId compatibility issue (#586) [b861fc8] (by @cyfung1031)
Miscellaneous
- 📝 Create README_RU.md and CONTRIBUTING_RU.md (#678) [597ab03] (by @Ioann)
- 👷 Compatibility adjustments (pack.js compatibility) (#669) [fec45e6] (by @cyfung1031)
- 🌐 Refines and expands Vietnamese locale (#661) [6847a59] (by @RenjiYuusei)
- 🌐 Translation fixes (#635) [19296de] (by @cyfung1031)
- 🌐 Fix onboarding guide i18n issue #627 [9683f96]
- 👷 Optimize pack.js code (#615) [870dd9b] (by @cyfung1031)
