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.

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:
  • 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

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:
  • 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

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:
  • 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

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:
  • For stability, reliability, and security the privileged sandbox has been updated to match the new changes to unsafeWindow for the Add-on SDKIn 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)

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.

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:
  • 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

The entire list of bugs handled in this release is also available via the 1.14 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).

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

The entire list of bugs handled in this release is also available via the 1.13 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:

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

Friday, September 27, 2013

Firefox Sync coming to Greasemonkey

Greasemonkey version 1.13 is in the works, with Sync support for installed user scripts.  Support is currently very basic, but we'd love to hear feedback!

It's suggested that before you try Sync, you take a backup of your scripts directory.  Then open the Greasemonkey options dialog and enable the experimental feature, which is currently disabled by default:

For now you'll need to install version 1.13beta1 to have access to this feature.  Please provide feedback at the greasemonkey-dev mailing list or the GitHub issue, good or bad.

Thursday, August 15, 2013

Greasemonkey 1.12 Release

The entire list of bugs handled in this release is also available via the 1.12 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:
  • 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

The entire list of bugs handled in this release is also available via the 1.11 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:
  • 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

The entire list of bugs handled in this release is also available via the 1.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 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:
  • 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

The entire list of bugs handled in this release is also available via the 1.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 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).

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

The entire list of bugs handled in this release is also available via the 1.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 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:
  • 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

The entire list of bugs handled in this release is also available via the 1.7 milestone on GitHub. Note that as always it takes some time for Mozilla to review the new version, but it's available on the all versions page immediately.

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

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

The entire list of bugs handled in this release is also available via the 1.6 milestone on GitHub. Note that as always it takes some time for Mozilla to review the new version, but it's available on the all versions page immediately.

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:
  • 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)

Wednesday, December 12, 2012

The First Anonymous Statistics Summary

For context, see the previous post Anonymous Statistic Gathering.  As of release 1.5 almost four weeks ago we added opt-in statistics gathering.  The goal is to let us know the sorts of things that real users are doing, to help inform future development decisions.  This is the first post where I start to look at the data that's been gathered, in aggregate.

Let me stress that point for a moment: in aggregate.  It is my intent to never publish or reveal specific users' data in any way.  When I do it will be in aggregate, like the rest of the post.  I actually never plan on even reading the specific rows carefully, unless there is a very specific issue to address.  That's part of the reason that I'll have no links or sources for any of the data below, like I would do for other things.  You've just got to trust me that it's accurate, I'm not sharing specifics on purpose.

That said, the first interesting piece of data is the opt-in rate.  According to , Greasemonkey 1.5 has 2,092,151 users (basically everyone is using 1.5 besides some users still on 0.9, presumably also on older Firefox versions).  There are 23,790 distinct users sending data, which is just 1.14%.  But still hopefully enough

The distribution of submissions is interesting.
Submissions peak on Wednesdays, as version 1.5 was first made available on November 19th (the 20th, the next full day, being a Wednesday) with a weekly reporting period.

Among the users reporting data, by far the most common number of scripts installed is one; nearly half of all reporting users have only one script installed.  The next most common configuration is zero scripts installed!  While four users are reporting one hundred scripts or more installed, 95% of all users have ten or fewer.
Zero scripts installed by over twenty percent of users makes me worry that there might be a recording/reporting bug.  So this is worth revisiting.  Or if it's correct, it might warrant some sort of messaging to such users to coach them into getting use out of Greasemonkey.

The next interesting thing we can do is look at metadata imperative usage, where we are counting scripts by the number of times they are installed by real users, not once each for all that exist like we've done before.
This looks pretty familiar, if you followed the link above.  The top eight come in the same order, with similar percentages, following a similar power law curve.  Grant is used in 9.09% of scripts.

Finally one more number worth watching.  Today, just a bit under two thirds of installed scripts depend on implicit @grant detection.  Almost all of the remaining third need no grants at all, but it will be some time before we can remove that backwards-compatibility feature.  On the other hand, I'm currently detecting exactly zero scripts with explicit grants; I know that's wrong because I have some installed, and because usage of grant was at 9% in the graph above.  I'll need figure whether I'm reading the data wrong, or if it's being reported wrong.
 
国产野外无码理论片在线观看_国产亚洲中文日本不卡二区_国产亚洲欧美在线观看一区