Tampermonkey® by Jan Biniok

Recent Changes

Enabled GM_cookie for all versions (HttpOnly cookie access still only at the beta versions)
Added partitionKey support to GM_cookie
Added cookiePartition support to GM_xmlhttpRequest
Added a warning message when a script without @include and @match entry is saved the first time
Fixed storage change listeners after clicking a download link
Fixed issues with GM_registerMenuCommand if the command was registered multiple times (e.g. from different frames)
Show an error icon at scripts without any @include and @match entry
Manifest v3 requires a different workflow when installing a userscript
Note: you can restore the old behavior, by changing Userscript URL detection to Legacy
Updated Italian translation | thanks to bovirus
Updated Japanese translation | thanks to shirayuki
Updated Portuguese-Brazil translation | thanks to igorruckert
Known Issues
GM_webRequest is not (yet) supported in Manifest V3
GM_xhr fires only one progress event (you can use responseType stream for now)
In UserScript API Dynamic mode scripts that are using a RegExp @require cause overhead by being injected into every frame
Introduced a permission editor for enhanced management of host permissions
Updated GM_download to make the name parameter optional and implemented extraction from the response headers
Removed use of deprecated DOMNodeInserted and MutationEvent events
Resolved issues related to menu commands that were unregistered instantly
Updated Italian translation | thanks to bovirus
Updated Portuguese-Brazil translation | thanks to igorruckert
Updated GM_download to initiate downloads in parallel again
Resolved a failure when accessing xhr.responseXML of HTTP responses
Repaired the 'Sync Now' button
Corrected the 'Save To Disk' button in the editor
Implemented anonymous requests for WebDAV to prevent overwriting of browser sessions
Fixed WebDAV-based sync in cases of unexpected existing folder structures
Reworked to reduce some authentication requests
Enhanced mobile device detection
Disabled unintended debug logging
Fixed the menu command to consistently call the correct callback after a background restart
Updated Danish translation | thanks to jhertel
Updated Chinese (simplified) translation | thanks to PaperStrike
Resolved issue with GM_notification url property when no onclick listener is set
No longer displaying script modification conflict warnings when there's no conflict
Resolved an issue with Instant Injection mode when a script requires a local file
Addressed problems related to script installation from certain Gitlab URLs
Removed warning about script updates being disabled upon script modification
Restored application of custom CSS to installation pages
Resolved quirks in the darker theme
Corrected 'replace all' functionality in code editor for certain strings
Support for the Tampermonkey Editors extension, which will enable userscript editing at Visual Studio Code Online (vscode.dev)
Modified GM_openInTab to prevent opening new tabs on event page reloads
Fixed crashes when 'Never remember history' or 'Always use Private Browsing Mode' is enabled
Updated Russian translation | thanks to adem4ik
Updated Vietnamese translation | thanks to IoeCmcomc
Updated Japanese translation | thanks to maboroshin and shirayuki
Updated Italian translation | thanks to bovirus
Known Issues
GM_download starts downloads serialized
Firefox >= 78
Content-security-policy (CSP) directives are no longer relaxed by default
  • If the page CSP blocks inline injection, a nonce is added to the CSP to allow script injection.
    Otherwise, userscripts are now injected into a JavaScript-mode @sandbox, which might necessitate cloneInto and similar functions for unsafeWindow property modification
  • The previous behavior can be reinstated by setting 'Modify existing content security policy (CSP) headers' to 'Yes'
Firefox 78 is now required, as it can handle the manifest key gecko_android necessary for Android compatibility
Transitioned to a non-persistent event page
Resolved several internal issues that could potentially cause crashes
Refactored version number parser to support ISO format dates
Note: As a result of this change, 1.0-0.3 is now considered a lower version number than 1.0
Fixed window.showDirectoryPicker
Introduced GM_notification tag to overwrite existing notifications
Added GM_notification url property to open a new tab on click (can be cancelled by onClick event via preventDefault)
Notifications now automatically close when the userscript unloads and neither a url nor a tag was specified
Added GM_registerMenuCommand id parameter to update existing commands
Introduced GM_registerMenuCommand title parameter
Added an option to GM_registerMenuCommand to prevent automatic popup closure on click
Fixed GM_download to prevent onload from firing too frequently
Performed rework related to Instant Navigation
User-defined globals are now accepted in ESLint configuration
Enhanced sandbox window addEventListener to support EventListenerObjects
Added script version number when saving a script to disk
Locally modified scripts will not be updated automatically, but can now be reverted through a manual update and confirmation
Fixed GM_xmlhttpRequest FormData key-value order
Adjusted ESLint to allow top-level await
Resolved BSD issue due to incorrect getPlatformInfo response
New GreasyFork script URLs are now detected
Sync now and sync reset are only enabled after changes have been saved
Fixed script search badge mode to display accurate numbers
Tabs can now be scrolled horizontally when there are too many tabs
Search-as-you-type always starts from the current position
Updated Italian translation | thanks to bovirus
Updated Portuguese-Brazil translation | thanks to igorruckert
Updated Japanese translation | thanks to shirayuki
Updated Russian translation | thanks to ACherepkov1989
Updated Turkish translation | thanks to selimsumlu
Updated Chinese (traditional) translation | thanks to 5idereal
Updated French translation | thanks to Juknum
Known Issues
Instant injection mode is currently incompatible with scripts that require local files
A crash may occur when 'Always use Private Browsing Mode' is enabled in Firefox. It is recommended to either disable this setting or downgrade to version 4.19.0