Why accept a fundamental construct of your Firefox browser on Home windows Working Programs when you may have one which performs 25% sooner? Mozilla doesn’t present optimized browser packages for Home windows, whereas many Linux (“from scratch”) customers get the benefit of a browser constructed particularly for his or her system. That should change! So, right here is the Pale Moon challenge: Customized-built and optimized Firefox browsers for Home windows Working Programs. Make certain to get probably the most pace out of your browser.
After all, getting a sooner browser is not only about optimizing the compilation course of (constructing a program from its supply code), but in addition about rigorously selecting options and the way to decide on one of the best setup. Because of this this browser, nonetheless extraordinarily near Firefox, doesn’t have all of the features that Firefox has. A couple of, rigorously chosen, options have been disabled that aren’t in excessive demand, and that don’t intrude with the way in which net pages are displayed or perform; all to maximise pace and effectivity of the browser. Please see the web page with technical particulars to be taught precisely what the browser helps, and what it would not assist. Briefly, for those who want accessibility options or parental controls, then please go to the firefox homepage and get the official, non-optimized construct.
Options
- Extremely optimized for present processors
- 100% Firefox sourced: As secure because the browser that has seen years of growth.
- Makes use of barely much less reminiscence due to disabled redundant and non-compulsory code
- Vital pace will increase for web page drawing and script processing
- Help for SVG and Canvas
- Help for Firefox extensions, themes and personas
What’s New
That is one other main replace with vital compatibility enhancements for the online. Most notably, our implementation of Google WebComponents is now at a state the place we enabled them by default.
Moreover, our Mac builds (for each Intel and ARM Macs) are not in beta and thought of secure. Signed/notarized builds with the common branding can be found from the obtain web page!
Large because of FranklinDM for his work this cycle getting us thus far. After all main because of everybody who has contributed to this advanced and tough WebComponents job over a very long time! Thanks additionally to Martok and Job Bautista for persevering with to work on and enhance the JavaScript engine in addition to u3shit for engaged on video playback enhancements.
Modifications/fixes:
- Shadow DOM and CustomElements, collectively making up WebComponents, have been enabled by default which ought to deliver a lot broader net compatibility to the browser for a lot of a web site that makes use of net 2.0+ frameworks. See implementation notes.
- Tab titles within the browser now fade if they’re too lengthy as a substitute of utilizing ellipses, to supply a bit extra readable area to web page titles. Notice that this will require some updates to tab extensions or themes.
- A variety of site-specific overrides have been up to date or eliminated as a result of they’re not vital or present with the platform developments by way of net compatibility. We might use your assist evaluating those which might be nonetheless there; see the difficulty on our repo.
- Up to date our guarantees and async perform implementation to the present spec.
- Carried out Promise.any()
- Mounted a number of crashes associated to common expression code.
- Improved common expression object dealing with so it may be correctly rubbish collected.
- Mounted some VP8 video playback.
- Mounted a problem the place the caret (textual content cursor) would typically not be correctly seen.
- Up to date the embedded emoji font.
- Carried out the :is() and :the place() CSS pseudo-classes.
- Carried out advanced selectors for the :not() CSS pseudo-class.
- Carried out the inset CSS shorthand property.
- Carried out the env() atmosphere variable CSS perform. See implementation notes.
- Carried out dealing with for RGB encoded video playback (as a substitute of simply YUV).
- Carried out dealing with for full-range movies (0-255 luminance ranges) giving higher video playback high quality.
- Eliminated the WebP picture decoder pref. See implementation notes.
- Enabled the Internet text-to-speech API by default (solely supported on some working programs).
- Up to date NSPR to 4.35 and NSS to three.79.4
- Cleaned up unused “monitoring safety” plumbing. See implementation notes.
- Cleaned up URI Classifier plumbing (Google SafeBrowsing leftover).
- Mounted a number of intermittent and difficult-to-trace crashes.
- Improved content material sort safety of jar: channels. DiD
- Improved JavaScript JIT code technology security. DiD
- Mounted potential crash situations within the graphics subsystem. DiD
- Improved filename security when saving information to forestall potential atmosphere leaks.
- Safety points addressed: CVE-2023-25751, CVE-2023-28163 and a number of other others that shouldn’t have a CVE.
- UXP Mozilla safety patch abstract: 1 fastened, 4 DiD, 14 not relevant.
Implementation notes:
- Google WebComponents has been long-running main characteristic work in UXP. We’re lastly at a stage with this (after a number of setbacks and brick-walling) that it may be enabled by default. Please be aware that whereas this enormously improves net compatibility with many Chrome-focused web sites utilizing these controversial applied sciences, our implementation shouldn’t be but full and extra work is critical. In consequence, this transformation to allow it by default may very well break some previously-working web sites as properly, nevertheless it’s anticipated the bulk will work at our present state of implementation. Please go to the discussion board for those who need assistance with net compatibility points.
- The env() CSS perform was carried out for compatibility with web sites that depend on this with out fallback. Notice that this perform truly has no actual use for desktops as it’s primarily used to point environmental restrictions of cell screens, e.g. additional area wanted to keep away from a digital camera notch or folding display margin. Nevertheless, because of the manner sure websites implement their styling in a mobile-first method, it’s assumed that this perform is offered on all programs and in all browsers by these websites. Notice that Pale Moon merely hard-codes queried values right here.
- WebP photographs have had a secure and full implementation in Pale Moon for a very long time now, so the choice to disable assist for it has been eliminated, because it’s thought of by now to be one of many “staple” picture codecs supported by net browsers. This was performed to cut back complexity for content material negotiation, particularly since we’re including extra assist for JPEG-XL that also is not as-complete. From right here on out, we merely all the time assist WebP decoding.
- Whereas we have had a choice for “monitoring safety” in our browser implementation (in about:config), this marketed characteristic of Firefox was by no means adopted by us, as a result of it’s for probably the most half a service-based characteristic, and the non-service elements had been undesirable as they had been crippling helpful APIs. Our efficient safety towards monitoring has not modified, we’ve got merely eliminated the choice and plumbing for a non-functional service characteristic that will probably give the misunderstanding it will do something.
- As a reminder, in case you are involved about monitoring, use a reliable adblocker extension, and allow “Inform websites to not share or promote my information” in Preferences -> Privateness below “Knowledge Privateness”. You may additionally wish to allow “canvas poisoning” by setting canvas.poisondata to true in about:config to cut back the chance of fingerprinting by way of canvases.