The entire list of bugs handled in this release is also available via the 3.10 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Fixed bugs:
Tuesday, April 25, 2017
Wednesday, February 22, 2017
Greasemonkey 3.10 Release
The entire list of bugs handled in this release is also available via the 3.10 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Fixed bugs:
Fixed bugs:
- Fix compatibility with Firefox 54. (#2480)
Friday, August 19, 2016
Greasemonkey 3.9 Release
The entire list of bugs handled in this release is also available via the 3.9 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Improve the performance of GM_getValue/GM_setValue. (#2197, #2025)
- Add a rich tooltip to the Greasemonkey toolbar button. (#2377, #2418)
- GM_getResourceText supports a second (responseType) parameter, for better compatibility with binary files. (#2376)
Thursday, April 28, 2016
Greasemonkey 3.8 Release
The entire list of bugs handled in this release is also available via the 3.8 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Scripts can now detect whether they are operating in Private Mode or not. (#2199)
Friday, February 19, 2016
Greasemonkey 3.7 Release
The entire list of bugs handled in this release is also available via the 3.7 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Added a (subtle) indicator for scripts that can not / will not download updates. (#2358)
Friday, November 20, 2015
Greasemonkey 3.6 Release
The entire list of bugs handled in this release is also available via the 3.6 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Better support for scripts with a very large number of @include/@exclude/@match rules. (#2318)
- Display a notification to the user when there is a problem parsing an edited script. (#2319)
- In GM_info the serving URL for an @resource is listed. (#2281)
- Added support for @run-at document-idle. (#2109)
Tuesday, October 20, 2015
Greasemonkey 3.5 Release
The entire list of bugs handled in this release is also available via the 3.5 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Restored "more" link in Add-ons Manager, add metadata support to fill it. (#1944)
- The Options window can (usually) be resized. (#2194)
- Allow scripting about:reader pages. (#2195)
- Various performance/efficiency enhancements. (#2243, #2259)
- Allow .cmd file as editor on Windows. (#2271)
Wednesday, September 23, 2015
The Location Hack Is Dead
For most of Greasemonkey's history (since version 0.5 in 2005, until version 2.0 in 2014, still today if the script @grants privileged APIs) scripts were guaranteed to operate in a restricted scope. Interacting with scripts on the page was difficult. The "location hack" was a technique designed to bridge this gap.
As of Firefox 39.0.3 (due to a security related update) the location hack was broken. All the user scripts which relied on it broke along with that update.
This post is just to get the word out that the location hack is no longer necessary. Read more at the wiki's Content Script Injection page, but the short answer is that if your script previously needed the location hack, you should be able to replace it with window.eval() and continue on your way.
As of Firefox 39.0.3 (due to a security related update) the location hack was broken. All the user scripts which relied on it broke along with that update.
This post is just to get the word out that the location hack is no longer necessary. Read more at the wiki's Content Script Injection page, but the short answer is that if your script previously needed the location hack, you should be able to replace it with window.eval() and continue on your way.
Thursday, September 17, 2015
Greasemonkey 3.4.1 Release
This is a quick release to fix one data corruption bug introduced in 3.4: Update checks can cause a script to be removed, rather than updated (#2274).
Friday, September 11, 2015
Greasemonkey 3.4 release
The entire list of bugs handled in this release is also available via the 3.4 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Added features to GM_openInTab. (#2257)
- Improved performance and memory efficiency. (#2225, #2237)
- Remember user script sort order. (#2128)
- Work around a Firefox bug that broke GM_openInTab when e10s is not enabled. (#2234)
- Fixed a bug in the "view script source" feature preventing the tab from opening correctly. (#2202)
- Correctly handle uninstalled scripts and user @match preferences through Sync. (#2186, 2188)
- Improved the behavior of cloneInto to work in more cases. (#2070)
- Scripts that are run-at document-start will run on about:blank. (#2041)
Friday, July 24, 2015
Greasemonkey 3.3 Release
The entire list of bugs handled in this release is also available via the 3.2 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- Allow the script preference window flex size, especially useful for smaller displays. (#2191)
- The script preference editor now allows editing @match (as well as @include and @exclude like always). (#2126)
- GM_getResourceURL is now compatible with favicons. (#1955)
- Web sites should not be able to detect that Greasemonkey is installed. (#1787)
Friday, May 29, 2015
Greasemonkey 3.2 Release
The entire list of bugs handled in this release is also available via the 3.2 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Feature enhancements:
Feature enhancements:
- The GM_openInTab() API officially supports an open_in_background argument, and always respects user configuration when not specified. (#2105, #2106, #2107)
- The GM_xmlhttpRequest() API is now compatible with responseType: 'arraybuffer'. (#2045)
- Script updates always check the server, never using the browser cache. (#1878)
- Now @match rules can be customized in script settings. (#1703)
- More consistently send cookies with GM_xmlhttpRequest(). (#2181)
- Calling abort() on the result of GM_xmlhttpRequest() should no longer cause errors. (#2154)
- Fix GM_registerMenuCommand() for @run-at document-start scripts. (#2139)
- Restore operation of the GM_info.version property. (#2132)
- The GM_xmlhttpRequest() API will no longer leak cookies from the regular session, when operating in a Private Browsing session. (#2050)
- Checking for add-on updates will enforce a server timeout, so it does not potentially hang forever. (#2029)
- Repair navigation to HTML pages whose URL happens to end in .user.js. (#1998)
Friday, March 20, 2015
Greasemonkey 3.1 Release
The entire list of bugs handled in this release is also available via the 3.1 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
This release targets primarily new bugs introduced in version 3.0.
Fixed bugs:
This release targets primarily new bugs introduced in version 3.0.
Fixed bugs:
Friday, March 13, 2015
Greasemonkey 3.0 Release
Mozilla is planning to add multi process support to Firefox. Bill McCloskey has a detailed article explaining why. In short: security, performance, stability. It just so happens that the underlying Firefox changes drastically affect the inner workings of Greasemonkey.
The Greasemonkey developers have been working hard to rewrite significant portions of the extension. There are no new features, but the internals have changed quite a lot. As a result this release is bumping the major version number, to 3.0.
Ideally, you don't notice anything. Once multi process Firefox is enabled by default, everything should continue to work as normal. But this is a "point oh" release. Perhaps we've missed something? Please let us know if you have any problems!
Note that as always it takes some time for Mozilla to review the new version. If you're interested in staying on the bleeding edge, try installing the development channel beta release.
The Greasemonkey developers have been working hard to rewrite significant portions of the extension. There are no new features, but the internals have changed quite a lot. As a result this release is bumping the major version number, to 3.0.
Ideally, you don't notice anything. Once multi process Firefox is enabled by default, everything should continue to work as normal. But this is a "point oh" release. Perhaps we've missed something? Please let us know if you have any problems!
Note that as always it takes some time for Mozilla to review the new version. If you're interested in staying on the bleeding edge, try installing the development channel beta release.
Wednesday, October 29, 2014
Greasemonkey 2.3 Release
The entire list of bugs handled in this release is also available via the 2.2 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Enhancements and changes:
Enhancements and changes:
- Added @noframes metadata imperative. (#1859)
Thursday, August 28, 2014
Greasemonkey 2.2 Release
The entire list of bugs handled in this release is also available via the 2.2 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Enhancements and changes:
Enhancements and changes:
- Added a "New User Script" button into the Add-ons Manager. (#1972)
- Scripts will always execute (or not) based on their original URL, before any possible history.replaceState() changes by the content scripts. (#1970)
- Script @name and @description values can be localized for multiple languages. (#1963)
- User scripts will never execute with chrome privileges. (#1988)
- Improved Drag-and-Drop into the Add-ons Manager. (#1980)
- Correctly show all Unicode characters when selecting View Script Source. (#1940)
- Repair GM_xmlhttpRequest() for XML type responses. (#1937)
- Fix the position of tabs created with GM_openInTab(). (#1897)
- Do not falsely trigger the install dialog when e.g. editing a script via the GitHub web interface. (#1875)
- Fixed an error when pressing cancel in the install dialog. (#1862)
- GM_log() no longer truncate at NUL bytes. (#1061)
Monday, July 21, 2014
Greasemonkey 2.1 Release
The entire list of bugs handled in this release is also available via the 2.1 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Fixed bugs:
Fixed bugs:
Tuesday, June 17, 2014
Greasemonkey 2.0 Release
The entire list of bugs handled in this release is also available via the 2.0 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release. If you are using this version and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Backwards incompatible changes:
Otherwise, these changes will break some scripts. These scripts will need to be updated to work correctly again. We don't take breaking changes lightly. It's been just under two years since version 1.0 when we last introduced major changes, and it these particular changes are both important and valuable in the long run.
Enhancements:
Backwards incompatible changes:
- For stability, reliability, and security the privileged sandbox has been updated to match the new changes to unsafeWindow for the Add-on SDK. In order to write values to unsafeWindow you will need to use the new methods cloneInto(), exportFunction(), and/or createObjectIn().
- The @grant none mode is now the default, and grants will no longer be implied when not explicitly provided. See the post Sandbox API Changes in Greasemonkey 2.0 for more detail.
Otherwise, these changes will break some scripts. These scripts will need to be updated to work correctly again. We don't take breaking changes lightly. It's been just under two years since version 1.0 when we last introduced major changes, and it these particular changes are both important and valuable in the long run.
Enhancements:
- Greasemonkey will only use explicit @grant metadata, it will no longer sniff for implicitly used APIs. (This change takes effect at install time. Currently installed scripts will continue to function as normal until they are updated/edited/reinstalled.) (#1908)
- GM_addStyle() now returns the created element. (#1892)
- Update checks will attempt to read a .meta.js file for scripts installed from any site on the internet. (#1885)
- Remove all references to the now defunct userscripts.org website. (#1884)
- Privileged scripts' event listeners will run, even when content JavaScript is disabled. (#1882)
- Turn on Firefox Sync support by default. (#1857)
- GM_xmlhttpRequest() can set the resposeType parameter on the request. (#1834)
- A rare NS_ERROR_MALFORMED_URI error when running certain scripts has been resolved. (#1930)
- Fixed a bug when parsing @match rules which could destroy configuration state. (#1912)
- A bug fix for the @match metadata, to correctly match bare domain names. (#1899)
- The database where persistent values are stored correctly vacuums its unused space. (#1879)
- A relative @require URL will now work correctly. (#1874)
- The options window will flex to fit on small (or large) screens. (#1871)
- Greasemonkey's integration with Firefox Sync should no longer cause unnecessary prompts when a master password is set. (#1852, #1870)
Sandbox API Changes in Greasemonkey 2.0
Since version 1.0 in August 2012, Greasemonkey has supported two modes: the legacy mode with privileged APIs available to the script, and a newer unprivileged mode.
When version 1.0 was initially released, this new unprivileged mode was not the default. In fact, a script was required to explicitly opt in to this new behavior, by specifying @grant none, or opt out by requesting access to any privileged API. At that time, Greasemonkey would detect API usage by scripts that requested no @grant one way or the other, automatically applying what it considered the right values. This was intended to make the migration from the legacy execution model to the new model smooth.
Today, many if not most or all scripts correctly request the APIs they need with @grant. So as of version 2.0, Greasemonkey now defaults to @grant none. It does not detect used-but-not-specified APIs, and an absence of all @grant lines means it will assume none.
When version 1.0 was initially released, this new unprivileged mode was not the default. In fact, a script was required to explicitly opt in to this new behavior, by specifying @grant none, or opt out by requesting access to any privileged API. At that time, Greasemonkey would detect API usage by scripts that requested no @grant one way or the other, automatically applying what it considered the right values. This was intended to make the migration from the legacy execution model to the new model smooth.
Today, many if not most or all scripts correctly request the APIs they need with @grant. So as of version 2.0, Greasemonkey now defaults to @grant none. It does not detect used-but-not-specified APIs, and an absence of all @grant lines means it will assume none.
Tuesday, February 11, 2014
Greasemonkey 1.15 release
The entire list of bugs handled in this release is also available via the 1.15 milestone
on GitHub. Note that as always it takes some time for Mozilla to
review the new version. If you're interested in staying on the bleeding
edge, try installing the development channel beta release.
If you are using it and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Enhancements:
If you are using it and notice problems, it's best to log an issue or let us know at greasemonkey-dev (and be clear that it's with this version).
Enhancements:
- Greasemonkey sends headers when making script update checks. (#1824)
- Allow correct installation of even scripts with invalid duplicate UTF-8 BOMs. (#1823)
- Applied a workaround for a Firefox crash that affects scripts which use setInterval() incorrectly. (#1869)
- Fixed enable/disable button state for user scripts in Add-ons Manager. (#1811)
Subscribe to:
Posts (Atom)

