Firefox 54: new preferences and Ghacks user.js changes
This article offers information on changes made to the Firefox 54 preferences, as well as new, deprecated, or removed Ghacks user.js preferences.
Mozilla released Firefox 54.0 this week to the Stable channel. The major change of the release was the enabling of multiple content processes.
You can download the latest version of the Ghacks user.js file from the official repository over on GitHub.
For new users: the user.js file is a configuration file that Firefox may load on start. It modifies browser settings and features based on the configuration, similarly to how you can modify the configuration using Firefox's settings, or the about:config page of the browser.
My thanks goes to Earthling for creating the changelog, to Pants for keeping the chu chu train running, and for all other contributors for contributing to the project.
Firefox 54.0 Changes to preferences
Note: You find the full changelog listed here. It concentrates on the Ghacks user.js file. If you use it already, you may want to check out the changelog before you download it from GitHub and add it to your Firefox installation. As always, it is suggested that you go through the listing of preferences to adjust the default configuration for your requirements. Read the getting started guide if you are new.
You find discussion on several of the preference on GitHub. You may also ask questions about those here on Ghacks in the comment section below.
- pref("browser.formautofill.enabled", false);
- pref("browser.newtabpage.activity-stream.enabled", false);
- pref("browser.urlbar.usepreloadedtopurls.enabled", false);
- pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url=");
- pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url=");
- pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url=");
- pref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url=");
- pref("dom.ipc.processCount.extension", 1);
- pref("extensions.screenshots.system-disabled", true);
- pref("geo.security.allowinsecure", true);
- pref("network.http.referer.hideOnionSource", false);
- pref("privacy.firstparty.isolate.restrict_opener_access", true);
- pref("security.sandbox.logging.enabled", false);
- pref("security.data_uri.inherit_security_context", true);
Removed, renamed or hidden in Firefox 54.0
- pref("browser.safebrowsing.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url=");
- https://hg.mozilla.org/mozilla-central/rev/077f42a9964c#l10.1
pref("browser.safebrowsing.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url="); https://hg.mozilla.org/mozilla-central/rev/077f42a9964c#l10.1 - pref("dom.archivereader.enabled", false);
- pref("media.eme.apiVisible", true);
Changed in Firefox 54.0
- pref("extensions.blocklist.url", "https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%PING_COUNT%/%TOTAL_PING_COUNT%/%DAYS_SINCE_LAST_PING%/"); // prev: "https://blocklist.addons.mozilla.org/blocklist/3/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%PING_COUNT%/%TOTAL_PING_COUNT%/%DAYS_SINCE_LAST_PING%/"
=> Migrate the blocklist preferences to new URI - pref("media.peerconnection.ice.tcp", true); // prev: false - ab7dfb7
New Preferences (ignored by Ghacks user.js)
- pref("apz.allow_with_webrender", false);
- pref("browser.formautofill.loglevel", "Warn"); // see master switch to disable
- pref("browser.urlbar.usepreloadedtopurls.expire_days", 14); // see master switch to disable
- pref("browser.storageManager.pressureNotification.minIntervalMS", 1200000);
- pref("browser.storageManager.pressureNotification.usageThresholdGB", 5);
- pref("devtools.gridinspector.showGridOutline", false);
- pref("devtools.source-map.locations.enabled", false);
- pref("dom.forms.select.customstyling", true); // https://bugzilla.mozilla.org/show_bug.cgi?id=1339966
- pref("dom.ipc.plugins.forcedirect.enabled", true); // we do not support flash
- pref("dom.moduleScripts.enabled", false); // ECMAScripts
- pref("dom.timeout.max_consecutive_callbacks", 5);
- pref("dom.vr.puppet.enabled", false);
- pref("dom.vr.test.enabled", false);
- pref("extensions.e10sMultiBlocksEnabling", true); // leave e10s experimental staging alone
- pref("gfx.downloadable_fonts.keep_variation_tables", false);
- pref("gfx.downloadable_fonts.otl_validation", false);
- pref("gfx.webrender.enabled", true);
- pref("image.mem.animated.discardable", false);
- pref("image.mem.shared", false);
- // ^^ https://bugzilla.mozilla.org/show_bug.cgi?id=1331944
- // ^^ https://bugzilla.mozilla.org/show_bug.cgi?id=1339202
- pref("intl.tsf.associate_imc_only_when_imm_ime_is_active", false);
- pref("intl.tsf.hack.ms_japanese_ime.do_not_associate_imc_on_win10", true);
- pref("intl.uidirection", -1);
- pref("layers.advanced.border-layers", false);
- pref("layers.advanced.caret-layers", false);
- pref("layout.css.text-justify.enabled", false);
- pref("layout.scrollbars.always-layerize-track", false);
- /* https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette ***/
- pref("marionette.enabled", false);
- pref("marionette.forcelocal", true);
- pref("marionette.log.level", "info");
- pref("marionette.port", 2828);
- pref("marionette.prefs.recommended", true);
- pref("media.eme.vp9-in-mp4.enabled", false);
- pref("media.ffmpeg.low-latency.enabled", false);
- pref("services.sync.engine.bookmarks.validation.interval", 86400);
- pref("services.sync.engine.bookmarks.validation.maxRecords", 1000);
- pref("services.sync.engine.bookmarks.validation.percentageChance", 10);
- pref("signon.masterPasswordReprompt.timeout_ms", 900000);
- pref("network.throttle.enable", true);
- pref("network.throttle.resume-for", 2000);
- pref("network.throttle.suspend-for", 2000);
Removed or hidden preferences in Firefox 54.0
- pref("browser.newtabpage.remote", false);
- pref("browser.newtabpage.remote.content-signing-test", false);
- pref("browser.newtabpage.remote.keys", "");
- pref("browser.newtabpage.remote.mode", "production");
- pref("browser.newtabpage.remote.version", "1");
- pref("devtools.sourcemap.locations.enabled", false);
- pref("devtools.toolbox.toolbarSpec", '["splitconsole", "paintflashing toggle","scratchpad","resize toggle","screenshot --fullpage --file", "rulers", "measure"]');
- pref("gfx.font_rendering.cleartype.always_use_for_content", false);
- pref("gfx.font_rendering.cleartype.use_for_downloadable_fonts", true);
- pref("intl.uidirection.ar", "rtl");
- pref("intl.uidirection.fa", "rtl");
- pref("intl.uidirection.he", "rtl");
- pref("intl.uidirection.ug", "rtl");
- pref("intl.uidirection.ur", "rtl"); // https://bugzilla.mozilla.org/show_bug.cgi?id=1343941
- pref("layers.allow-d3d9-fallback", false);
- pref("layers.prefer-d3d9", false);
- pref("layout.css.object-fit-and-position.enabled", true);
- pref("layout.css.unprefixing-service.enabled", true); // remove HTTP1 Pipeline Support: https://bugzilla.mozilla.org/show_bug.cgi?id=1340655
- pref("network.http.pipelining", false);
- pref("network.http.pipelining.abtest", false);
- pref("network.http.pipelining.aggressive", false);
- pref("network.http.pipelining.max-optimistic-requests", 4);
- pref("network.http.pipelining.maxrequests", 32);
- pref("network.http.pipelining.maxsize", 300000);
- pref("network.http.pipelining.read-timeout", 30000);
- pref("network.http.pipelining.reschedule-on-timeout", true);
- pref("network.http.pipelining.reschedule-timeout", 1500);
- pref("network.http.pipelining.ssl", false);
- pref("network.http.proxy.pipelining", false);
- pref("pointer-lock-api.prefixed.enabled", false);
- pref("security.sandbox.windows.log", false); // https://bugzilla.mozilla.org/show_bug.cgi?id=1296767#c125
- pref("services.sync.jpake.firstMsgMaxTries", 300);
- pref("services.sync.jpake.lastMsgMaxTries", 300);
- pref("services.sync.jpake.maxTries", 10);
- pref("services.sync.jpake.pollInterval", 1000);
- pref("services.sync.jpake.serverURL", "https://setup.services.mozilla.com/");
- pref("services.sync.log.logger.service.jpakeclient", "Debug");
- pref("services.sync.log.logger.userapi", "Debug");
- pref("services.sync.miscURL", "misc/");
- pref("services.sync.privacyURL", "https://services.mozilla.com/privacy-policy/");
- pref("services.sync.scheduler.sync11.singleDeviceInterval", 86400);
- pref("services.sync.serverURL", "https://auth.services.mozilla.com/");
- pref("services.sync.statusURL", "https://services.mozilla.com/status/");
- pref("services.sync.syncKeyHelpURL", "https://services.mozilla.com/help/synckey");
- pref("services.sync.termsURL", "https://services.mozilla.com/tos/");
- pref("services.sync.userURL", "user/");Â // renamed to 'services.sync.engine.bookmarks.validation.*'
- pref("services.sync.validation.interval", 86400);
- pref("services.sync.validation.maxRecords", 100);
- pref("services.sync.validation.percentageChance", 10); // https://bugzilla.mozilla.org/show_bug.cgi?id=1313045
- pref("toolkit.identity.debug", false);
- pref("toolkit.identity.enabled", false);
Why there is no a ready for download file? It would be great. Especially since we’ll be able to change soemthing in your list in case is not suitable for us.
https://github.com/ghacksuserjs/ghacks-user.js/commit/ba787026866767afda6c44a05cb950920eafa69a
The defaults for those two are incorrectly flipped. pbmode = true regular = false
fixed – https://github.com/ghacksuserjs/ghacks-user.js/commit/4d31983e06974eb92e0b9fdcb98813688be2d32b
Thanks .. I must have been tired :)
re: Flash
https://www.fxsitecompat.com/en-CA/docs/2016/navigator-plugins-and-navigator-mimetypes-no-longer-list-flash-when-it-s-click-to-activate/
https://www.ghacks.net/2016/11/15/firefox-50/#comment-4032625
https://www.ghacks.net/2015/08/18/a-comprehensive-list-of-firefox-privacy-and-security-settings/#comment-4035994
Hello Pants.
IMO you should add a WARNING for the line 1454:
user_pref(“privacy.resistFingerprinting”, false); // (hidden pref)
I spent hours to find what blocked FLASH!
It already has a warning. I do not have Flash on my system, we do not encourage flash, we disable flash – open an issue and give step by step info / an example that shows FPI blocks flash
The setting and privacy recommendation are :
user_pref(“privacy.resistFingerprinting”, true); // (hidden pref)
true, not false. false is the implicit default hidden value.
Do you know why firefox version 54 will not let me me transfer funds from Amerprise to my bank account. Ameriprise say it is a firefox problem. Chrom does it just fine???????????????????
I registered on the Mozilla website with a question in their help forum twice now and they are not sending me a email to confirm my registration. Here is the question I asked, hope you are able to help.
I have Firefox 54. Used to be able to hold down the CTRL key and using the arrow key, highlight a column of data in cells on a web page, then copy to clip board to then paste in spreadsheet. It doesn’t work any more. The highlighting works but the data won’t paste. Instead I only get the top most cell to paste, or in some cases the page url. The odd thing is the copied data can be viewed and recopied if I choose the search on Google option but not all of it. Have to chose that option on separate selections and then copy from Google search bar each time to paste into spread sheet then convert the data to rows. Big mess of a time consumer!!!
Wasted my time during 2 hours searching how to fix the possibility to login on sites, I was not capable to find the solution. Really wonder what is the goal to annoy people like this?
” I was not capable to find the solution”
Uh oh… better call a wambulance?
Self-criticism is most valuable. Have a nice day, Anonymous :)
@Anonymous, I think you have quite a nerve to adopt such a tone regarding a work which is free, free to use or refuse, which has and continues to require a a considerable amount of work, which is presented and detailed in such a way that unless the user is limited by an assisted mentality and expects from copy/paste heaven on Earth, he can expect the best from this user.js settings file. Within the settings some apply to all, others depend strictly on user’s choice, in which case it is mentioned, clearly. You even have the sources of articles, blogs explaining less obvious settings.
What more do you want? To be taken by the hand? get up on your feet and start participating rather than complaining. For goodness sake.
Can you not read? Cookies are blocked by default (learn to use site exceptions or an extension). This is clearly stated in the readme link to the wiki implementation page (but I will admit not directly mentioned in the readme – but it does say to look at the items with setup/warning tags such as “/* 2701: disable cookies on all sites [SETUP]”. I am not going to individually list everything in the tiny readme/intro.
Hi guys. Is it only me or is the back button squished down in the new 54.0? By squished I mean it used to be a circle and it’s more of a elongated ellipse and the arrow inside is stretched. It bothers me more than it should.
Probably nice for your privacy but not for your nerves. Too many broken functions, from the author need a reverse approach, a lighter user.js would be more appreciated.
Stop trolling Leandro
Just wondering, how can we find out all the hidden preferences one have to create manually under about:config, besides skimming through tons of code?
Search the ghacks user.js for “(hidden pref)” sans quotes (29 at the moment). If you mean ALL of them, you would need to parse all the mozilla code and eliminate all those found against those stored in various files such as https://dxr.mozilla.org/mozilla-central/source/modules/libpref/init/all.js (this is not all of them btw, theres also mobile.js and others)
@Sir Cular
Bug 1312754 – Add a service to throttle certain HTTP channels.
This patch adds (and hooks up) a new service so that HTTP channels marked as
“Throttleable” will periodically be Suspend()ed and Resume()d when more
important operations are going (such as a page load).
While this patch is not responsible for marking channels as “Throttleable”,
the general idea is that these would be less-important channels – background
downloads, beacons, etc, and perhaps even resources known to be trackers.
source: https://hg.mozilla.org/mozilla-central/rev/145410f30206
—
it’s mentioned in our “ToDo: diffs FF53-FF54” issue in https://github.com/ghacksuserjs/ghacks-user.js/issues/87
@ https://github.com/ghacksuserjs/ghacks-user.js/issues/87#issuecomment-299887362
Ok, very useful for page load speed, doesn’t sound fingerprintable. Keeping it enabled. Thank you!
How did you find this page on Mozilla central, and the relevant bug on Bugzilla ? They didn’t come up for me except for the Throttle service thing on DXR, which wasn’t explicit.
Damnit, I suffer from severe blindness when it comes to sidebars: 99% of the time they are either annoyances or links to things that are related but not the same. Totally missed the sidebar on DXR.
The tip thing and everything else is like a speed course on how to search for shit, an invaluable skill, so thank you for teaching a man to fish!
It will shorten time needed to find relevant info *and* allow more info to be found quickly.
You’re welcome.
To find it I searched DXR mozilla-central for the pref name. Today mozilla-central doesn’t find any results anymore because they renamed the prefs in the latest nightly. So just switch the tree to mozilla-release and it finds 3 files for ‘network.throttle.enable’. all.js is updated a lot which makes it harder to find the right ticket, so I’d pick the 2nd file ThrottlingService.cpp and then click on Log in the sidemenu. That brings you to the Mercurial (hg.mozilla.com) page with all the changes for that file. And luckily there is only that one bugzilla mentioned that happens to have all the changes including the new prefs in it. If that wasn’t the case you would click on “tip” to get a list of all file changes to that file (for mozilla-release). If you want to know what was changed in that file for Nightly (fe the pref renaming) you can replace the /releases/mozilla-release/ part in the URL to /mozilla-central/ but make sure you click “tip” first or it won’t work.
When you do this you can see that the pref-renaming wasn’t done in any of those 3 listed changesets for that file in mozilla-central “tip” mercurial. But I know that the prefs were renamed to network.http.throttle.* because of the diffs we do, and it turns out that that file (ThrottlingService.cpp) was completely removed. I used the same method and searched DXR for network.http.throttle.enable which led me to the Mercurial for nsHttpHandler.cpp and there I found ” Bug 1365306 – Remove net::ThrottlingService, don’t suspend/resume download channels on page load.” On that same Mercurial page you can also quickly spot the bugzilla where they renamed the throttling prefs: Bug 1365307 – Throttling of HTTP transactions.
The interesting trees on DXR are ‘mozilla-central’ for Nightly, ‘mozilla-release’ for the current stable release, ‘mozilla-beta’ and all the ‘mozilla-esrXX’ ones.
I wonder what network.throttle.enable does. I see that they added a developer tool called “Network Throttling Control” that lets developer simulate of slow connections, but developer tool prefs are listed under devtools.*.
network.* should be about the “real” browser, so maybe network.throttle.enable is unrelated to the dev tool I’m taking about.
Anyone knows ? All I know is that it is related to the “Throttling service”, but I don’t know what that is.
I’m seeing a horizontal scrollbar and some text that doesn’t wrap like it should when using Chrome and Vivaldi. I disabled my extensions and reset all the flags in Chrome but no change. Firefox renders fine. Is it just me?
https://s1.postimg.org/6cowehygf/Horizontal_scrollbar.png
Can someone help me with the following? I am not sure if these are correct or became stuck on old versions.
browser.migration.version
browser.sessionstore.upgradeBackup.latestBuildID
browser.startup.homepage_override.buildID
dom.apps.lastUpdate.buildID
dom.apps.lastUpdate.mstone
gecko.buildID
gecko.mstone
Each of those show as user set with old versions or version dates. What should they be? Do I reset them or leave them as is?
It takes me a while to compare the old file with the new one even when using Beyond Compare, but I believe the time is well spent.
an I over ride the plug in system and use older plug ins yet? Because I am not upgrading from 46 untill all the plugins I use are updating to run….. all 20 of them……
Martin,
FF 43.0.1 doesn’t have these concerns. I upgrade FF when my Bank (financial institution) says I have to.
Still, I love reading your stuff.
Note: “chu chu” should be (USA): choo-choo
Thanks Martin for the article :)
Thanks Earthling for another outstanding “changelog” ( https://github.com/ghacksuserjs/ghacks-user.js/issues/142 ) – this is a super-easy, short, bullet pointed newsletter-type post, with links to all the issues and discussions. The article above is a mix of the changelog with items from our 53->54 Diffs in stable releases ( https://github.com/ghacksuserjs/ghacks-user.js/issues/87 ). The changelog is a much cleaner and easier to follow.
I’d like to point out some of the major items not covered above
– Every. Single. Deprecated. item now has a bugzilla reference source to it’s removal, and the version it was deprecated. The deprecated section is now easily enabled version by version with a single character (eg for backwards compatibility. ESR). And this is also kept as a friendly, linkified sticky issue ( https://github.com/ghacksuserjs/ghacks-user.js/issues/123 )
– New “Containers” section
– Auto-update CHECKS are enabled, but not auto-update INSTALLS.
– Tracking Protection and most of Safe Browsing is now enabled by default. A lot of argument over this. There are no tracking, security or fingerprinting downsides (in fact it can only help), but I know a lot of readers/users prefer a “quiet” Firefox. You can read the ongoing saga of how I, as the Dark Insect Overlord, fought for this against the great dirty unwashed masses in issues 102 and 103 :) .. it’s still super easy to turn TP and SB off if you want to.
Sigh…..
Thanks Pants, great work as usually