Tampermonkey® by Jan Biniok

Recent Changes

5.3.3
2024-12-05
General
Fixed the configuration of script positions via drop down menu
Fix GM.cookie.list() to resolve also if called without an argument
Allow GreasyFork's install button to update correctly after moving a script to the trash
5.3.2
2024-10-29
It is necessary to enable developer mode to run userscripts via Tampermonkey now.
Instructions on how to enable it can be found here.
Microsoft Edge
Switched to Manifest V3
General
Tag support
Added @run-in support
Added a setting to control whether GM_cookie should be able to access HttpOnly cookies
Added button to force update externals
Added multi-value support for storage methods
Fixed header-derived filenames in GM_download
Reworked counting of executed script instances
Enhanced back/forward cache navigation handling
Fixed an GM_registerMenuCommand issue with non-letter accessKeys
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)
UI
Added a button to disable script updates at the update dialog
Improved editor search functionality
Fixed code selection near the top and bottom of the editor
Fixed editor height issue in mobile views
Show an error icon at scripts without any @include and @match entry
Sync
Fixed synchronization issues with WebDAV
MV3
Manifest v3 requires a different workflow when installing a userscript
Note: you can restore the old behavior, by changing Userscript URL detection to Legacy
Locales
Updated Ukrainian translation | thanks to Postrediori and click0
Updated Portuguese-Brazil translation | thanks to igorruckert
Updated Italian translation | thanks to bovirus
Updated Japanese translation | thanks to shirayuki
Known Issues
GM_webRequest is not (yet) supported in Manifest V3
GM_xmlhttpRequests 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
GM_xmlhttpRequests are running serialized workaround available
5.1.1
2024-04-22
It will soon be necessary to enable developer mode to run userscripts via Tampermonkey.
Instructions on how to enable it can be found here.
This release includes significant updates for future Manifest V3 compatibility. Please report any issues here.
General
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
Locales
Updated Italian translation | thanks to bovirus
Updated Portuguese-Brazil translation | thanks to igorruckert
5.1.0
2024-03-15
General
Updated GM_download to initiate downloads in parallel again
Resolved a failure when accessing xhr.responseXML of HTTP responses
UI
Repaired the 'Sync Now' button
Corrected the 'Save To Disk' button in the editor
Sync
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
Locales
Updated Danish translation | thanks to jhertel
Updated Chinese (simplified) translation | thanks to PaperStrike
5.0.1
2024-01-03
General
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
UI
Restored application of custom CSS to installation pages
Resolved quirks in the darker theme
Corrected 'replace all' functionality in code editor for certain strings
Locales
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
5.0.0
2023-11-30
Microsoft Edge
Content-security-policy (CSP) directives are no longer relaxed by default
Notes:
  • Script injection should function as expected, but some userscripts may rely on a relaxed CSP
  • The previous behavior can be reinstated by setting 'Modify existing content security policy (CSP) headers' to 'Yes'
Warning message 'Tabs cannot be edited right now' has been suppressed
General
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
UI
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
Locales
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
4.19.0
2023-05-24
General
Introduced support for userscript editing at vscode.dev with the Tampermonkey Editors extension
Enabled downloading of cloud backups
Resolved issue with active script count when an embedded frame is removed
Corrected automatic detection mode of the option 'Add GM functions to this or window'
Fixed disappearing 'Yes' value of the 'Modify existing content security policy headers' option
Corrected GM.download(url, name) functionality
Fixed GM_setValue for binary content
Resolved issue with broken userscript link in stack trace
Fixed multiple execution of menu command listeners
Ensured GM_deleteValue deletes values in the background
Enhanced the storage editor to display undefined values
Resolved issues caused by document.write
Performed internal cleanup and rework in preparation for manifest v3
Improved visualization of blacklisted scripts
Updated ESLint to version 8.32.0
UI
Meet Tam, your new assistant for getting started
Display more site icons per script
Search within the editor as you type
Ensure editor search results are scrolled into view
Add confirmation for script deletion in the dashboard when trash is disabled
Sync
Ensure TamperDAV script change detection works regardless of boot order
For WebDAV usage, append a trailing slash to collection names as per the specification
Resolve issues related to enabling and disabling sync
Locales
Localized extension name and description
Updated Italian translation | thanks to bovirus
Updated Japanese translation | thanks to shirayuki
Updated Chinese (simplified) translation | thanks to gin3715
Updated Russian translation | thanks to Tyemak
Updated Danish translation | thanks to jhertel
Experimental
Added experimental GM_info.userAgentData with all properties of NavigatorUAData and some "high entropy" values
4.18.1
2022-11-13
If you encounter unreliable script injection after this update, then please check this FAQ entry.
General
Fix GM_unregisterMenuCommand
Fix GM.saveTab
Make @sandbox always default to raw
Make console methods enumerable again
Disable wrappedJSObject compatibility option by default
Internal rework and cleanup
Sync
Fix an issue that script updates were disabled on sync triggered change imports
4.16.1
2022-05-03
General
Fix issues with heavily increased page loading time caused by some scripts or @requires
UI
Allow drag and drop inside the editor again
Locales
Update Chinese (traditional) translation | thanks to SiderealArt
Update Italian translation | thanks to bovirus
Update Danish translation | thanks to will2022
4.16
2022-04-07
General
Sandbox improvements
Improved compatibility for userstyles installed as userscript
Add an option to control whether to bind GM API functions to the userscript's execution context and sandbox window (and do it by default only if necessary)
Details: Enabling this makes it very easy for a userscript to accidentally leak its granted powers to the page
Treat @include a little bit more like @match if :// is present and add an option to control @include's behavior
Details: Many script developers expect @include *://tmnk.net/* to match pages at tmnk.net only, but it also matches https://example.com/?http://tmnk.net/.
To improve this, @includes that contain a :// are now interpreted a little bit different. Every * before :// now only matches the URL scheme. Also, if :// is directly followed by a * or a / somewhere, then the first * or all until / are applied to the hostname only.
Fix encoding of userscript file and URL imports
External @require and @resource content is not updated by default anymore unless the script was updated
UI
Show script and external resources size in dashboard
Show last updated time as relative time if within 4 weeks or as absolute date otherwise
Fix darker theme quirk
Fix favicons with transparent background
Improve editor menu if advanced editor is disabled
4.15
2022-03-09
General
Allow userscript installation via drag and drop to options page also in case local file access is disabled
UI
Fix script positioning via drag and drop
Decrease extension size by removing jQuery dependency
Locales
Update Turkish translation | thanks to Tmp341
4.14
2022-01-22
General
Make trash configurable (on/off/session only)
GM_xmlhttpRequest.responseType 'stream' support
Improve GM_xmlhttpRequest event timings and make response readable on request errors as well
Fix GM_xmlhttpRequest to forward status and statusText in fetch mode once available
Fix cookie overwriting in anonymous GM_xmlhttpRequest mode
Allow GM_getValue to return undefined as value
Improve JavaScript scriptlet support via @unwrap tag
Make GM_notification.highlight focus the window as well
Add MouseEvent/KeyboardEvent argument to GM_registerMenuCommand callbacks
Add a focus method to the return value of GM_openInTab
Add a global and a per script setting to choose whether to run in incognito tabs
Add some more audio formats to the download file extension whitelist
Use up to ES2022 for linting if supported by the browser
Update ESLint
Add more second level domains (for .tld)
Always log an error at the page console if a @require or @resource couldn't be loaded
Fix several issues with older browser versions
Fix issues caused by extremely delayed setTimeout(..., 0) calls
Fix some userscript injection issues
Make cloud service re-authentication without user intervention less disturbing
Show an internal notification in case of an available extension update only*
* this will only affect the next update, sorry
Fix some rare exceptions happening in the wild
Sandbox improvements
Internal rework and cleanup
UI
Shift key + mouse click based multi select
Dark mode improvements
Prefer an explicit set @name:en over @name
Show localized userscript name and description if available where possible
Update page title if script is renamed by save
Keep CRLF line endings on edit
Make import from URL support zip, JSON and plain userscript files
Replace worker based image cache to avoid problems at some browsers
Use higher resolution if Google's favicons service is used
Fix opening of zero byte externals
Use eslint-plugin-userscripts to highlight userscript header issues
Fix storage 'Reload' button and add 'Reset'
Fix ESLint to allow top-level await
Sync
Add a button to force a sync
WebDAV improvements
Fix unnecessary repeated exports
Trigger sync on move to trash
Fix TamperDAV double sync issue
Locales
Update Russian translation | thanks to wvxwxvw
Update Chinese (traditional) translation | thanks to ndbiaw and SiderealArt
Update Chinese (simplified) translation | thanks to xiaopangju and dnknn
Update Italian translation | thanks to bovirus
Update French translation | thanks to omerien
Update Portuguese-Brazil translation | thanks to igorruckert
Update Hindi translation | thanks to Yash-Singh1
Update Japanese translation | thanks to shirayuki
4.13.6138
2021-05-04
General
Userscript Search integration
(search on popup menu entry click, on popup menu open or always)
Improve topbar announcements to not hide existing messages
@antifeature support
Add Userscript menu commands to the page's context menu
`@run-at context-menu scripts now require a @include or @match statement (like all other scripts)
Speed up extension storage operations
Sandbox fixes
Speed up injection
Speed up and fix handling of large GM_xmlhttpRequest responses
GM_xmlhttpRequest data might be available at readyState 3 now
Fix GM_download calls in non-native mode if executed too quickly one after the other
Add option whether to import script data and/or externals
Fix SHA-256 calculation for sub-resource integration (SRI) check of some files
Fix GM_xmlhttpRequest authentication via user and password (including fetch mode)
Fix a continuing script execution problem of scripts running on browser start
Fix GM_notification sometimes not using the given image
Fix a sandbox issue which caused DOMContentLoaded being fired after the load event
Fix GM_setStyle/GM_addElement of document-start scripts in case of very early script execution
Update CodeMirror editor to version 5.58.2
Update JSZip to 3.5.0
UI
Add script trash
Add script removal entry to popup menu
Improve search bar to not hide script content
Add option to automatically highlight selected or hovered words
Fix the 'Find Next' button after search was opened
Fix flashing layout shift if an @include's favicon can't be loaded
Fix tab layout issue at very high zoom-levels at MacOS and Windows
Add a default @icon tag showing the domain's favicon if a URL is available
Add an option to add the current domain to the blacklisted pages list
Add a reload button to the script storage tab
Remember the last chosen cloud storage at the 'Utilities' tab
Make the 'Dashboard' item's alt action (Ctrl+Click, middle or right mouse click) open it with the current tab's URL as filter
Update darker theme | thanks to narcolepticinsomniac
Sync
Various improvements
Experimental
Top-level await support
Allow experimental GM_addElement to operate on shadow DOM
Locales
Add Danish translation | thanks to will2022
Update Italian translation | thanks to bovirus
Update Japanese translation | thanks to shirayuki
Update Turkish translation | thanks to Tmp341
Update Portuguese-Brazil translation | thanks to igorruckert
Update Chinese (simplified) translation | thanks to xiaopangju
Update Chinese (traditional) translation | thanks to asthzh
Update Chinese (simplified) translation | thanks to ff98sha
Update Russian translation | thanks to wvxwxvw
Update Vietnamese translation | thanks to IoeCmcomc
Update Chinese (simplified) translation | thanks to CaveNightingale, Vstory and xiaopangju
Update Russian translation | thanks to vanja-san
Update French translation | thanks to omerien
4.11.6120
2020-09-17
Chrome >= 59
General
Fix script export if many or large scripts are installed
Make @match hostname and scheme case insensitive by default
Update ESLint
Use ES2020 for linting if supported by browser
Allow downloads to subfolders again
Experimental window.onurlchange support
Disable automatic script update on script modification
Fix @run-at context-menu at some pages and after scripts were enable or disabled
Fix GM_xmlhttpRequest exceptions related to responseType 'document' and 'text'
Fix fetch-based GM_xmlhttpRequest.details.revalidate
Improve @connect permission request handling
Fix GM.notification promise never being resolved
Fix GM_xmlhttpRequest.abort and GM_download.abort
Make limited host permissions work for redirected GM_xmlhttpRequest requests
Fix setting GM_download.details.headers
Fix GM.setClipboard
Fix GM_deleteValue
Replace experimental GM_addScript by GM_addElement support to workaround page CSP issues
Add option to entirely remove CSP if userscripts are supposed to run
Add .co.za to .tld list
Add ESLint rule id to error messages
UI
Dark theme update
Allow tab size configuration
Show incognito mode warning at script installation and import pages as well
Add script update item to editor file menu
'Darker' theme update
Add script version to tab description
Locales
Update Arabic translation | thanks to naqqo6i
Update Indonesian translation | thanks to ReksaTresna
Update Japanese translation | thanks to shirayuki
Update Vietnamese translation | thanks to IoeCmcomc
Update Ukrainian translation | thanks to toplinden
Update Serbian translation | thanks to zoranzoki21
Sync
Improve OneDrive request error handling
Fix Yandex.Disk authentication
Change backup file name to avoid character issues with some WebDAV servers
4.10.6111
2020-02-18
Chrome >= 45
General
Update ESLint
Allow to derive custom linter config from eslint:recommended
GM_xmlhttpRequest.onloadend support
Fix GM_xmlhttpRequest.overrideMimeType of anonymous requests
Fix GM.getTab and GM.getTabs
GM_xmlhttpRequest: Fix protocol-relative URLs
GM_xmlhttpRequest: Fix reported status of requests in progress
Add robustness to sandbox creation
Allow plain scripts to be imported via file import as well
Add GM_info.isFirstPartyIsolation
Allow scripts to be recognized more easily at the developer tools
Internal cleanup and speedup
Fix an issue that user *cludes caused script update confirmation dialogs
UI
Fix WebDAV credentials being used for import and export
Accept more WebDAV server URLs formats
Improve popup menu layout when warnings or hints are shown
Fix several editor search issues
Speed up script search
'Darker' theme update
Fix an popup menu issue when GM_registerMenuCommand is executed
Allow scripts to be removed via editor menu
Sync
Fix an issue that some remote source code changes were not applied correctly
Locales
Update Japanese translation | thanks to shirayuki
Update Chinese (traditional) translation | thanks to austin-chang
Update Italian translation | thanks to bovirus
Update Indonesian translation | thanks to Azhe403
Update Portuguese-Brazil translation | thanks to igorruckert
4.9
2019-11-15
General
Dark theme including OS support
Request host access if runtime permissions are limited
Fix installation of UTF-8 encoded local files
Allow more GM_xmlhttpRequest headers to be modified
Make GM_xmlhttpRequest.finalUrl available on progress events as well
Fix GM_openInTab.close when the tab is currently moved
Implement GM_notification silent option
Fix GM_notification onclose listener
Make GM_notification user interaction mandatory if possible
Speed up script execution after iframe reload/navigation
Add .co.nz to .tld
Fix sometimes not working second level domain check
Allow multiple @webRequest tags
Sandbox fixes
Support SHA-256 subresource integrity hashes independently of the browser's crypto API
Update FileSaver.js
tab.pendingUrl support
Remove functionality to import native scripts to reduce the number of used permissions
Remove unused contentSettings permission
UI
Scroll tab view content instead of page
Speed-up initialization
Always show 'Search' and 'Add new script' menu items
Add a more obvious (Ctrl+Click or middle mouse click) way to edit scripts from the popup menu
Outline executed but inactive scripts at the popup menu
Fix script filter icon visibility
Fix version number based sorting
Fix drag and drop based script ordering at high-DPI screens
Fix script editor height and resulting problems
Check for unsaved changes before tab close/reload | thanks to narcolepticinsomniac
Add an option to enable/disable scripts at their settings tab
Remember script storage export setting
Sync
Yandex.Disk support
Add script synchronization using OneDrive
Add a button to revoke Google Drive access tokens
Use refresh tokens for less Google Drive re-authorization requests
Note: you need to revoke existing access tokens at the utilities tab to make use of this
Locales
Add Belarusian translation | thanks to bogachenko
Add Dutch translation | thanks to The947thTokay
Update Russian and Ukrainian translation | thanks to bogachenko
Update Indonesian translation | thanks to ReksaTresna and Azhe403
Update Vietnamese translation | thanks to vigov5
Update Italian translation | thanks to bovirus
Update Portuguese-Brazil translation | thanks to igorruckert
Update Turkish translation | thanks to Tmp341
Update Japanese translation | thanks to shirayuki
Update Chinese (traditional) translation | thanks to PeterDaveHello, cedarkuo and hsuan1117
Update Spanish translation | thanks to TBM13
Update French translation | thanks to zek0faws
4.8.41
2019-05-06
General
Re-enable persistent storage in incognito mode
Fix GM_xmlhttpRequest onabort callback
Fix GM_xmlhttpRequest blob response type property
Fix an issue where uBlock Origin prevents script execution
Sandbox fixes
Sync
Fix cloud services authentication