Tampermonkey® by Jan Biniok

Recent Changes

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
Fixed an issue with the url property of GM_notification when no onclick listener is set
Updated GM_download to initiate downloads in parallel again
Resolved a failure when accessing xhr.responseXML of HTTP responses
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
Resolved multiple internal issues to prevent potential crashes
Corrected the functionality of window.showDirectoryPicker
Enhanced detection of new GreasyFork script URLs
Introduced id parameter in GM_registerMenuCommand to update existing commands
Added tag in GM_notification to overwrite existing notifications
Incorporated url property in GM_notification 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
Adjusted GM_download to prevent frequent triggering of onload
Refined 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
Overhauled aspects related to Instant Navigation
Accepted user-defined globals in ESLint configuration
Enhanced sandbox window addEventListener to support EventListenerObjects
Introduced a title option to GM_registerMenuCommand
Introduced feature to append script version number during disk save operations
Content-security-policy (CSP) directives are no longer relaxed by default
  • In Chrome, script injection should function as usual, but some userscripts may depend on a relaxed CSP
  • In Firefox, if the page CSP blocks injection, userscripts are now injected into a JavaScript-mode @sandbox, which may require cloneInto and friends for unsafeWindow property modification
  • The previous behavior can be reinstated by setting 'Modify existing content security policy (CSP) headers' to 'Yes'
  • This change aids in better adherence to the Mozilla add-on development policies
Locally modified scripts are not automatically updated, but can now be manually updated and confirmed for reversion
Introduced an option in GM_registerMenuCommand to prevent automatic closing of the popup on click
Corrected GM_xmlhttpRequest FormData key-value order
Adjusted ESLint to permit top-level await
Resolved BSD issue caused by incorrect getPlatformInfo response
Updated Italian translation | thanks to bovirus
Updated Portuguese-Brazil translation | thanks to igorruckert
Updated Danish translation | thanks to jhertel
Updated Chinese (simplified) translation | thanks to PaperStrike
Updated Russian translation | thanks to adem4ik
Updated Vietnamese translation | thanks to IoeCmcomc
Updated Japanese translation | thanks to maboroshin and shirayuki
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
Restored the application of custom CSS to installation pages
Fixed quirks in the darker theme
Repaired the 'Sync Now' button
Corrected the 'Save To Disk' button in the editor
Corrected 'replace all' functionality in code editor for certain strings
Enabled 'Sync Now' and 'Sync Reset' only after changes have been saved
Corrected script search badge mode to display accurate numbers
Implemented horizontal scrolling for tabs when the quantity exceeds the display limit
Search-as-you-type now consistently starts from the current position
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
Adjusted popup menu behavior when the page is viewed as a 'shortcut'
Eliminated warning message 'Tabs cannot be edited right now'
Chrome >= 71
Additional fixes related to document.write
Fix the active script count when an embedded frame is removed
Fix issues when document.write was called
Fix cookies response headers if GM_xhr.redirect is set to manual
Fix automatic detection mode of Add GM functions to this or window
Add GM_xhr.redirect option support with one of follow, error or manual as possible value
Remove GM_info.userAgent in favor of GM_info.userAgentData with all properties of NavigatorUAData and some "high entropy" values
Fix disappearing 'Yes' value of the 'Modify existing content security policy headers' option
Fix GM.download(url, name)
Add experimental GM_info.userAgent
Fix GM_setValue with binary content
Fix sometimes broken userscript link in stack trace
Allow cloud backups to be downloaded
ESLint updated to 8.32.0
Fix menu command listeners sometimes being executed multiple times
Fix GM_deleteValue to really delete values also in background
Make the storage editor show undefined values as well
Internal cleanup and rework for manifest v3
Internal rework and cleanup
Disable wrappedJSObject compatibility option by default
Fix GM_unregisterMenuCommand
Fix GM.saveTab
Make @sandbox always default to raw
Make console methods enumerable again
Fix @resource SVG handling
Allow GM_xhr streams to be canceled
Add some more entries to the download file extension whitelist
Add GM_download.details.conflictAction (works only in browser API mode)
Add GM_xhr.upload.onprogress support
Add .webp to the download whitelist
Add some more editor shortcuts
Experimental @sandbox support with possible values 'raw', 'JavaScript' and 'DOM'
  • 'raw' access means that a script for compatibility reasons always needs to run in page context. At the moment this mode is the default if @sandbox is omitted.
  • 'JavaScript' access mode means that this script needs unsafeWindow access. At Firefox a special context is created which should also bypass all remaining CSP issues. Execution in page context is used as fallback at other browsers.
  • 'DOM' access mode means that the script only needs DOM and no direct unsafeWindow access. If enabled these scripts are executed inside the extension context or at any other enabled context otherwise.
Add an option to configure available sandbox modes
Warning: Any option that enables 'DOM' mode is potentially unsecure. Userscripts that run in extension context have almost full extension permissions and can even modify and install new userscripts.
Remove document.addEventListener('DOMContentLoaded', ...) delayed event dispatching for document-start scripts executed later than the event
Remove toSource object prototype compat option
Fix issues with heavily increased page loading time caused by some scripts or @requires
Introducing Tam, your helpful assistant for getting started
Confirm script deletion in the dashboard if the trash is disabled
Show more site icons per script
Search editor as you type
Assure editor search results are scrolled in view
Improve visualization of blacklisted scripts
Allow script tabs to be closed via middle mouse click
Add a close button to the header of some more dialogs
Fix script toggle element if darker theme is enabled
Show script sync log messages at the settings page
Allow drag and drop inside the editor again
Fix active script count not being reset on tab reloads
Avoid showing a warning message at almost all tabs
Show a localized extension name to Chinese users
Update Italian translation | thanks to bovirus
Localize extension name and description
Update Japanese translation | thanks to shirayuki
Update Chinese (simplified) translation | thanks to gin3715
Update Russian translation | thanks to Tyemak
Add Macedonian translation | thanks to EntityPlantt
Add Hellenic (Greek) translation | thanks to panos78
Update Chinese (simplified) translation | thanks to iskandarma
Update Portuguese-Brazil translation | thanks to DavidBrazSan
Update Russian translation | thanks to vanja-san
Update Chinese (traditional) translation | thanks to SiderealArt
Update Danish translation | thanks to will2022
Make TamperDAV script change detection work regardless of boot order
When using WebDAV, add a trailing slash notation to collection names as suggested by the spec
Fix issues regarding enabling and disabling sync
Don't disable script updates on sync triggered change imports
Add an access token revoke button to some more cloud storage types
Note: make sure to sign out from the service first if you want to login with another account.
Dropbox: avoid upload of identical content
Support userscript editing at vscode.dev if the Tampermonkey Editors extension is installed
Minor internal cleanup
Sandbox improvements
External @require and @resource content is not updated by default anymore unless the script was updated
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
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
Add a localStorage option to manually disable the linter worker if importScripts force reloads the page
Update Turkish translation | thanks to Tmp341
Update Japanese translation | thanks to shirayuki
Update Portuguese-Brazil translation | thanks to igorruckert
Update Chinese (simplified) translation | thanks to xiaopangju
Update Chinese (simplified) translation | thanks to dnknn
Update Hindi translation | thanks to Yash-Singh1
Update French translation | thanks to omerien
Update Italian translation | thanks to bovirus
Update Russian translation | thanks to wvxwxvw
Update Chinese (traditional) translation | thanks to ndbiaw and SiderealArt
Allow userscript installation via drag and drop to options page also in case local file access is disabled
Fix prototype confusion in sandbox mode
Fix GM_getValue and GM_xmlhttpRequest response prototype confusion
Fix GM_setValue and include enumerable array values of the prototype chain as well
Fix sandbox window to have Object prototype methods agin
Fix custom ESLint config
Add known globals to editor auto-suggestion again
Make @connect * work with requests to IPs and hostnames (like localhost) again
Allow GM_getValue to return undefined as value
Improve JavaScript scriptlet support via @unwrap tag
Fix GM_xmlhttpRequest to forward status and statusText in fetch mode once available
Fix some rare exceptions happening in the wild
Sandbox improvements
Make cloud service re-authentication without user intervention less disturbing
Use up to ES2022 for linting if supported by the browser
Update ESLint
Fix several issues with older browser versions
Fix cookies overwriting in anonymous GM_xmlhttpRequest mode
Add a global and a per script setting to choose whether to run in incognito tabs
Replace worker based image cache to avoid problems at some browsers
Fix some userscript injection issues
Add some more audio formats to the download file extension whitelist
Use higher resolution if Google's favicons service is used
Always log an error at the page console if a @require or @resource couldn't be loaded
Improve GM_xmlhttpRequest event timings and make response readable on request errors as well
Make GM_notification.highlight focus the window as well
Make trash configurable (on/off/session only)
Fix issues caused by extremely delayed setTimeout(..., 0) calls
Add MouseEvent/KeyboardEvent argument to GM_registerMenuCommand callbacks
Add a focus method to the return value of GM_openInTab
GM_xmlhttpRequest.responseType 'stream' support
Make import from URL support zip, JSON and plain userscript files
Show an internal notification in case of an available extension update only
Add more second level domains (for .tld)
WebDAV improvements
Fix opening of zero byte externals
Internal rework and cleanup
Fix script positioning via drag and drop
Decrease extension size by removing jQuery dependency
Shift key + mouse click based multi select
Validate @grant as well as header tags in general
Fix storage 'reload' button and add 'reset'
Fix ESLint to allow top-level await
Warn on userscript header entries that are not prefixed by exactly one space
Use eslint-plugin-userscripts to highlight userscript header issues
Show localized userscript name and description if available where possible
Dark mode improvements
Prefer an explicit set @name:en over @name
Update page title if script is renamed by save
Keep CRLF line endings on edit
Improve scrollbar layout in dark mode
Fix TamperDAV double sync issue
Add a button to force a sync
Fix unnecessary repeated exports
Trigger sync on move to trash
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
Fix linting issues
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
Various improvements
Top-level await support
Allow experimental GM_addElement to operate on shadow DOM
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
Chrome >= 59
Implement timeout for fetch-based (i.e. anonymous) GM_xmlhttpRequest
Fix beta extension name
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
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
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
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
Fix an popup menu issue when GM_registerMenuCommand is executed
Allow scripts to be removed via editor menu
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
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
Improve OneDrive request error handling
Fix Yandex.Disk authentication
Change backup file name to avoid character issues with some WebDAV servers
Fix an issue that some remote source code changes were not applied correctly
Dark theme including OS support
Scroll tab view content instead of page
Fix version number based sorting
Check for unsaved changes before tab close/reload | thanks to narcolepticinsomniac
Add an option to enable/disable scripts at their settings tab
Always show 'Search' and 'Add new script' popup menu items
'Darker' Theme improvements
Speed-up initialization
Fix status hints
Fix script editor height and resulting problems
Always show 'Search' and 'Add new script' menu items
Fix script filter icon visibility
Fix drag and drop based script ordering at high-DPI screens
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
Remember script storage export setting
Add .co.nz to .tld
Update FileSaver.js
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
Internal improvements, cleanup and speedup
Fix sometimes not working second level domain check
Implement GM_notification silent option
Fix GM_notification onclose listener
Make GM_notification user interaction mandatory if possible
Dark theme including OS support
Fix script update confirmation page
Fix GM_openInTab.close when the tab is currently moved
Sandbox improvement
Fix installation of UTF-8 encoded local files
Remove functionality to import native scripts to reduce the number of used permissions
Remove unused contentSettings permission
Re-enable persistent storage in incognito mode
Fix GM_xmlhttpRequest onabort callback
Fix GM_xmlhttpRequest blob response type property
Speed up script execution after iframe reload/navigation
Fix an issue where uBlock Origin prevents script execution
Allow multiple @webRequest tags
Sandbox fixes
Support SHA-256 subresource integrity hashes independently of the browser's crypto API
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
Fix cloud services authentication
Add Belarusian translation | thanks to bogachenko
Update Turkish translation | thanks to Tmp341
Update Russian and Ukrainian translation | thanks to bogachenko
Update Italian translation | thanks to bovirus
Update Japanese translation | thanks to shirayuki
Update Chinese (traditional) translation | thanks to hsuan1117
Update Vietnamese translation | thanks to vigov5
Update Indonesian translation | thanks to ReksaTresna
Update Portuguese-Brazil translation | thanks to igorruckert
Update Spanish translation | thanks to TBM13
Update Russian translation | thanks to bogachenko
Update Indonesian translation | thanks to ReksaTresna
Add Dutch translation | thanks to The947thTokay
Update French translation | thanks to zek0faws
Update Indonesian translation | thanks to Azhe403
Update Chinese (traditional) translation | thanks to PeterDaveHello and cedarkuo
Limit script content integrity check to Chrome Web Store beta versions
Re-enable GM_cookie for official beta versions
Disable GM_cookie support for now
Request host access if runtime permissions are limited
Speed-up initialization in incognito mode
Use a hash to detect script content changes
On installation disable and blacklist all pre-installed scripts
Fix GM_xmlhttpRequest header modification at Chrome 72+
Fix GM_xmlhttpRequest.finalUrl at Chrome 70+
Avoid stringification when making a GM_xmlhttpRequest with responseType 'document' or 'json' which could crash the browser
Feature-Policy related fixes
Fix a compatibility issue with Slimjet browser
Fix console issues at Chrome >= 60
Fix some GM_xmlhttpRequest header issues | thanks to scriptmaster
Don't send the extension origin on GM_xmlhttpRequests
Fix sync to TamperDAV
Improve WebDAV protocol compatibility for NextCloud support
Increase WebDAV protocol compatibility
WebDAV based cross-browser sync (beta; tested with OwnCloud and TamperDAV)
Dropbox based cross-browser sync (beta)
Fix popup script execution reporting
Fix GM_webRequest redirect via from/to
Better userstyles.org userscript support
Fix a memory leak when using GM_xmlhttpRequest which could lead to crashes
Recognize and warn on reduced runtime host permissions
Status message and notification cleanup
Fix GM_openInTab.name
Allow repeated space at some script header tags (author, namespace, copyright)
Speed up @include regexps by optimizing .*.*
Compress zip archives again
Fix script externals import issues
Fix import from zip files with folders
Use https for all links to tampermonkey.net
Fix GM_xmlhttpRequest.responseType 'document' support
Allow script editing via external editor by using TamperDAV
Reduce memory footprint (by doing less caching)
Add GitLab subgroup support
Add several .com.* 2nd level domains
Allow ESLint inline configuration again to make globals definition work
Import and export of external resources (@resource and @require)
Replace zip.js by JSZip
Fix an internal cache related problem which could have caused data-loss
Switch from JSHint to ESLint 4.19.0
Clean GM_tabs data on tab close
Fix script externals update
Add .co.th to .tld
Whitelist data: URIs at CSP secured pages
Fix GM_download events sometimes being fired too early
Fix an issue which could break page scripts
Avoid update requests to Greasyfork scripts with a pinned version
Fix GM_notification click listener
Fix GM_download progress events
Fix GM_download.abort
Fix issues if GM_openInTab.name= or GM_openInTab.close was used at more than one tab
Fix homepage icons linking to the same URL after a script was closed
Avoid issues with very long script version strings
Fix GM.openInTab setParent option
Make userscripts appear at developer tools
Speed up sandbox creation
Make @require and @resource content editable (if applicable)
Fix fetch-driven GM.xhr with partial content
Add an option to control script local file access
Add userstyles.org as known script source and add includes on installation if no @include is set
Allow window.name to be set in sandbox mode | thanks to Mahab
Ensure script installation after navigation to unparseable userscripts fails silently | thanks to adaugherity
Increase script retrieval timeout
Show menu commands below the userscript entry at the popup menu
Fix missing option to set WebDAV sync credentials
Don't show script updates if the user is active or a fullscreen window is present
Enable section save button on changes only
Minor layout refresh
Fix blurry icons
Avoid popup menu flicker on GM_registerMenuCommand usage
Update dark theme | thanks to narcolepticinsomniac
Add narcolepticinsomniac's dark theme matching editor layout
Make the script filter bar work if its visibility is enforced via Custom CSS
Invert (and fix) meaning of the case-insensitivity search option
Further search bar improvements
Allow the editor button bar to be restored via Custom CSS
Set ESLint ECMAScript version according to the browser's capabilities
Disable inline ESLint config if unsupported (Chrome+MS Edge)
Lint in background for more editor responsiveness
Limit displayed script name length
Update CodeMirror to version 5.35
Rework editor search
Add popup menu option to exclude a script from a domain
Remember scroll position on tab switch
Add a lot of editor commands to the menu
Fix script update setting saving
Fix display of SVG icons
Better @downloadURL none support
Minor script install page fix
Allow script source code to be searched as well
Editor menu
Fixes related to the modified script close icon
Fix script storage editor to not reset to its initial data on every tab selection
Align all script names horizontally
Show a different close icon if a script was modified
Make @require and @resource feature icons a link to the script's externals tab
Simplify script bug report buttons
Reverse the alignment of the on/off slider to match the common direction
Fix internationalized names at the popup menu, tab titles and document titles
Reduce the default popup menu column count to one
Replace stale icons by Font Awesome icons
General layout refresh
Regression: Fix missing feature icons on item row re-creation | thanks to narcolepticinsomniac
Fix misaligned table cell borders | thanks to narcolepticinsomniac
Mobile view improvements (i.e. via Firefox Android or Yandex Browser)
Update spinner
Fix source being displayed on script installation even without editor focus
Dark theme improvements | thanks to narcolepticinsomniac
Improve script https access detection
Slight dark theme adjustments
Add alt text to images
Dark theme | thanks to narcolepticinsomniac
Allow scripts to be sorted by their enabled state
Add DuckDuckGo favicon service
Remove script type column in case there is no native extension
Add fold all support to the editor
Update Hungarian translation | thanks to hubalazs
Update Spanish translation | thanks to rocammo
Update Italian translation | thanks to bovirus
Update Japanese translation | thanks to shirayuki
Update Hungarian translation | thanks to hubalazs
Update Portuguese-Brazil translation | thanks to igorruckert
Update Japanese translation | thanks to ScratchBuild
Update Chinese (simplified) translation | thanks to efreedev
Add Croatian and Serbian translation | thanks to faultyfuse
Add Hindi translation
Update Russian translation | thanks to Dr-Yukon
Update Turkish translation | thanks to ali-demirtas
Update French translation | thanks to zek0faws
Add Vietnamese | thanks to Connor37
Update Russian translation | thanks to BychekRU and irainman
Update Norwegian translation | thanks to LarsSimonsen
Update Czech translation | thanks to engycz
Update Indonesian translation | thanks to DhannyNara
Update Arabic translation | thanks to Alayady
Update Russian translation | thanks to BychekRU
Add Turkish translation | thanks to alidemirtas94
Update Chinese | thanks to zzjin and wangyou
Really add Norwegian translation | thanks to DandelionSprout
Update Polish | thanks to hawkeye116477
Update Arabic translation | thanks to atefBB
Update Chinese | thanks to ivysrono and yfdyh000
GM_cookie support
Fix some GM.API names and make more functions return promises
Add ZenBurn editor theme
Visual bookmark support
Fix an issue with `GM_setValue` and certain characters | thanks to tiansh
Update Dropbox OAuth URL
Add a title to all extension tabs
Support more content types (i.e. SVG)
Update JSHint to 2.9.5
Add blob: and data: protocol support to `GM_xmlhttpRequest`
Sandbox fixes
Log a warning if checking a script's includes/excludes takes longer than one second
Improve experimental `Instant Injection` mode
Allow scripts to run at RSS feeds
Fix an issues that prevents scripts with a '@' character in name from being updated 🙄
Don't treat manually installed themes as native scripts
Improve `@resource` mime type detection
Use a timeout for change detection at script updates
Handle cloud storage service timeouts
Fix internal crashes
Fix issues at secured iframes
Fix an issue which could break page scripts
Add `GM_*` API usage stats
Experimental `Instant Injection` mode
Fix issues at Chrome < 58
On script updates show all changes additionally to the new source
Fix the editor save button
Fix script positions after synchronization run
Update CodeMirror editor to version 5.26.0
Add option to auto trim trailing whitespace from modified lines on save
Fix script tags with optional ISO 3166 country code (i.e. `@name:zh_CN`)
Don't ask for a donation if Tampermonkey wasn't started for a long time 😳
Don't show a *clude-changed warning if scripts are saved
Google Drive based cross-browser sync (experimental)
Deprecate old sync options (pastebin and brower sync version 1)
`GM_xmlhttpRequest.responseType` 'document' support
Make `GM_openInTab` support the `setParent` flag
Add com.mx to .tld
Show a topbar announcement at the dashboard if a new Tampermonkey version is available
Warn on possibly dangerous `@connect`, `@include`, `@match` and `@exclude` changes | thanks to nux
Experimental ``GM_webRequest`` and `@webRequest` support - please discuss this API here
Fix icon setting at Chrome < 53
Allow `GM_xmlhttpRequest` headers to get deleted (by setting to null)
More icon improvements, re-add some transparency
Fix the Alt+Up/Down hotkeys being used twice
Fix keyboard shortcut help page at MacOS
Add Arabic translation | thanks to ahmadmysra
Wait up to 15 seconds for a ask page response to fix issues due to slow or busy computers
Move the browser sync button reset to the sync section
Fix the icon looking blurry sometimes
Add Indonesian translation | thanks to DhannyNara
Update Polish translation | thanks to hawkeye116477
Simple script storage editor
Allow all browsers to use synchronization
Allow script update servers to signal unchanged content
Add GitLab and Bitbucket support
Avoid some 'Unchecked lastError' warnings | thanks to tophf
Add Portuguese translation | thanks to Sara F.
Update Polish translation | thanks to hawkeye116477
Add some more keyboard shortcut commands, but don't use a shortcut by default
Update Polish translation | thanks to hawkeye116477
Add an option to add custom CSS to the Tampermonkey UI
Add an option to disable the update check on a script base
Allow scripts to run at XML pages | thanks to Thom1729 for the slight lead
Fix some sandbox functions (set/clearTimeout/Interval and add/removeEventListener) to properly handle unusual arguments
Use "stickering" to improve the icon visibility at dark themes
Log `@require` related errors at the page console
Fix some rare internal exceptions
Update Korean translation | thanks to KENNYSOFT
Improve the workaround of Chrome issue 649942
Fix `GM_xmlhttpRequest.responseHeaders` to contain 'Set-Cookie' items as well
Add Korean translation | thanks to KENNYSOFT
Workaround Chrome issue 649942
OS X: Workaround Chrome issue 457887
Fix an issue that can prevent scripts from working when Chrome starts
Make xhr response headers available at readyState 2 and higher
Add time and browser to backup names
Fix relative URL handling
Add some `auxclick` event listener to recognize middle mouse clicks at Chrome 55
Re-design the `fast script injection mode` (disabled by default)
Remove the experimental `fast script injection mode`, because it causes problems with iframes even when disabled
Fix script execution at reloaded/navigated iframes
Fix sync issues of script comment properties
Fix doubled include/exclude editor dialogs
Make * include file URIs as well
Update the ES6 script template
Fix running script instance count again
Fix some internal errors
Add more criteria to the dashboard search
Make the search case insensitive
Update Chinese (simplified) translation | thanks to wenketel
Update Spanish translation | thanks to leoncastro
Fix doubled running script instance count | thanks to zanetu
Fix issues when unloading iframes | thanks to zanetu
Options: Allow script list filtering (name, @include, comments, ...)
Add some more hotkeys (Ctrl+a to select all scripts, Esc to clear the filter)
Make the 'fast' script injection option the default
Allow installation of scripts without any @include and `@match` again
Editor: fix some issues when moving lines
Firefox: fix extension reload for version 51 and above
Experimental: add an option to speed up script injection
Update Chinese (simplified) translation | thanks to gqqnbig
Allow script selection at the import dialog (Ctrl+click toggles all)
Experimental: Add an option to allow communication with cooperate pages (i.e. allow script hosters to detect Tampermonkey and query whether a script is already installed)
Fix issues when handling large dataset
Update Chinese (simplified) translation | thanks to Cp0204
Chrome >= 31
Fix cloud storage authentication
Fix some cloud storage related issues
Minor internal fixes
Safari: fixes for the Safari developer edition
Make the CSP modification option work again
Allow backup and restore with cloud storages (Google Drive, Dropbox, OneDrive)
Update Chinese (traditional) translation | thanks to TobySkarting
Update Czech translation | thanks to d3jv
Remove autodetection of some compatibility options
Minor internal fixes
Update JSHint to 2.9.2
Fix the sandbox on{event} properties
Fix the editor replace code and show which part of the script text is going to be replaced
Update Chinese (simplified) translation | thanks to lychichem
Update saveAs to 1.3.2
Firefox: fix GM_download
Firefox: fix drag and drop script positioning
Fix cancelation of `GM_xmlhttpRequest` requests (not completely working in fetch mode)
Use a fallback in case the page CSP wasn't relaxed (disabled setting or cached page)
Update Portuguese-Brazil translation | thanks to oliveirafabio
Firefox: make the manifest Firefox 47 compatible
Fix a problem at CSP secured cached pages
Fix font size issues at Firefox
`GM_xmlhttpRequest.data` FormData support (Chrome 51+ or Firefox required)
`GM_xmlhttpRequest.url` now supports Location and URL objects
Fix `GM_xmlhttpRequest` response header format if fetch (== anonymous) is used
Speed up script injection at cached pages a little bit
Safari: fix a problem with some iframes
Fix issues at Chrome 52
Fix sometimes occurring exceptions if 'debug scripts' is enabled
Support Base64 encoded SRI hashes
Disable spell-checking at input fields
Fix two minor internal crashes
Log the error message if `GM_xmlhttpRequest` failed due to @connect
Make `@grant none` supersede all other @grants again | thanks to terjanq
More `document.write/document.open` fixes
Allow script installations from Github release download URLs
Firefox: workaround issue 1215025 by setting a minimum popup menu size
Fix issues when `document.write` was called
Log `@connect` error messages at the request source tab
Always allow `GM_xmlhttpRequest` to access same-origin URLs
Fix `GM_xmlhttpRequest.fetch/anonymous` encoding
Fix `@connect` + relative URLs
Download meta data from the source URL if `x-userscript-meta` is supported
Fix a minor options page issue when scripts were updated manually
Editor: Fix the replace button
Fix an issue that sometimes the update check could enter an endless loop
Fix the script update to request meta information first again
`GM_xmlhttpRequest.headers.cookie` support
Update Chinese (traditional) translation | thanks to JasonHK
Editor: add line break option
Make sure the common console is used if `@grant none` is set
Improve the main domain detection of `@connect` dialogs
Automatically measure the script runtime when the script debug option is set
Remove deprecated 'strong mode'
Fix freezes at long data URIs
Fix some names at exported ZIP files
Enable JSHint esnext option by default
Fix `@run-at context-menu`
Fix an issue that could cause data loss on scripts that trigger the `@connect` dialog twice (due to a redirect) and both times 'Always allow' is choosen | thanks to CptPicard
Update Slovak translation | thanks to emitor
Add an additional edit button for every script
Fix a drag and drop positioning issue
Start and stop drag and drop via mouse up/down and auto-scroll when reaching a border
Fix a problem that caused the script update check to run only on startup
Fix Portuguese-Brazil translation (now used by default if appropriate)
Fix issues with `GM_getTabs`, `GM_getTab` and `GM_saveTab` being undefined
Safari: workaround a popup menu size issue
Fix a CSP issue that could prevent script execution
Make `GM_addStyle` ignore CSPs
Fix internal crashes
Show warnings at the options and install page for (partially) blacklisted scripts
Workaround an popup menu layout issue at Windows when DirectWrite is disabled
Add more `@connect` related translations
Fix sometimes empty editor tabs
Translate some `@connect` related strings
Fix a sometimes wrong .tld interpretation
Minor layout improvements
Once one script is selected allow selection via Shift+Up/Down
Improved script enabler
Layout beautification
Allow scripts to be renamed without a forced tab close
Avoid warning messages at Chrome 50
Update Chinese (simplified) translation | thanks to lychichem
Reload @externals when a script is updated, but use the browser cache
Fix relative local requires at remote drives
Require at least one @include or `@match` statement to make a script run
Script factory reset batch method
Safari: More popup menu beautification
Simple (non-advanced) editor improvements and fixes
Check @connects for pure second level domains
Fix entries at the externals tab
Request meta data and externals with the `no-cache` option set
Yet another console fix
Update Spanish translation | thanks to franciscocorrales
Safari: Fix popup menu background color
Require a `@grant` statement in order to access GM_* functions
Secure `@connect` statements (Allow specials, domains, IPs or localhost)
Fix `GM_xmlhttpRequest` binary mode encoding
Fix enhanced editor
Update Czech translation | thanks Petr T.
Update Czech translation | thanks Petr T.
Editor: don't interpret search strings besides the regular expression syntax
Translate some CodeMirror editor internal strings as well
Safari: fix sometimes occurring exceptions
Make the disabled state icon semi-transparent
Fix console.info
Safari: fix i18n for some languages
Initial Firefox support (FF 46+ required)
Layout fixes for Chrome 50
Rename `@connect-src` to @connect for more expressiveness (the old name will still work)
Improve and fix the editor option to save on focus loss | thanks to scriptmaster
Add editor font size option
Drop @user-agent support
Internal rework
Safari: fix indefinite popup width increase again
Fix `GM_registerMenuCommand` | thanks to tophf
Speed-up the editor again
High resolution icons
Internal rework
Update Chinese (simplified) translation | thanks to lychichem
Fix an issue that could make @connect-src confirmation dialog not appear when needed
Increase the dialog timeout to a mimimum of 20s
Rename and move the allow/forbid buttons for more clarity
Reconfirm not whitelisted `GM_xmlhttpRequest` requests of scripts using * as `@connect-src` value
Add buttons to permanently add/forbid all future `GM_xmlhttpRequest` requests
Purge queued confirmation requests when the tab is closed or changed it location
Drop `DOMNodeInserted` event repeating for document-start scripts
Speed-up the editor at scripts with long lines
Internal rework
Safari: fix issues with preloaded tabs
Add @connect-src support to allow `GM_xmlhttpRequest` requests only to predefined domains
Add possibility to check subresource integrity
Make the forbidden pages setting apply to `GM_xmlhttpRequest` as well
Don't cache script updates and downloads
`GM_getResourceURL` sometimes returned just a base64 encoded string
Internal rework
Dolphin/UC: speedup and minor fixes
Safari: fix `GM_openInTab.focus` and close
Ukrainian translation added | thanks to 4ITEP
Internal cleanup
Safari: minor i18n fix
GM_xmlhttpRequest.binary support
Internal cleanup
Safari: fix indefinite popup width increase
Editor: toggle comment support
Improve syntax highlighting and shortcut behavior
Add help tab to describe shortcuts
Fix some Monokai theme colors
Editor theme support (Use Alt+Pause to cycle)
Highlight active line gutter
Don't outline trailing spaces at the active line
Auto-complete if only one option is available
Allow the back button to close script tabs
Add Alt+Left/Right shortcut to switch open tabs
Update French translation | thanks to Alexgruissan
Update Portuguese-Brazil translation | thanks to Istey
Update Chinese (simplified) translation | thanks to lychichem
Update CodeMirror editor to version 5.9
Add auto-lint option (depending on the the script size)
Add auto-completion (Ctrl+Space)
Add trailing whitespace highlighting
Add code folding capability
Add Sublime Text keymap
Use Shift+F3 for reverse search as well
Make the debug option strict mode compatible as much as possible
Update script template to make strict mode work with @require
Add Slovak translation | thanks to emitor
Fix enabling of original includes, matches and excludes
Scripts that are using @noframes were always marked as running
Fix the 'never' option of the update interval setting | thanks to The Tramp
Extend possible @grant values by 'window.close' and 'window.focus'
Fix run-at and noframes script setting import
Fix popup menu for Chrome 33 and below
Fix `GM_info.matches`
Fix CDATA escaping
Script templates
Fix double executed CM hotkeys
Fix import of user includes, excludes and matches
Add .webm to the default download whitelist
Add experimental settings to enable/disable/force strong and strict mode
Improve CodeMirror key handling when the editor is visible but not focused | thanks to tophf
Add @uuid support (existing UUIDs won't be touched)
Rework the syntax check to not use alert boxes anymore
Safari: fix `GM_xmlhttpRequest` header support as much as possible
Fix global strict mode | thanks to 18763C27
Adapt the sandbox to the latest Chrome changes
Streamlined German translation | thanks to rillig
Rework to use strict mode internally
Show check results when running a syntax check
Safari: fix internal crashes
Fix `GM_info.version`
Safari: fix dashboard in incognito mode
Android: Disable WebView hardware acceleration to fix Tampermonkey Dolphin crashes
Add Hungarian translation | thanks to Calebzor
Layout beautifications
Add high resolution images
Make the malicious script warning an info
Make badge icon flicker less (thanks issue 495005)
Fix column count on popup menu reloads
Add some UI options (sort, 3 column layout) for the popup menu
More workarounds for issue 495005
Fix relative requires with double-dot segments | thanks to Tominator
Recognize and outline scripts installed from Github
Update JSHint to 2.8.0
Make unregistered menu commands disappear again
Fix an issue that could cause pages to slow down or stay blank | thanks to legnaleurc
Fix a problem with setTimeout/clearTimeout if `@grant` is not none | thanks to zanetu
Update version parser to handle Mozilla's toolkit version format
Update Spanish translation | thanks to gangsthub
Fix an issue with registering and unregistering event listeners
Fix the return value of GM_addValueChangeListener
`GM_xmlhttpRequest.onloadstart` support
Internal cleanup
Allow scripts to use strict mode and therefore ES6 features
Always display lower case URLs at the script update to prevent wrong interpretation of homoglyphs
Add a shortcut (Ctrl+Shift+E) to toggle Tampermonkey's enable state
Add an option to completely disable the script detection
Hide the maybe confusing 'Process in Chrome' button
Fix some issues after document.write was called
Rewrite of the script update functionality
Remove hash based update detection (uso:hash)
Reworked the internal menu command source
Update CodeMirror editor to version 5.3
Update zip.js to 7ff4905
Modify `GM_openInTab` defaults according to issue #209
Workaround a Chrome issue that can delay Tampermonkey's start-up
Ignore ports at `@match` rules
Make sure `@match` matches any port of a host
Fix `GM_xmlhttpRequest.finalUrl` for URLs with special characters
Update Italian translation | thanks to danog
Allow installation at Yandex Browser again
`GM_xmlhttpRequest`: fix `finalUrl` in case two Tampermonkey extensions are running
Android 5: Make the Tampermonkey WebView inspectable again
Workaround an Android 5.0 WebView issue that caused the 'Please wait' dialog to stay forever
Improve file save support for export functionality
Make `GM_download` support dataURIs
Add a preview to the badge color chooser
Yet another GM_openInTab.name fix
Safari: fix a context menu problem after menu command clicks
Protect safe window properties like `confirm`, `alert` and `prompt`
Fix a race condition when the `name` property of tab opened by `GM_openInTab` is set
Add some high(er) resolution icons to Safari builds
Implement Tampermonkey settings import and export
Workaround issue 165854 which can cause too early fired `DOMContentLoaded` events
Make badge color configurable
Add `document-idle` support
Allow `document-end` scripts to run slightly earlier
Fix native script import for very very old scripts
Fix execution at Coowon browser
Allow `window.name` of windows opened via `GM_openInTab` to be set
Add more debug for some storage issues (maybe related to issue 374592)
Fix a problem at third party browsers without webNavigation API support
Update Russian translation | thanks to kvantor
Update Czech translation | thanks to Baegus
Fix `DOMContentLoaded` being fired too early
Fix unnecessary internal warning
Chrome: Add new @run-at option called 'context-menu'
Further reduce the need for CSP modifications
Fix execution at Chrome 31 and below
General: Exclude more Google API URLs
Trim white- and blacklist entries on save to avoid accidentally not working statements
Repeat the broken-browser-profile test three times before showing a warning
Runtime: Some fixes related to the page load events
Add downloadMode property to `GM_info` that reflects the according user setting
Options: Fix sometimes not working sort buttons
Ask for user satisfaction, promote issue reporting and ask for contribution after two weeks of usage
Update Italian translation | thanks to Ragnarokkr
Update Portuguese-Brazil translation | thanks to mclemente
Android: improve context separation
`GM_xmlhttpRequest`: make `finalUrl` always contain fully qualified URLs
Rework to support Opera again
Chrome >= 29
Editor: fix vim mode
Speed up script injection
Safari: Fix installation of large script by using the extension storage
Safari: Fix reset to factory defaults
Rework the script enabler to allow colorblind people to see a difference | thx for the hint go_boy
Rework Tampermonkey to check the page blacklist before the script @includes
Options: add a save button to editor section
Options: allow script import by URL
popup menu: make the complete column clickable if possible
Update Czech translation | thanks to Baegus
Android: Fix languages
Deliver the used font with the extension
Add Czech translation | thanks to Baegus
Dolphin: make backspace work
Use the https protocol wherever possible
Update Chinese (traditional) translation | thanks to Monkeytiger
Chrome: Fix script execution at pre-rendered tabs
Dolphin: improve stability and context separation
Safari: Opening the popup menu could sometimes make Safari crash
Internal rework
Android support via Tampermonkey for Dolphin Browser
Known problems:
* Android 4.4+ with Dolphin 11? and JetPack disabled
* Downloads (i.e. from Youtube) are not working with JetPack enabled
Some IPC message size related fixes
Fix pages that rely on errors thrown by document.evaluate
Safari: Secure all extension pages with a CSP meta tag
Hide popup menu if a link was clicked
Fix a race condition that can cause the 'Please wait' dialog to stay forever
Speed up the options page by just sending the @externals size instead of the content
Fix script execution at pre-rendered tabs
Fix a race condition that can cause the 'Please wait' dialog to stay forever
Fix pages that rely on errors thrown by document.evaluate
Allow scripts that make use of the @user-agent tag to execute code
Prefer @icon64 over `@icon` for notifications
Fix a problem that image button actions are triggered twice
Some people see the editor getting stuck on opening, try to debug this with a new message
Improve image button layout | thanks to samantharojas1
Internal cleanup and rework for Safari support
Fix fire order of 'load' and 'DOMContentLoaded' events | thanks to jreumay
Remove Tamperfire feature (userscripts.org is down anyway)
Cleanup unused translations
Fix a problem with scripts without namespace that was introduced at the last version | thanks to qwerty472123
Make sure scripts with quotes inside their name/namespace are handled correctly
Add visual feedback for finished actions at the options page
Add an option to control the @externals cache
On script import allow given timestamps to be set as modification date
Workaround the IPC message size limit for `GM_xmlhttpRequest` calls that return a large amount of data
Fix some rare happening internal crashes
Editor: fix indent character setting
Add a new tab mode to indent lines by a tab press
Update CodeMirror editor to version 4
Make sure the `@require` order is preserved also if some items need to be loaded first
Update G+ button blacklist entry
Avoid usage of deprecated XHR properties position and totalSize
Update Japanese translation | thanks to shirayuki
Fix `document.evaluate` calls that don't make a find for elements that aren't part of the DOM
Increase the storage test timeout for writing and reading back a value to 3 minutes
Fix @namespace, @author and @copyright parsing for values with whitespace
Make the default script template use `@grant none`
Update Spanish translation | thanks to Daniil
Fix the popup menu when a script was enabled/disabled
Load the script source at the options page dynamically
Show the 'new script' tab always again
Fix the import page layout if multiple scripts are displayed
Show a warning at the options page if no `@grant` directive is set
New multi select action 'toggle enable'
Fix a problem with the script syntax and runtime error handling
Fix some issues at the Tamperfire page
Disabled some debug output
Avoid Chrome warning about deprecated webkitIDB* properties
Fix `GM_download` invocation with URL and name parameter
Update Japanese translation | thanks to shirayuki
Speed up the options and actions page by transfering less data
Update Chinese (simplified) translation | thanks to tiansh
Don't check for a development layout anymore (this triggered a content verification Chrome issue)
Use JSHint for syntax checks
Introduce version 2 of Chrome Sync (synchronizes scripts by their UUID instead of the source URL)
Make sync related imports not trigger an sync export anymore
Speed up further sync runs by remembering failed import attempts
Rework TESLA code for easy sync method enhancements (i.e. Google Drive some day)
Fix execution at Chrome 20 and 21
Make the homepage column sortable
More internal cleanup
Fix a sometimes happening crash that was introduced by the last changes
Show a topbar announcement when a sync is delaying a manually triggered script update
Enable GM_download by default
Modify the page CSP only if scripts are supposed to run
Fix an issue that could make the script storage contain old values | thanks to scriptmaster
Minor internal cleanup
Make Tampermonkey work at pre-rendered tabs
Fix a race condition that can cause GM_getValue to temporarily read old values under some special conditions
Update Japanese translation | thanks to shirayuki
Update Chinese (traditional) translation | thanks to Monkeytiger
Allow scripts to be sorted by the occurrence frequency of their includes
Emulate Greasemonkey's unsafeWindow access helper functions
Fix GM_addStyle
Delay Tampermonkey updates until the browser is re-started
Experimental i18n support for @name and @description tags (@name[en-US], @name:pt_BR, @name de_DE, @name#fr)
More XMLHttpRequest2 feature support (posting a FormData object still doesn't work)
Fix an issue that could lead to repeated update notifications
Remove the unsafeWindow retrieval option
Allow window.close to close all but the last existing tab
Make some columns at the options page sortable
Revert to the old style icon
More internal improvements
Fix script update problems if a script is installed twice
Fix an issue that sometimes caused trouble at GM_openInTab, `GM_xmlhttpRequest` and GM_download
Fix an issue that could prevent the editor from accepting input
Make Tampermonkey work also with a less generous CSP
Improve TESLA and the script update process if a script source is not reachable
Reduce number of BlackCheck version checks
Minor internal refactoring
Export the script storage at all export formats
Fix the script settings import
Fix a crash if non-zip files are selected for import
Keep an overridden @updateURL/@downloadURL on save
@supportURL support
Fix some issues if multiple scripts share the same name
DRY the scripts header parser
Use the ask page for permission requests too
Show issue and bug report icons at the option and popup menu
Update some translations | thanks to shirayuki
Fix a crash if an @updateURL is given, but neither a source URL nor a @downloadURL is known
Fix the script syntax check button
GM_download support
When a new script is saved, don't overwrite an existing one with the same name
On save don't show an alert if the action was canceled by the user
Add an option whether to export the script storage
Don't show an error page if a script import failed
Show ZIP export/import progress in %
Fix sometimes not appearing desktop notifications at dev builds on Linux
Fix some Chrome sync related issues
Translation fixes
Export the script's storage for ZIP files too
Convenience improvements at the ask page (OK button is focused, Esc aborts the action)
Show a question mark if an online help is available for a config option
Add context support to GM_xmlhttpRequest
Keep the multi-select row visible at the top when the page is scrolled and scripts are selected
Recognize and outline scripts installed from MonkeyGuts
Update GreasyFork install URLs
Update OpenUserJS icon
Hand-over the URL to Chrome if a userscript can't be parsed
Fix forced close on new script saving
Show parse errors on script saving if any
Set the modification date of the zipped scripts
Add a `closed` property and an `onclose` listener to the `GM_openInTab` return value
Import/export via ZIP file
Recognize script settings on import again
Update Japanese translation | thanks to shirayuki
Update Chinese translation | thanks to Harry-Chen
Fix script export
Fix script removal
Fix script version numbers parsing
Fix periodic externals update
Outline @resource and `@require` usage at the dashboard
Wherever appropriate add an `externals` tab to the script view
Fix script version numbers at the options page
Fix a crash at Opera
Update Japanese translation | thanks to shirayuki
Update Chinese translation | thanks to zzjin
Store `@require` and @resource data at Tampermonkey's internal DB
Use new Chrome API for notifications
Rework Tampermonkey's icon
Show the `disabled` icon only if the page is blocked for extensions or Tampermonkey is disabled
PageFilter: black- and/or whitelist pages where scripts are allowed to run
Update Japanese translation | thanks to shirayuki
Fix execution at Chrome 21
Fix GreasyFork script updates
Fix layout glitch if no script is installed
Fix a problem at `@require` or @resource request timeouts
Fix sometimes wrong behaving ask page button
Fix an issue that crashes the options page at Opera
Include even more untranslated strings
Encapsulate userscripts a little bit more in the sandbox
Update Japanese translation | thanks to shirayuki
Reworked the communication between background and UI
Fix mouse cursor when hovering over script names
Fix some in rare cases happening race conditions that can cause glitches at the actions and options pages
Refresh the script information after a script reset
Script distinction by UUIDs
Script @name now don't has to be unique when @namespace is different
Improve the script position movement
Some fixes related to script re-naming
Add some still untranslated strings | thanks to shirayuki
Yet another ask page layout fix
Layout fixes for the user interaction page
Name buttons according to the planned action
Use the user interaction page for script imports too
Don't try to sync changes between option tabs anymore -> using only one tab is recommended, otherwise just reload the second tab
Detect and report database wipes causes by Chrome's database recovery
Fix an issue that prevented scripts that were installed from a local URI from being synced even when they contain a @downloadURL tag
Slight rework of the execution context of scripts that use `@grant none`
Internal cleanup
Update Russian translation | thanks to KolpakovAleksandr
Update Portuguese-Brazil translation | thanks to mclemente
Don't purge script storage on script re-installation
Allow a page reload of the recently introduced ask page
Use the current locale setting at the ask page
Add a hint to the i18n Github repo to the language setting
Fix script installation from file URIs
Always store the latest known script source
Fix an issue that re-opens the script editor tab too often
Fix script enabler for three ore more digit position numbers
Recognize and outline scripts installed from OpenUserJS too
Add Italian translation | thanks to Ragnarokkr
Update French translation | thanks to ozzii
Decrease extension size by minifying CSS files too
Rework the script installation process and don't use the confirmation box for that anymore
Workaround a problem of `chrome.i18n.getMessage` with numeric parameters
Rework `@match` expressions before adding them to the user excludes
Fix an internal race condition when initially loading required scripts
Replace the on/off icons by pure CSS
Fix indexed access to the `window.frames` variable
Recognize and outline scripts installed from GreasyFork
Attach `Accept: text/x-userscript-meta` to the request headers when checking for script updates
Fix the problem that sometimes too much @included page favicons are shown
Update Japanese translation | thanks to shirayuki
Tweak the scripts site extraction from regexp style @includes
Add an icon to report malicious scripts downloaded from userscripts.org
Note: an account at the script's source page may be required
BlackCheck Beta - a community driven blacklist for malicious userscripts
Tampermonkey's translation files are now a Github repo
Update Portuguese-Brazil translation | thanks to mclemente
Fix assignments to `window.location`
Beautify installation page in case some information wasn't set
Add Portuguese-Brazil translation | thanks to mclemente
Rework the script installation page to not instantly show a confirmation box
Fix auto-page-reload when a script was enabled
Fix new data writes to the SQL storage
Internal rework - start using `promises` for cleaner code
Rework the update notification code
Allow multi selection at the includes/excludes editor
Reopen the active script on options page reloads
Fix the editor's backward search
Set the badge icon info to '?' if it is set to 'Tamperfire' but this feature is disabled
Assure that the DB is converted/updated in non-incognito mode only
Pause incognito Tampermonkey if a conversion needs to be done
Reload the popup menu when a menu command was (un-)registered
Close the popup menu when a menu command was clicked
Various internal improvements
Fix sometimes not working instant script opening (Ctrl+click at the popup menu)
Reset all drop down and input values on a script factory reset
Make the @run-at option persistently overrideable
Fix the 'no frames' option (was only visible at the first opened script)
Slight layout improvements
Increase the profile/storage test routine timeout to avoid false alarms
Allow GM_unregisterMenuCommand to be called by a menu handler
Update syntax check
Check for broken Chrome profiles again
Make sure that `DOMContentLoaded` is fired before the load event
Fix userscript installation from file URIs
Update Chinese(simplified) language file | thanks to egomoge
Add some robustness
Remove/Rename doubled scripts that were created by the last update in case a normal and an incognito window was open
Note: In case you've modified one of the doubled scripts its name will be prefixed with '< Modified Copy >'
Report a broken Chrome profile to the users to avoid bad ratings because of a bug in Chrome again
Fix userscript installation from file URIs
Assure that the DB is converted/updated in non-incognito mode only
Pause incognito Tampermonkey if a conversion needs to be done
Support of `GM_unregisterMenuCommand`
Lower the number of write accesses to `localStorage`
Fix sometimes not triggered 'load' event callbacks
Fix missing icons at Chrome >= 32
Use a new tab for script installations at Chrome 33 too
Add an option where to open script links (`current tab`, `new tab`, `default`)
Note: `default` means to create a new tab for the buggy Chrome versions 31 and 32 and to use the current tab otherwise
Update French translation file | thanks to ozzii
Add GM_saveTab to store tab related data
Set Chrome sync as prefered TESLA option by default
Use non-cross-origin xmlhttpRequests if FormData is used
Update Spanish language file | thanks to jnerin
Don't try to sync scripts from file URIs anymore
Improve userscript detection
Fix loading of non-default layout
Fix enable/disable icon at the popup menu
Update +1 button URL
Minor stability improvement
Fix sometimes not called event listener when in 'strict' mode
Prepare script distinction by UUID not name
Drop some conversion routines (when updating very old Tampermonkey versions some settings might get lost)
Prepare loading of different UI layouts
Rework the config system to store only modified values
Add an options to not drop all changes made in incognito mode (still in beta state!)
Add an option where to open script links (`current tab`, `new tab`, `default`)
Note: `default` means to create a new tab for the buggy Chrome versions 31 and 32 and to use the current tab otherwise
Update French translation file | thanks to ozzii
Update Spanish language file | thanks to jnerin
Report a broken Chrome profile to the users to avoid bad ratings because of a bug in Chrome
Analyze a localStorage key whether to use the previous storage (WebSQL) again
Fix an issue that after the latest conversion your scripts can be hidden until Tampermonkey is restarted. Sry!
Fix an issue that can prevent the config from being saved and loaded at Chrome < 29
Fix a bug that can break some pages
Disable Tampermonkey in incognito mode if Chrome < 28
Completely revert active tab retrieval to chrome.tabs.getSelected
Disable statistics in incognito mode by default
Speed up Tamperfire page sorting
Fix file:// URI @resource of @run-at document-start scripts
Allow `GM_xmlhttpRequest` callbacks to use the XMLHttpRequest status enumeration (this.DONE, this.OPENED, ...)
Minor internal fix
Use a deprecated API to make the context menu work at Windows again
Add Option to disable Tampermonkey to the context menu
Use 'move' cursor at the script order icon
Fix sometimes failing CSP and Location HTTP header detection
Fix an issue that Tampermonkey sometimes makes the last open tab active
GM_xmlhttpRequest ontimeout event support
Fix `GM_xmlhttpRequest` with responseType option (if set there is still no cross-origin support)
Allow auto evaluated event listeners
Add timeouts to @resource and `@require` retrieval
Refresh @resources and `@require` data a little bit more often
Internal fixes and rework
Make Tampermonkey use the 'split' incognito mode
Use chrome.storage to be able to access the config data in incognito mode
Require the 'storage' permission by default
Revert all script, script storage and settings related changes when an incognito mode Tampermonkey instance is closed
Fix `GM_xmlhttpRequest` cookies if the source tab is in incognito mode
Support GM_registerMenuCmd's accessKey argument
Fix GM_setClipboard's data handling when the data type is set via a string type argument | thanks to raf.jaf
Fix TamperFire's install button | thanks to chuim
Fix script execution if the user-agent is overwritten by the dev tools | thanks to s6mike
Remove the proxy option at the unsafeWindow retrieval setting
Make scripts that use `@grant none` work if the unsafeWindow retrieval is set to native
Distinguish between a click at 'Dashboard' and 'Options'
Fix encoding of @required scripts that contain non-ASCII characters | thanks to fefe
Enforce UTF-8 encoding of GM_getResourceText
Update French translation file | thanks to ozzii
Fix encoding of @required scripts that contain non-ASCII characters | thanks to fefe
Enforce UTF-8 encoding of GM_getResourceText
Update French translation file | thanks to ozzii
Build system improvements
Fix retrieval of large @resource and `@require` objects
Add compatibility option for the Greasemonkey's DOM element attribute 'wrappedJSObject'
Improve data type detection at @resource URLs
Use a new sandbox object per script instead of namespace
Note: scripts with the same namespace can't see the same global variables anymore
Use the sandboxed window object as execution context ('this') too
Hide and show the native import icon depending on the enabled state
Fix @resource in association with binary data and 'file://' URIs
Add a placeholder for the current URL to the new script template
Speed up scripts that use `@grant none`
Rework GM_setClipboard API to accept a mime-type parameter
Fix environment of scripts with `@grant none`
Fix periodical script re-opening if the options page was opened to show a script
Native Script Import
Simplified installation process by showing only one confirmation box
Fix GM_setClipboard to not replace carriage return characters | thanks to elundmark
Reworked script installation dialog
Further improvements for the Opera extension
Fix modification events for the options page(s) (Chrome >= 28)
Fix auto reload on script enabling/disabling via context menu (Chrome >= 28)
Internal cleanup
Russian translation file | thanks to Mustang
Fixed values passed to GM_addValueChangeListener callback
Update French translation file | thanks to ozzii
Chrome 30 support
Always use the value of the first occurrence of a userscript header tag
Initial Opera Next 15 support