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:
  • 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)
Fixed bugs:
  • Repair compatibility of @resource files and certain serving contexts for recent versions of Firefox. (#2326)
  • Correctly refresh files when changing (e.g.) @require lines in a script. (#2311)
  • Repaired binary behavior of GM_xmlhttpRequest. (#2265)

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:
  • 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)
Fixed bugs:
  • The GM_getValue API behavior matches the documentation. (#2151)
  • Repaired the Greasemonkey menus. (#2270, #2273, #2276)

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.

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:
  • Added features to GM_openInTab. (#2257)
  • Improved performance and memory efficiency. (#2225, #2237)
  • Remember user script sort order. (#2128)
Fixed bugs:
  • 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:
  • 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)
Fixed bugs:
  • Web pages whose URLs end with .user.js should load properly. (#2178)
  • Repair memory leak related to GM_registerMenuCommand().  (#2067)

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:
  • 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)
Fixed bugs:
  • 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:
  • Fix @noframes feature. (#2110)
  • Fix injecting scripts into about:blank. (#2108)
  • Display localized script name/description correctly. (#2102)
  • Correct GM_openInTab() to only open one tab. (#2094)
  • Repair default script editor. (#2073)

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.