April 28, 2016
Version 3.8

Feature enhancements:

    Scripts can now detect whether they are operating in Private Mode or not. (#2199)

Fixed bugs:

    Corrected a situation wherein some scripts could be executed twice. (#2371)
    Improved reliability of Sync service. (#2351)
    Improved handling of HTML pages served with .user.js URLs. (#2280)


April 18, 2016
Version 3.8beta3


March 4, 2016
Version 3.8beta2


February 19, 2016
Version 3.8beta1


February 19, 2016
Version 3.7

Feature enhancements:

    Added a (subtle) indicator for scripts that can not / will not download updates. (#2358)<br>

Fixed bugs:

    Using @resource URLs for images could fail to work in multi-process Firefox. (#2341)
    Invalid metadata in the template prevented the "New Script" feature. (#2336)
    Drag-and-drop install of a script could launch two install windows. (#2292)


November 20, 2015
Version 3.6

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)


October 20, 2015
Version 3.5

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)


October 16, 2015
Version 3.5beta4


September 30, 2015
Version 3.5beta3


September 24, 2015
Version 3.5beta2


September 23, 2015
Version 3.5beta1


September 17, 2015
Version 3.4.1

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).


September 16, 2015
Version 3.4.1beta1


September 11, 2015
Version 3.4

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) <br>
    Fixed a bug in the "view script source" feature preventing the tab from opening correctly. (#2202) <br>
    Correctly handle uninstalled scripts and user @match preferences through Sync. (#2186, 2188)<br>
    Improved the behavior of cloneInto to work in more cases. (#2070) <br>
    Scripts that are run-at document-start will run on about:blank. (#2041)


August 28, 2015
Version 3.4beta3


August 24, 2015
Version 3.4beta2


August 3, 2015
Version 3.4beta1


July 24, 2015
Version 3.3

Feature enhancements:

    Allow the script preference window flex size, especially useful for smaller displays. (#2191) <br>
    The script preference editor now allows editing @match (as well as @include and @exclude like always). (#2126)<br>
    GM_getResourceURL is now compatible with favicons. (#1955)<br>
    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)


July 7, 2015
Version 3.3beta1


May 29, 2015
Version 3.2

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)


May 29, 2015
Version 3.2beta4


May 23, 2015
Version 3.2beta3

https://github.com/greasemonkey/greasemonkey/issues?q=milestone%3A3.2+is%3Aclosed


May 11, 2015
Version 3.2beta2

April 29, 2015
Version 3.2beta1


March 20, 2015
Version 3.1

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)


March 13, 2015
Version 3.0

Multi process Firefox compatibility. 


February 20, 2015
Version 3.0beta1

Support for Firefox Multi-process (Electrolysis) mode.


Wednesday, October 29, 2014
Greasemonkey 2.3 Release

Enhancements and changes:

    Added @noframes metadata imperative. (#1859)

Fixed bugs:

    Improved disk usage of script values' SQLite databases. (#2036)
    Fixed the responseType feature for GM_xmlhttpRequest(). (#2032)
    Fixed a null variable reference in Firefox Sync. (#2014, #2017)


Thursday, August 28, 2014
Greasemonkey 2.2 Release

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)

Fixed bugs:

    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

Fixed bugs:

    Fix script updates. (#1938)
    Repair GM_xmlhttpRequest(), broken in 2.0. (#1937)
    A script will no longer be overwritten by an @require of the same name. (#1906)
    Repaired the functionality of the "Undo" button after uninstalling a script. (#1898)


Tuesday, June 17, 2014
Greasemonkey 2.0 Release

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.

If your script already specifies @grant none, these changes will not affect you.  If your script does not interact with unsafeWindow, these changes will not affect you.

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)

Fixed bugs:

    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)


Tuesday, February 11, 2014
Greasemonkey 1.15 release

Enhancements:

    Greasemonkey sends headers when making script update checks. (#1824)
    Allow correct installation of even scripts with invalid duplicate UTF-8 BOMs. (#1823)

Fixed bugs:

    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)


Wednesday, January 15, 2014
Greasemonkey 1.14 Release

Fixed bugs:

    Certain script install/uninstall actions could cause Firefox to fail to open (Windows only). (#1833)


Wednesday, December 04, 2013
Greasemonkey 1.13 Release

Enhancements:

    All scripts installed from userscripts.org will use HTTPS by default, so that automatic updates will work. (#1800)
    All stored script values (GM_setValue) move from the (soon to be limited) Firefox global preferences store into a per-script database, so that this limit will not break scripts. (#1798)
    Log a more understandable error if GM_getResourceText is called with a nonexistent resource name. (#1796)
    User script installation will continue if the @icon is unavailable. (#1793)
    Firefox Sync support, to keep installed User Scripts the same on all your browsers. (#1573)

Fixed bugs:

    We will not (incorrectly) say "Greasemonkey is disabled" when using the Show Script Source button. (#1828)
    Fix saving the new script template value. (#1808)
    Keep the Add-ons Manager display up to date as scripts change. (#1804)


Thursday, August 15, 2013
Greasemonkey 1.12 Release

Enhancements:

    The template for the New Script... feature is now customizable (#1753)
    Users can now force a remote update even for scripts where it was otherwise intentionally disabled.  (#1743)

Fixed bugs:

    A situation that could cause script details displayed in the Add-ons Manager to be incorrect was resolved.  (#1778)
    When using Scratchpad as a script editor, the run features are hidden.  (They don't work correctly for user scripts; reload the page to rerun the script.)  (#1771)
    Script updates will detect Coral CDN failures and use direct checks instead.  (#1722)


Thursday, July 18, 2013
Greasemonkey 1.11 Release

Enhancements:

    The GM_info object now has a scriptSource property, like Tampermonkey.  (#1738) 

Fixed bugs:

    Scripts will no longer run on data: scheme URLs.  This is a security enhancement.  (#1767)
    Fixed errors logged to the console when opening the "Websites..." Monkey Menu item.  (#1762)
    Fix GM_openInTab() behavior when moving tabs across windows.   (#1758)


Thursday, June 20, 2013
Greasemonkey 1.10 Release

Enhancements:

    Navigating to a user script while Greasemonkey is disabled will display a warning, in case the intent was to install the script.  (#1727)
    Added a context parameter to GM_xmlhttpRequest(). (#1725)
    Added GM_setClipboard() API method.  (#1514) 

Fixed bugs:

    Fix some corner cases with the value displayed for a script's modified date in the Add-ons Manager.  (#1744)
    Fix GM_openInTab() behavior with relative URLs.   (#1719)


Monday, May 13, 2013
Greasemonkey 1.9 Release

Fixed bugs:

    Keep the script name and version in sync, for the Add-ons Manager display. (#1734, #1710)
    Fix launching editor from script preferences window, when certain extended characters are in the @name or @namespace. (#1732) 
    Fix automated script updates (the first automatic update could cause future updates to stop working).  (#1723)
    The abort() method for GM_xmlhttpRequest was not permissioned properly.   (#1714)


Thursday, February 21, 2013
Greasemonkey 1.8 Release

Enhancements:

    Added shortcuts to the various Greasemonkey web sites in the monkey menu. (#1704)
    The redirectionLimit option has been added to GM_xmlhttpRequest(). (#1690)
    By default the script editor is now Scratchpad, which is built into Firefox.  This can be configured in the Greasemonkey Options dialog. (#1688)

Bug fixes:

    Scripts work at about:blank again. (#1696)
    Drag-and-drop into the Add-ons Manager works now. (#1663)


Thursday, January 17, 2013
Greasemonkey 1.7 Release

Bug fixes:

    A change to the Magic TLD feature in Greasemonkey 1.6 had adverse performance impact, when enough installed scripts make use of this feature. (#1689)
    Two translations were missing from the cs locale. (#1687)


Thursday, January 10, 2013
Greasemonkey 1.6 Release

Enhancements:

    Properly run scripts on pages that specify only a username in the URL. (#1677)
    Tweak the "New User Script.." feature which allows adding a user script from the keyboard so that it's harder to overwrite installed scripts. (#1672)
    Add the line number to the "use of return outside functions is deprecated" warning. (#1670)
    Update the pattern matching for the Magic TLD part of @include rules. (#1351)

Bug fixes:

    Calling window.location.replace() with only an #anchor part of the URL no longer fails. (#1584)


Monday, November 19, 2012
Greasemonkey 1.5 Release

Enhancements:

    Improve the clarity of the error message when installing a script with a missing sub-resource. (#1666)
    Create opt-in only statistics gathering.  See the post about this. (#1651)
    When displaying an update that has been found but not installed due to user settings, show the version that will be installed by the update, not the version already installed.  (#1497)

Bug fixes:

    Fix a failure to download updates when one is found. (#1669)
    Fix the enable/disable pattern on the User Script Commands sub menu. (#1665)
    Do not break the script when adding a bad (i.e. 404) URL as a new @require. (#1661)
    Avoid loops when the resource at downloadURL and updateURL disagree about the newest available version. (#1659)
    Fix when relative URLs are provided for downloadURL or updateURL. (#1658)


Sunday, October 07, 2012
Greasemonkey 1.4 Release

Enhancements:

    The User Script update code has been revamped and simplified to be completely integrated with the standard Firefox Add-on update system.  Opting in and out of update checking and installing now uses the base Firefox settings.  If you are opted out of automatically installing updates, there should be an "Updates" tab in the Add-ons Manager where you can review and optionally install them.

Bug fixes:

    Fix updates (see enhancement above).  Especially: a bug that installed updates far too often, when they should not have been.  (#1646, #1647)
    Fix an obscure case which could cause Firefox to crash in Ubuntu Linux. (#1632)


Thursday, September 27, 2012
Greasemonkey 1.3 Release

Enhancements:

    The "Show Script Source" button in the install dialog is enabled as soon as the script source is downloaded. (#1640)
    Use new style non-modal popup notifications where old toast style notifications were used. (#1563)

Bug fixes:

    A false "update" was installed on every page load. (Cause: #1636 Fix: #1643)

Greasemonkey 1.2 Release

I accidentally left issue #1643 in this release, and noticed it just a bit after making it public.  So this release has been pulled.

Enhancements:

    Enhance compatibility with Add-on Update Checker. (#1621)
    Add resources property to GM_info. (#1610)

Bug fixes:

    Fix __exposedProps__ issues with GM_xmlhttpRequest and GM_listValues. (#1637, #1629) 
    Don't auto-install script updates when that preference is turned off. (#1636)
    Run scripts at a http://user:pass@domain/ style URL. (#1631)
    Fix GM_registerMenuCommand (broken in 1.1). (#1627)


Thursday, September 06, 2012
Greasemonkey 1.1 Release

Enhancements:

    Compatibility with upcoming Firefox changes. (See http://bugzil.la/553102; #1595)

Bug fixes:

    Fix a Firefox crash caused by a bad greasemonkey-script: URL (i.e. passing the empty string, or a nonexistent resource name to GM_getResourceUrl().) (#1623)
    Re-fixed the setTimeout + alert issue; it popped up again in the grant none case. (Note: Firefox 16 fixes this for real. This just applies the same old workaround.) (#1620)
    Fixed the character encoding of the es-CL translation. (#1616)
    Fixed the display of the "Enabled" check mark in the monkey menu. (#1611)
    Fixed the "Show Script Source" button for some scripts.  (#1609)
    Killed the final remaining zombie compartment (i.e. memory leak). (#1608)


Friday, August 24, 2012
Greasemonkey 1.0 Release

Enhancements since Greasemonkey 0.9.x:

    New metadata, @grant, specifies which special APIs a user script will have access to.  Specifying @grant none means no special API access, and thus no security restrictions.  Then, everything you're used to doing in JavaScript in a web page (including but not limited to jQuery) should just work.  For legacy scripts (which have no @grant line at all), Greasemonkey will try to guess what @grant lines you should have.  See http://wiki.greasespot.net/@grant for more detail. (#1425, #1427, #1558)
    The toolbar button is colorful (in the enabled state) on Mac OS X. (#1597)
    The metadata @unwrap has been removed, as being unwrapped is now the default.  The wrapper will still be applied to scripts that have a "return" statement outside of any function, but this may be removed in the future, so make sure your scripts (and requires) don't do this; authors may manually add an anonymous function wrapper around the script for the exact same behavior. (#1568, #1592)
    Scripts that @run-at document-start have a valid document object to modify, E.G. for adding <style> tags; but still before any part of the document is loaded. (#1565)
    GM_xmlhttpRequest() accepts a timeout option.  (#1561)
    GM_getResourceURL() works with a special protocol handler.  (This is more efficient/faster than the data: URI encoding used previously.)  For example, specify images and styles with URLs to your @resources.
    The standard Firefox web developer console works for console.log() et al.  (#1564)
    Automatic updates work correctly with scripts installed from userscripts.org (but still note the require secure updates setting). (#1555)
    Require at least Firefox 14.0 (no more Firefox 3 compatibility).  (#1426, #1522)
    Error reporting is much more consistent and obvious than in the past. (#1404, #1592)
    The alert() workaround (see http://bugzil.la/647727) is not applied for Firefox versions that do not exhibit this bug.  (#1318, #1350)

Bug fixes since Greasemonkey 0.9.x:

    When downloading a script not encoded in UTF-8, display an error message to the user (rather than just failing). (#1588)
    The "show script" button in the install dialog is disabled until the download of the script file is complete. (#1586)
    Scripts with missing or broken "==UserScript==" metadata will work.  (#1562)


Thursday, August 09, 2012
Beta: Greasemonkey Release 1.0beta7

Enhancements since Greasemonkey 0.9.x:

    New metadata, @grant, specifies which special APIs a user script will have access to.  Specifying @grant none means no special API access, and thus no security restrictions.  Then, everything you're used to doing in JavaScript in a web page (including but not limited to jQuery) should just work.  For legacy scripts (which have no @grant line at all), Greasemonkey will try to guess what @grant lines you should have.  See http://wiki.greasespot.net/@grant for more detail. (#1425, #1427, #1558)
    The metadata @unwrap has been removed, as being unwrapped is now the default.  The wrapper will still be applied to scripts that have a "return" statement outside of any function, but this may be removed in the future, so make sure your scripts (and requires) don't do this; authors may manually add an anonymous function wrapper around the script for the exact same behavior. (#1568, #1592)
    Require at least Firefox 14.0 (no more Firefox 3 compatibility).  (#1426)
    Scripts that @run-at document-start have a valid document object to modify, E.G. for adding style tags; but still before any part of the document is loaded. (#1565)
    GM_xmlhttpRequest() accepts a timeout option.  (#1561)
    GM_getResourceURL() works with a special protocol handler.  (This is more efficient/faster than the data: URI encoding used previously.)  For example, specify images and styles with URLs to your @resources.
    The standard Firefox web developer console works for console.log() et al.  (#1564)
    Error reporting is much more consistent and obvious than in the past. (#1404, #1592)

Bug fixes since Greasemonkey 0.9.x:

    Scripts with missing or broken "==UserScript==" metadata will work.  (#1562)
    The alert() workaround (see http://bugzil.la/647727) is not applied for Firefox versions that do not exhibit this bug.  (#1318, #1350)
    When downloading a script not encoded in UTF-8, display an error message to the user (rather than just failing). (#1588)
    The "show script" button in the install dialog is disabled until the download of the script file is complete. (#1586)


Tuesday, July 31, 2012
Greasemonkey 0.9.22 Release

Bug fixes:

    Fix memory leak related to GM_registerMenuCommander. (#1578)


Monday, May 14, 2012
Greasemonkey 0.9.20 Release

Enhancements:

    When the toolbar is in text-only mode, the "Greasemonkey" label on the toolbar button will be striked-out when Greasemonkey is disabled. (#1544)
    When selecting a script editor, the previous choice will be remembered and displayed. (#1546)

Bug fixes:

    A change in 0.9.19 broke setTimeout() for a variety of cases, that has been reverted. (#1549, #1552, #1553)
    Scripts with long names and/or file names could fail to install in Windows. (#1548)


Monday, April 23, 2012
Greasemonkey Release 0.9.19

Enhancements:

    A custom wrapper to make setTimeout() work even when Javascript is disabled. (#1209)
    Restored the "script installed successfully" toast notification. (#1511)
    Scripts download more incrementally; the install dialog should appear as soon as the script metadata has been downloaded, not after the entire script is downloaded.  (#1523)

Bug fixes:

    Specifying a script editor in a non-ASCII folder will work (Firefox 4+ only). (#1173)
    Scripts installed while the Add-Ons Manager is open will show their icon. (#1535)

Plus a variety of minor code cleanups and enhancements behind the scenes.


Tuesday, February 28, 2012
Greasemonkey 0.9.18 Release

Enhancements:

    Automatic update checking can be enabled, without automatically installing updates. (#1455)
    Script updating is enabled by default. Please read the blog post describing  this new feature. (#1462, #1463, #1480)

Bug fixes:

    Add-on Manager shows correct data when re-installing (e.g. to update) a script. (#1476)
    Re-installed scripts are put into the same directory as the original. (#1515)
    The matches property of GM_info is now a list of (pattern) strings. (#1516)


Saturday, February 11, 2012
Greasemonkey 0.9.17 Release

Bug fixes:

    Error: "aForced is not defined".  (#1517)


Friday, February 10, 2012
Greasemonkey 0.9.16 Release

Enhancements:

    Expose information (including Greasemonkey version) to user scripts via GM_info. (#1452; also see #1512)
    Track the install time of scripts.  (This is designed to better support automatic updates for scripts ... still coming soon.)  (#1513)

Bug fixes:

    Editing script from the "New User Script" feature, to change any remote dependency (@icon, @require, @resource), could the script to malfunction. (#1504)
    Enabling/disabling scripts from the status bar menu (Firefox 3 only). (#1506)
    Incompatibility with GreaseFire.  (#1507)
    Failures during "Check for Updates" from the Add-on manager. (#1509)



Wednesday, January 25, 2012
Greasemonkey 0.9.15 Release

Bug fixes:

    Editing an installed script to change any remote dependency (@icon, @require, @resource) could cause one or many scripts to be deleted. (#1466, #1502)
    Certain @requires can break a script, due to javascript semicolon insertion rules.  (#1491)
    Toggling the enabled state of a script via the main (Tools > Greasemonkey) menu failed on Mac.  (#1496)
    Installing a script from local disk failed in 0.9.14.  (#1501)


Friday, January 20, 2012
Greasemonkey 0.9.14 Release

Enhancements:

    For new script installs, and installed scripts' updates (still not enabled by default) there is a progress meter for the download. (#1419)

Bug fixes:

    Revert the changes to GM_xmlhttpRequest() in 0.9.13 (which were supposed to have no effect, but created a subtle bug). (#1472)
    Guarantee that we do not create a specific kind of memory leak.  (#1482)


Thursday, November 03, 2011
Greasemonkey 0.9.13 Release

Enhancements:

    Script updates install automatically. (#1442)
    In 0.9.12 we added update checking.  In 0.9.13 updates install automatically, but there's still some discussion over how to handle this best (#1455), so checking is still not enabled by default.  We hope to figure this out by the 0.9.14 release.  Some other update related work was done, mostly to make Firefox 3 work better.  (#1421, #1422, #1423)
    Provide an Options item in the Monkey Menu. (#1447)
    Add a Cancel button to the Options window. (#1454)

Bug fixes:

    GM_getResourceText() was broken. (#1438)
    You can properly select an application (bundle) for the editor on Mac OS X.  (#1439)
    Fix GM_openInTab() for Firefox 3. (#1444)
    Fix when pages reassign the location during page load. (#1445)


Thursday, September 29, 2011
Greasemonkey 0.9.12 Release

Enhancements:

    Script update checking (limited!). (#1053)
    We have started to build script update checking.  In 0.9.12, it is never automatic in the background.  You may choose to check one script (right click and choose "Find updates") or all scripts ("Check for updates" in the tool menu near the top of the Add-ons Manager).  If updates are found they will then be displayed.  Please use this feature and let us know if it works well, or if it breaks somehow.  Once we're confident that it works, we'll turn it on by default (automatically checking in the background) in a future release.
    Scripts run with the latest available version of Javascript. (#1403)

Bug fixes:

    Shared window object. (#1278)
    Before 0.9.0, it was possible to set properties on the window object, and other scripts would be able to read those properties.  This behavior was never supported, but as the compatibility fix that broke it is no longer necessary, it has been reverted.  It is still not suggested that you leverage this quirk, it is not a fully supported feature and may break again in the future.
    Right-clicking a script in the Monkey Menu works, even when no editor is configured.  (#1405)
    Fix launching the editor.  (#1409)
    Scripts with @match could break loading all other scripts.  (#1414)
    When browsing local files, menu commands for all scripts (on all tabs) no longer display.  (#1424)
    Fix GM_openInTab(). (#1428)


Tuesday, September 06, 2011
Greasemonkey 0.9.11 Release

Bug fixes:

    Work around for a problem Tab Mix Plus causes when opening links in new tabs. (#1406)


Monday, August 22, 2011
Greasemonkey 0.9.10 Release

Bug fixes:

    You will be prompted to pick a new editor if the existing setting is an invalid path. (#1386)
    Changing views within the Add-ons Manager could cause the user script sort order to be wrong. (#1394)

Enhancements:

    When a script causes an unhandled error, the display in the Error Console will be a bit easier to read. (#1396)
    When Growl is not installed, Greasemonkey's notifications are less obtrusive. (#1397)
    A range of internal code clean ups. (#1395, #1398, #1399, #1400, #1401)


Friday, August 12, 2011
Greasemonkey 0.9.9 Release

Bug fixes:

    Pressing 'back' could rarely cause a script to run twice on the same page. (#1083)
    Extended characters would get corrupted in new scripts. (#1236, #1315)
    A full disk could cause loss of data (especially config.xml). (#1301)
    (Affecting 0.9.8) Scripts would not install (all scripts in Firefox 3: #1389, always for certain scripts: #1391)

Enhancements:

    GM_xmlhttpRequest() provides progress events. (#1081)
    GM_xmlhttpRequset() provides a synchronous mode. (#1269)
    By popular demand: a UI for editing @includes and @excludes. (#1362)


Monday, August 01, 2011
Greasemonkey 0.9.8 Release

Bug fixes:

    User scripts cannot run in any about: pages besides about:blank. (Security enhancement; #1375)

Enhancements:

    Global, user specified, @exclude rules. (#1002)
    New @run-at metadata imperative, which supports value document-start, as well as the standard document-end behavior. Please see the documentation. (#1103)
    Support for @match metadata imperative, as implemented by Google Chrome. Thanks to Scriptish for original implementation. (#1377)
    Support for full regular expression syntax in @include/@exclude rules. Please see the documentation. (#1378)


Thursday, July 14, 2011
Greasemonkey 0.9.7 Release

Bug fixes:

    Scripts with broken @icons will install, just with no icon. (#1214)
    Editing the @icon line of a script will take effect immediately. (#1215)
    Remote resources (@require, @resource, @icon) that redirect to other URLs will now work. (#1222)

Enhancements:

    Compatibility with Firefox 6 and 7. (#1357)
    GM_openInTab() will respect the insertRelatedAfterCurrent preference. (#1370)


Friday, June 24, 2011
Greasemonkey 0.9.6 Release

Bug fixes:

    GM_openInTab() fails in Firefox 3. (#1361)
    Firefox 5: Error in Add-ons Manager. (#1367)

Enhancements:

    Add "get user scripts" link to the Add-ons Manager. (#1213)
    Pass site cookies when downloading scripts. (#1359)


Thursday, May 26, 2011
Greasemonkey 0.9.5 Release

Bug fixes:

    Installing and uninstalling the same script many times does not work properly. (#1353)
    GM_xmlhttpRequest() does not work in Firefox 5 betas. (#1354)
    (Introduced in 0.9.4:) Cannot enable nor disable scripts. (#1355)
    Installing the first user script while the user scripts pane of the add-ons manager is open leaves the "no user scripts" warning. (#1356)

Enhancements:

    The installation dialog shows the script version, if provided with @version. (#1349)


Tuesday, May 24, 2011
Greasemonkey 0.9.4 Release

Bug fixes:

    The GM_openInTab() API again returns a handle to the window object. (#1298)
    Using alert() will not break setTimeout() nor GM_xmlhttpRequest(). (#1318)
    NOTE: we currently only have a work-around in place, watch mozilla bug 647727 for a real fix.

Enhancements:

    When re-ordering execution of scripts: clicking the first/last item disables sooner/later items, and picking any of these will switch to Execution Order sort (if it is not already selected).
    Removed the detail view for user scripts, which did not contain any more information than the list view.


Thursday, April 28, 2011
Greasemonkey 0.9.3 Release

Bug fixes:

    Error message logged ("Redeclaration of const document")/high CPU usage when closing the sidebar. (#1226, #1298)
    Navigating to a .user.js inside a frame works like anywhere else. (#1248)
    The list of user scripts in the Add-ons Manager would sometimes forget its sort order. (#1307)
    Compatibility enhancement with AutoPager (broken in 0.9.2). (#1344)
    Passing a non-function to GM_registerMenuCommand()'s commandFunc broke the entire menu, and items showed up in the wrong order (both broken in 0.9.2). (#1346, #1347)

Enhancements:

    Passing the Referer header works, for GM_xmlhttpRequest(). (#1240)
    Accessibility: The sort buttons in the Add-ons Manager work with keyboard input (space/enter). (#1345)

The entire list of bugs handled in this release is also available via the 0.9.3 milestone on GitHub. Note that as always it takes some time for Mozilla to review the new version, and it's available on the all versions page. If you are using it and notice problems, it's best to either let us know at greasemonkey-dev or log an issue (and be clear that it's with this version).


Tuesday, April 05, 2011
Greasemonkey 0.9.2 Release

Bug Fixes:

    Failure on OSX when Growl is installed, but not running. (#1264)
    Incorrect display of Greasemonkey icon in Add-ons window (Firefox 3.6, OS X). (#1284, #1291)
    Provide a sort bar, to control display order of the scripts in the Add-ons manager, for Firefox 4. (#1293)
    Remove "accelerator" keys from GM_registerMenuCommand(). (#1312, previously)
    Work around incompatibility with Personas Plus extension. (#1253)

Enhancements:

    Provide a toolbar button, and remove the status bar icon for Firefox 4. (#1227)
    When re-installing a script (e.g. for an update), keep it in the same execution order. (#1267)
    Keep the add-ons manager view up to date when changing (installing/enabling/disabling/etc) user scripts. (#1305)

It should be available soon, pending normal delays for review.


Monday, January 24, 2011
Greasemonkey 0.9.1 Release

Bug fixes:

    Fix user script sandbox wrapping. This deals with lots of problems like eval(). (#1258, also #1254, #1260, #1263, #1265)
    If your script(s) stopped working with 0.9.0, this should fix them.
    Fixed rare bug when installing scripts. (#1250)
    Fixed errors when Growl is not installed on Mac OS X. (#1249)
    Fixed problems with relative @require imperatives. (#1262)

New features/improvements:

    Allow sorting by descending (as well as ascending) execution order. (#1217)

Known issues:

    Incompatible with All-in-One Sidebar. (#1252)
    Incompatible with Personas extension. (#1253)


Tuesday, January 18, 2011
Greasemonkey 0.9.0 Release

New Features:

    Compatibility with Firefox 4! Note that because of Firefox bug 612025 this is somewhat unsafe for 4.0b7 to 4.0b9 (inclusive). Beta 10 should be fixed (the nightly build on January 14th definitely is). Firefox 4 support is still preliminary. Everything probably works, but not everything works really well. The backlog of bugs for the next release is primarily focused on this.
    Complete integration with the standard Firefox Add-ons dialog, treating User Scripts as just another kind of browser add-on.
    For Firefox 3, the User Script management dialog now looks like:

    And for Firefox 4.0:
    A global options dialog, where the script editor can always be selected. (#1012, #1109)
    Live in-place editing for the entire script, including metadata (@name, @require, @include, @exclude, etc.). (#1148, #1157, #1165)
    Web pages that end in .user.js are loaded as normal, instead of being installed as a user script. (#1184)

Bug fixes / minor enhancements:

    All Greasemonkey windows respond to standard close window keyboard shortcuts. (#1085)
    Support for @icon metadata imperative, displayed in the new add-ons manager integration. (#1096)
    Support user and password for GM_xmlHttpRequest(). (#1100)
    Support @version metadata imperative. (#1110)
    Suppress spurious Error: not well-formed (// ==UserScript==) error messages. (#1134)
    The "install" menu item is removed. (#1196)


Thursday, April 08, 2010
Greasemonkey 0.8.6 Release

Features:

    Add a hidden preference to allow greasing the unmht: scheme. (#1038)
    Allow relative URLs to be used for GM_xmlhttpRequest(), just like standard XMLHttpRequest. (#1057)
    Performance enhancements and code improvements to internal logic behind @include and @exclude rules. (#1070 #1074 #1089)
    Added translations: ca-ES, cs, fr, nl, sr-RS, vi.

Bug fixes:

    GM_xmlhttpRequest() can fail when Object.prototype has been modified. (#1065)
    Two warnings upon making new script via "New User Script". (#1069)
    Installing scripts from the hard drive (instead of via the web) can fail. (#1077)
    Fix a flaw that could allow websites to prevent Greasemonkey from running. (#1082)
    Error "this.menuCommanders is undefined" bug when closing a browser window. (#1087)
    Error "ScriptDownloader is not defined" when performing view source on a user script. (#1091)


Tuesday, February 02, 2010
Greasemonkey 0.8.5 Release

    Add an abort() method for GM_xmlhttpRequest. (#1007)
    Increase compatibility with bleeding-edge Firefox versions. (#1054)
    Display a "welcome" page to new users when they install. (#1006)
    Fix hooking into the console object for Firebug 1.5.

Thanks very much to our users on the mailing list that caught a few issues in the release candidates.


Tuesday, December 08, 2009
Greasemonkey 0.8.4 released

    Properly specify the .finalUrl for GM_xmlhttpRequest results. (#1063)


Tuesday, December 08, 2009
Greasemonkey 0.8.3 Release

Greasemonkey 0.8.3 aka "0.8.20091129.3" has been released. It contains the following changes:

    Add Firefox 3.6 compatibility flag.
    Use platform-dependent line endings when creating a script file. (#1004)
    Properly handle error events, and calling the onerror callback, in GM_xmlhttpRequest. (#1008)
    Add 'binary' option, to do a .sendAsBinary(), for GM_xmlhttpRequest. (#1017)
    GM_setValue() will display a descriptive error, when it does not receive enough arguments. (#1005)
    Fixed a bug that would cause the Greasemonkey info bar not to appear sometimes, when viewing a script's source.
    Updated translations from babelzilla.org.


Saturday, September 26, 2009
Greasemonkey 0.8.2 Released

The latest version of Greasemonkey, "0.8.2" (full version: 0.8.20090920.2) has been uploaded to AMO. It includes the following changes:

    Do not inject scripts into file: and about: URLs by default, for security reasons. (#1000)
    The GM_openInTab() function respects the background loading tab behavior from Firefox preferences. (#1003)
    Specify label/control associations in "New Script" dialog, for accessibility. (#1010)
    Minor code clean ups and improvements. (#1011, #1020)
    Remove "forced" upgrade code. (#1013)
    Remove extra spacing around the status bar icon. (#1014)
    When adding include/exclude rules, include the port number in the default suggestion. (#1015)
    Reduce noise logged to the console when interacting with Firebug. (#1018)
    Apply security checks to GM_listValues() and GM_deleteValue(). (#1019)
    Fix missing localized strings in various locales. (#1022)
    Grease pages loaded into the sidebar. (#1023)
    Allow user scripts to access the latest available JavaScript engine. (#1026)

This is the same file posted as RC2 about a week ago to the -users mailing list. As the version number (and the release notes) indicate, this is a maintenance release, fixing bugs and adding minor features to the previous release.


Monday, January 05, 2009
Greasemonkey Release 0.8.20090123.1

In preparation for Firefox 3.1, we're releasing a new version of Greasemonkey, marked as compatible with Firefox 3.1b2, along with additional changes and fixes:

    Added translations: ar-SA, bn-IN, hu-HU, id-ID, ro-RO, sr-RS, vi-VN.
    Fix for ticket #111 (anomalous separators in the monkey menu).
    Add GM_deleteValue() and GM_listValues() APIs (#38).
    Restore the anonymous function wrapper around scripts, and thus the same behavior as versions prior to 0.8 (by default, removable with the @unwrap metadata imperative, #108).
    Improved interaction with the Firebug console (#122, #204).


Thursday, June 12, 2008
Greasemonkey Version 0.8

The most important change for this release is full compatibility with Firefox 3.0. There is also a new feature that allows modularization of user scripts that comes in four pieces: @resource, @require, GM_getResourceURL, and GM_getResourceText. Follow those links to learn how they work. Also:

    GM_xmlhttpRequest now includes the finalUrl property.
    Internal code quality improvements
    New attractive graphics by Pak-Kei Mak

Finally, there is a set of reported issues that are yet to be resolved. Version 0.8.1 is planned, but we feel 0.8.0 is a strong enough improvement to be worth releasing, for Firefox 3.0 compatibility. Enjoy!


Wednesday, May 09, 2007
Greasemonkey 0.6.9: gm_scripts directory bug gone forever?

Anthony has made a change in this release which will hopefully end the issue which keeps popping up of the gm_scripts directory not existing.

Other interesting bits in this release:


    You can now reorder the scripts in the manage dialog with drag+drop or the arrow keys
    You can now use Firebug's console object to debug Greasemonkey if you have Firebug installed.
    Fix bug where install dialog would pop up when Greasemonkey is disabled


Saturday, March 17, 2007
Greasemonkey 0.6.8, aka 0.6.8.20070314.0: 'New Script...' UI now usable, error reporting improvements, new localizations

New stuff in this release. The major things are:

    Rewrite of 'New Script...' UI. It now pops up a nice UI to get the script details and then generates and opens a script which is already installed that you can edit in one step. This is a huge improvement in the usability of this feature. Thanks to Anthony Lieuallen for the implementation.

    Improvements to error reporting. Most types of errors in user scripts now give the correct line number in the error message. You can also click on the filename in Firebug to view the script, as with other types of errors in Firefox. Anthony is also responsible for this improvement.

    Added support for overrideMimeType to GM_xmlhttpRequest. Thanks to Lior Zur for the patch. To use, add overrideMimeType: "yourmimetypehere" to the object you pass to GM_xmlhttpRequest.

    New translations for Finnish, Japanese, and Russian. The Greasemonkey UI looks particularly cool in Japanese. Thanks to Tommi Rautava, Hisateru Tanaka, and Александр Соколов for their contributions.


Wednesday, February 07, 2007
Greasemonkey 0.6.7, aka 0.6.7.20070131.0: minor UI tweaks + new localizations

There were only minor changes since 0.6.6:

    Fixed the manage dialog so that it doesn't bounce around when you select different user scripts (thanks Anthony Lieuallen)
    Added Basque translation (thanks 3ARRANO)
    Updated German translation (thanks Matthias Bauer)
    Middle-click on monkey icon now opens manage dialog, right-click on scripts in monkey menu opens them in an editor (thanks LouCypher and pile0nades)


Tuesday, October 17, 2006
Greasemonkey 0.6.6.20061017.0

Fix for Spanish localization bug


Monday, October 16, 2006
Greasemonkey 0.6.6 - Firefox 2 support and new install UI

The main changes from 0.6.5 are:

    Firefox 2.0 support
    New, less crappy script installation UI
    Spanish localization

The new script installation UI is a bit of a change. When I first wrote Greasemonkey, it was intended to be for JavaScript hackers only. I didn't envision there even being a UI at first -- just some configuration files. But now that lots of non-programmers use Greasemonkey, displaying the source code when you click on a user script doesn't make much sense.

When you click on a user script now, it pops up an installation dialog that shows the title, description, and pages the script will be included on. If you want to see the source code, you can still do that by clicking "View Script Source" in the install dialog or in the user script's context menu.


Thursday, July 27, 2006
Greasemonkey 0.6.5 - 2.0 support and localization

I'm happy to announce Greasemonkey 0.6.5, which includes support for Firefox 2.0 beta 1 and basic localization in Czech, Dutch, and German. I've also fixed up the problems in the CVS main branch for people where were trying to use source directly.

Thanks to Chris Feldmann for internalization code, esquifit for a 2.0 compatibility patch, and all those who helped test.



Wednesday, November 30, 2005
Greasemonkey 0.6.4

    Monkey menu: Right-click on the monkey to get quick access to enable or disable the scripts which apply to this page.

    New install UI: There's a cute new yellow install bar like the one that's displayed for extensions when you load a user script file. When you install, you get a simple animation in the status bar for the loading progress followed by a single dialog when installation is successful.

    New injection system: We now use a much stabler injection system which is only available to Firefox 1.5. This should solve all double-injects or non-injects.

    The document.domain bug which was causing scripts to not inject on sites such as myspace.com fixed.

    New migration system: Greasemonkey no longer tries to migrate the script folder's location on install, which was causing install headaches for some users. Instead, it uses the old location if a previous version was already installed.

    Fastback support: Previous Greasemonkeys interfered with Firefox 1.5's awesome Fastback feature. This release does not.

    Remove script prefs when uninstalling the scripts. Sort of; see issues.

Known Issues:

    When uninstalling scripts, the "also uninstall script preferences" checkbox looks works when "OK" is clicked, rather than when "uninstall" is clicked. In other words, before confirming uninstallation of scripts, make sure the checkbox is selected to also remove the associated prefs. This is needlessly confusing.


Saturday, September 03, 2005
Greasemonkey 0.5.3

This update solves the problems with migration from 0.3.5 that some people where having with 0.5.1. It also fixes the "Install User Script" menu item always available bug that pissed a lot of people off.


Thursday, August 25, 2005
Greasemonkey 0.5.1 Final

Special thanks to "t" for reporting a user script escalation issue in the previous beta which has now been fixed.

Other changes:

    Bug 10107 - Allow users to select a script editor. This also allows script editing to work for *nix users.
    Bug 11214 - Clicking "Edit" in Manager loses enable/disable changes
    Bug 11224 - Grease monkey doesn't accept non english characters!
    Bug 11236 - The install context menu won't show if there's a node under the A element


Saturday, July 30, 2005
Greasemonkey 0.5 Beta

Security

The major news with this release is, of course, security. Greasemonkey 0.5 is much more secure than 0.3.5. Several important classes of attacks have been completely disabled and others have been made more difficult, particularly in Deer Park.

    In Greasemonkey 0.3.4, it was possible for JavaScript on webpages you visited ("content") to use DOM mutation events, watchpoints, or Mozilla's proprietary __defineSetter__ method to get references to the special GM API functions. This has been fixed by moving user script execution away from content completely. Now, user scripts are executed in a separate object -- a "sandbox" -- which is not part of the content window. That means that content scripts cannot acccess it, and thus, cannot employ any of the tricks above to get access to the special GM APIs.

    In earlier versions, it was possible to block Greasemonkey itself by redefining certain content DOM methods that it used to inject scripts. This has been fixed in 0.5 by only ever accessing content via the special XPCNativeWrapper objects provided by Firefox for this purpose.

    It has long been understood and accepted that it would be possible to block individual user scripts by looking at which core DOM methods they try to use and redefining those. This will be a lot more difficult to do in Greasemonkey 0.5 when it is running on Deer Park. On Deer Park, the window and document global variables for Greasemonkey user scripts are also XPCNativeWrappers.

    It was recently discovered that GM_xmlhttpRequest was able to access the file:// protocol and read local files. This has been fixed.

    In all previous versions of Greasemonkey, it was trivial for content to monitor what user scripts you ran and get the source code for them. Running Deer Park and Greasemonkey 0.5, it's significantly less likely. It's still not impossible, however, so please continue to not put passwords in Greasemonkey user scripts.

Of course, no software is ever perfectly secure. Greasemonkey's entire point of existence is to mash code from two different trust domains into the same space, so it has been particularly tricky. This will be an ongoing fight. But for now, I believe that there are no known major security issues with Greasemonkey 0.5 and that it is safe to use. I also think that any future fixes will be much easier to make.

Features

Since Greasemonkey 0.5 is actually the combination of a massive security audit and all the new code which was planned for 0.4, there are lots of new features too:

    GM_registerMenuCommand (documentation forthcoming) now takes extra parameters to add keyboard shortcuts.

    GM_registerMenuCommand no longer gets confused sometimes when switching tabs.

    Greasemonkey's previous memory leakage problems have been addressed.

    A new API, GM_openInTab has been added. You can now use a Greasemonkey user script to open a URL in a new Firefox tab.

    A new menu item has been added: New User Script, which you can use to start a new script. It adds all the boilerplate text to the file so you can get started typing right away.



Sunday, May 15, 2005
Greasemonkey 0.3.3 (not beta)
Seems stable enough


Tuesday, May 10, 2005
Greasemonkey 0.3.3 (beta)

No big changes over 0.3b. The main news is that it should work for the latest aviary (soon to be 1.0.4).


Saturday, April 23, 2005
Greasemonkey 0.3b Beta

The most noticeable user improvement is the addition of an "edit" button in the manage dialog and a little greasemonkey icon in the bottom right of the screen that you can use to disable GM quickly. Also, we now work on FF 1.0.3. Under the covers, developers now have access to GM_setValue and GM_getValue for persistent storage.

If you decide to try this version, please be aware that there is a pretty significant config migration that happens the first time it runs. You may want to back up your existing configuration before installing. Check the FAQ for details on where to find it.


Wednesday, March 30, 2005
Greasemonkey 0.2.6: Now with less fatal chrome bugs!

So it looks like greasemonkey 0.2.6, which fixes the major flaw in 0.2.5 that stopped some people's chrome (including forward/back buttons, tabs, and url bars) from working, is propagated across all the servers.


Monday, March 28, 2005
Greasemonkey 0.2.5: XMLHTTP across domains and tool menu commands

GM_xmlhttpRequest - XMLHTTP across domains

Using the new global GM_xmlhttpRequest function, user script authors can make XMLHTTP requests to any domain. These type of requests used to be limited by the traditional browser sandbox of only making requests to the same domain of the current page.

GM_registerMenuCommand - user scripts that add commands to the tools menu

You can use the new GM_registerMenuCommand function to add things to the tools menu.

This should enable many user scripts that have a component that should be executed by the user on demand, like a bookmarklet.

Other random things:

    Added an "enable all"/"disable all" feature to the greasemonkey options screen
    Fixed a bug that was preventing greasemonkey from applying user scripts to XHTML strict documents
    Removed all default scripts from installation. These were causing problems for too many people, and there's no longer any need for example scripts now that we have the repository.
