Greasemonkey 4: Firefox 57 compatibility

The developers of the popular userscript extension Greasemonkey for Firefox have announced Greasemonkey 4, a new version of the browser extension.

Greasemonkey 4 will be compatible with Firefox 57 as it will be released as a WebExtension. Mozilla plans to drop support for the legacy add-on system of Firefox when Firefox 57 Stable is released.

While there are some options to continue using legacy add-ons in some versions of Firefox, at least for the time being, most of those are of temporary nature.

This means in turn that add-on developers need to port their add-ons so that they remain compatible with Firefox 57 and newer versions of the web browser. Not all add-ons can be ported on the other hand, as the WebExtensions system does not replicate the functionality of Firefox's legacy add-on system completely.

Update: Greasemonkey 4 is now available as a WebExtension on Mozilla AMO.

Greasemonkey is a high profile extension for Firefox. It has over 880k users at the time of writing. The current version of Greasemonkey that is offered on Mozilla AMO is a legacy add-on. This version won't work anymore in Firefox 57 Stable or Beta if Mozilla does not change the schedule.

greasemonkey 4

The developers of Greasemonkey announced on the official project site that Greasemonkey 4 is in the works. This new version of the browser add-on will be fully compatible with Firefox 57. That's good news for users of the add-on, even though alternatives such as Violentmonkey or Tampermonkey are also available and compatible with Firefox 57.

The downside to this is that the move will break compatibility with some userscripts. This change was not enforced on the developers by the new APIs that Mozilla created, but has been a deliberate decision.

As a result, version 4 of Greasemonkey is a nearly complete re-write. Its interface and feature set have been rebuilt in order to best to work with coming Firefox versions. A variety of compromises have been made. We've elected to make a rare backwards incompatible change.

The decision was made to only support userscripts designed to run asynchronously for performance reasons. This breaks compatibility with older scripts.

Read also:  Firefox: copy multiple text bits at once

Greasemonkey 4 is available as an alpha version currently. Compatibility is restricted to Firefox 56 and earlier however, and not the most recent version of Firefox, Firefox 58.

Greasemonkey users will have to cope with another change: version 4 of the add-on won't come with a text editor anymore but relies on an embedded editor instead. This is a restriction of the new WebExtensions system as extensions cannot access the file system anymore.

Closing Words

The next version of Greasemonkey will be compatible with Firefox 57. That's a good thing, even though it means that some scripts won't work anymore in that version unless they are updated by their authors.

Now You: What's your take on the announcement? Do you use userscripts?

Summary
Article Name
Greasemonkey 4: Firefox 57 compatibility
Description
The developers of the popular userscript extension Greasemonkey for Firefox have announced Greasemonkey 4, a new version of the browser extension.
Author
Publisher
Ghacks Technology News
Logo
Advertisement
Please share this article

Facebooktwittergoogle_plusredditlinkedinmail


Filed under:


Responses to Greasemonkey 4: Firefox 57 compatibility

  1. Jon September 21, 2017 at 10:53 am #

    This is really depressing. My Firefox Dev got updated to FF57b1 last night and all my worse nightmare came true. I enabled legacy addons in about:config but the GUI doesn't even show up after a restart. I could see it in the task manager, but the window doesn't show up anywhere. I suspect it has to do with legacy addons problem. I had to revert back to FF56b12 and disabled auto update.

    I hope the Palemoon or Waterfox guys fork FF52 ESR or FF54 and just maintain security update for it until FF57+ get more advance api for its WebExtension. I suspect it won't reach XUL parity couple of years from now, if it ever get there. But I have no faith in it. My workflow relies on so many XUL addons that switching to FF57+ will be a disaster. I don't even care for multiprocess Firefox as my computer has a faster enough cpu to chew through it. If the palemoon or waterfox guys are browsing through here. Please please please maintain a fork of FF52ESR or FF54 (the last firefox version that doesn't break xul addons). Even FF55 and FF56 broke some XUL addons.

    • Anonymous September 21, 2017 at 3:26 pm #

      Legacy add-ons don't work with Firefox, enabling them in about:config makes little sense.

      Firefox 52 ESR will be supported until the 26th of June 2018. (Firefox 61)
      By then there will have been a lot of time for you to find add-on replacements compatible with FF 61 or for Firefox forks' futures to be more well defined.

      Don't sweat it, you'll be fine, go at your own pace.

    • Anonymous September 21, 2017 at 3:29 pm #

      If you want help finding replacements just ask around here or on Reddit. (Preferably not all at once if you have a lot)

      • Paul's dad. September 22, 2017 at 11:56 am #

        Get me a replacement for Tab Mix Plus, please.

      • Anonymous September 22, 2017 at 1:02 pm #

        Tab Mix Plus is a LOT of smaller features packed into one add-on. Which features interest you in particular ? Some of them are not possible, some are already there, some will be there in due time, and some are planned beyond Firefox 57.

        The author of Tab Mix Plus is also looking for donations to help port the full extension, too.

    • Anonymous September 21, 2017 at 5:25 pm #

      Also it's not a matter of having a beefy computer, modern browsers just don't make full use of the hardware. Firefox 57 has Stylo, which does, and Firefox 58/59 will get WebRender, which also does. Essentially any Servo component helps. You'll get around x4 speed increase on styling and rendering if you have 4 cores, x8 if you have 8, and way more reliance on GPU for other aggressive speed increases.

      Another Quantum improvement, Flow, also helps a ton by removing thousands of performance bottlenecks all around Firefox, all machines should notice it. Quantum DOM I know less, we'll hear more about it in the future.

      Privacy will also increase with the containers features, first party isolation and fingerprinting resistance. There's a year or so to evaluate everything.

    • Paul Atreides September 21, 2017 at 10:25 pm #

      What is really depressing is to persist in using legacy addons. XUL is dead, deal with it. If you really think Palemoon or Waterfox will succeed in maintaining legacy addons alive, you are deluding yourself. They will survive one year at most.

      Why do you think the Palemoon developer has announced a new browser ("Basilisk" I think)? He knows all that, he just doesn't want his community to understand it too quickly.

  2. Richard Allen September 21, 2017 at 3:15 pm #

    Wow, that's a shame, Greasemonkey is a little late to the party, at least for me because I've got Tampermonkey setup and it's working fine. I moved a little early to webext because of Nightly.

    I've always used userscripts (FF and Chromium browsers) and even if I only used one userscript I would install Greasemonkey, Tampermonkey or whatever to be able to use Mouseover Popup Image Viewer, regardless of the overhead. And there are some really useful scripts available like: Google Image Search Context Menu, General URL Cleaner, Embedded Youtube Video Full HD and others. Nowadays userstyles can often be installed as userscripts which can eliminate having to use Stylish or something similar. I've been meaning to install all of my styles as userscripts but most all of them have been modified from their default and I've been dragging my feet and avoiding that project. Besides, right now, until FF v57, Stylish can modify the browser UI. ;)

    • Anonymous September 21, 2017 at 5:28 pm #

      You can modify the browser UI a lot with userChrome.css FYI, even put the tabs bar at the bottom of the window or make side panels slide. Multi-row tabs is also possible, but tab dragging is a little messed up with more than one row.

      • Richard Allen September 22, 2017 at 7:49 pm #

        @ Anonymous
        Thanks? :-D
        I've been using userChrome.css since FF v3, still a newbie, still learning!

        I'm using Stylish in FF/Pale Moon/Waterfox so that I can use the style "Firefox - Spacious Blue Library" which won't work in a webext. I currently have 10 styles installed with 6 enabled (FF/WF) but use more in Pale Moon and almost all of the styles I couldn't leave alone and have modified them from their default. That said I'm using a ton of css in my FF browsers. I've even moved to the dark side, to a small degree, and use css in Vivaldi. The Shame! ;)

        In Nightly I've modified the tab width, urlbar, urlbar-zoom-button, star-button, searchbar, statuspanel, and menu items, it's never ending. In Nighlty "Firefox - Spacious Blue Library" won't work so I've modified the bookmark sidebar background color and will eventually make it darker and lighten up the text, maybe modify the line spacing also. For now, in Nightly, I'm using:
        #sidebar { background-color: #E7E7E7; !important; }
        #sidebar-header { background-color: #E7E7E7; !important; }

        In FF v55 I have a somewhat transparent navbar, tabs, new tab button, and toolbars with the default theme and using CTR. And I have many, many other css changes. Some of the FF updates have been causing some item names to change, syntax?, whatever, which is a pain, but it will get figured out. Eventually. Lol
        https://s26.postimg.org/tzcftndxl/FF_v55_css.png

      • Richard Allen September 22, 2017 at 9:03 pm #

        Clarification. The appearance of FF v55 navbar, tabs, new tab button and toolbars is from a combination of the default theme, Classic Theme Restorer AND css. Which means I basically had to start over in Nighlty.

      • Anonymous September 23, 2017 at 1:12 pm #

        You can ask on reddit Firefox or FirefoxCSS if you ever need help. You can check out this young repository of browser styles: https://github.com/Timvde/UserChrome-Tweaks (feel free to submit)

        Or instead of starting from scratch, if you post your FF55 styles here or on Reddit maybe people can help porting them to FF57 ?

  3. Anonymous September 21, 2017 at 3:34 pm #

    Grease and Violent monkeys are nice to have around, although I don't use them. I mostly rely on uBlock Origin and NoScript when I need scripts tweaked. (NS Surrogates and uBO's injections)

    The only times I really need to modify a website is when I want to remove visual clutter or increase security/privacy. Doesn't happen often. I don't need a whole add-on dedicated to that, whether it be scripts (the monkeys) or CSS (stylus).

    But it's nice that people have the option lying around.

  4. lainiwaku September 21, 2017 at 4:11 pm #

    talking about FF 57, my FF just got update and woh ! performance have changed a lot ! finally we have a firefow has good as chrome

    • Anonymous September 21, 2017 at 5:47 pm #

      Should keep getting better, WebRender is going to pack some punch in Firefox 58 or 59.

  5. Mikhoul September 21, 2017 at 8:47 pm #

    It's a good and bad news at the same time, the broken compatibility with old UserScripts will be a mess for casual users to sort. He should have made an polyfil integrated in GreaseMonkey to take automatically car of the issue and detect if the script use "old" code or new code.

    But sadly the author is pretty "rigid" when it come to take suggestions to improve the things...

    If nothing change on this point I will go with TamperMonkey even if it's close source it is a pretty good alternative... at least for me.

  6. Ray September 21, 2017 at 8:49 pm #

    I like this change.

    I'm not sure how Violentmonkey and Tampermonkey operates, but if Greasemonkey is moving towards an async-loading model, I am for it.

    I only have a few userscripts that are pretty advanced and require using GM_setValue. If a userscript is setting values, Greasemonkey 4 will require those scripts to use GM.setValue instead.

    I'm currently using Violentmonkey, but will switch back to Greasemonkey once it is ready for Firefox 57.

  7. CHEF-KOCH September 21, 2017 at 9:19 pm #

    I use Tampermonkey for years now, well some complain that it isn't open source and recommend Violentmonkey but you can opt out of the telemetry and it does it's job. Well I not daily use Firefox anymore but I think most important on such script engines is that it gets regular updates and that you can take control over the scripts.

  8. hahaha September 22, 2017 at 4:45 am #

    Greasemonkey comes toooooooooo late. I have already switched to Tampermonkey, with all the scripts re-installed.

  9. Anonymous September 22, 2017 at 8:35 am #

    Reminder: Tampermonkey is proprietary obfuscated botnet.
    Use only Grease or Violentmonkey.

    • Gabriele September 22, 2017 at 6:01 pm #

      100% agree. i'm using violentmonkey (funny name lol) and it works ok, and i think it's less heavy on resource usage

    • www.com September 26, 2017 at 3:26 am #

      >Reminder: Tampermonkey is proprietary obfuscated botnet

      That's probably why Google Chrome Store prefers is. Another point for data mining.

  10. Skorpionik November 16, 2017 at 1:08 pm #

    WIN10 64bit + FF57 64bit with GM4 or Win7 64bit + FF57 64bit with GM4 - some script not runing ie. http://userscripts-mirror.org/scripts/show/98310
    How fix it?

    Few line in header with yellow ! i correct (source => homepageURL, identifier => installURL, copyright & license => description (both) ) and add few grant permisions (GM_addStyle, GM_getValue, GM_deleteValue, GM_setValue, GM_listValues, GM_xmlhttpRequest, GM_log)

    Before update FF 64bit (46 to 47) script work fine.

Leave a Reply