Pale Moon future roadmap

Last update: 2021-03-10

General Information

The Pale Moon project is a community-driven project, and as such the future roadmap of the browser is determined not only by what is decided by the project owner and other developers, but also by the community. There are occasional polls and constructive discussions on the forum that determine the inclusion and progress of certain features in the browser.

Pale Moon, over the course of its life, has been a product steadily diverging from its common Mozilla ancestor, with increasing differences between Pale Moon and Mozilla-based browser products. This divergent path will remain Pale Moon's future. To quote: "Pale Moon is not Firefox, and will never be again."
Of course there are a number of challenges on this kind of divergent (some might even say rebellious) path, like adoption of the browser as a truly independent force by the Internet community and a number of technical advances as the Web develops.

Having a common ancestor in Mozilla code, it can draw in part on the public sources and feature developments in Mozilla products, and where possible, desired features will be ported across or re-implemented based on code from the Mozilla core code. However: Pale Moon will be selective in what is adopted into its core from Mozilla or written to implement features, and the current feature set is and will always be different as a result. Pale Moon does not aim to provide 100% parity with other browsers, but rather to offer a sane balance of features and workflow to its users now and in the future. Asking for such parity for specific features may bring the attention to such features and result in an evaluation of desirability based on the many factors involved, but never expect that Pale Moon will implement something "just because such-and-such other browser has it too".

This is a preliminary document with forward-looking statements. Development of a complex piece of software like the Pale Moon browser depends on many factors, so this roadmap should be seen as an indication or general direction - and a dynamic document to be updated as the need arises to change plans around.

Long-term plans

Our long-term plans for Pale Moon involve continuing to build on UXP (the Unified XUL Platform) that is currently being worked on as a generic platform alongside the browser application.
This platform will continue to carry the Goanna engine, like the previous browser incarnations, albeit with many updates and rearchitecturing.

Building on UXP brings a number of necessary advantages to Pale Moon as an application, chief among them full ECMAScript 6 standard support, and additional support for later ES additions to bring the browser's scripting and DOM capabilities on the level with what is required by the current web. It is expected that this scripting storm that has been raging for a few years will die down and allowing us to keep pace with any new developments without being in any way lacking in our support.

While we do aim to implement new additions and enhancements to existing standards, we may not necessarily follow the Google Chrome-focused implementation-first barrage of features that attempt to redefine the web in a much more centralized, client-computing focused format. As such we are more critical than ever about which additional complexity to add to the various engines in UXP and the browser and to strike a much-needed balance there.

Technology support

Pale Moon supports and will continue to support the following features/technologies:
  • Full UI customization
  • Full theming (complete themes) and lightweight theming (personas)
  • XUL and XBL to build interfaces and applications.
  • Full support for NPAPI plug-ins like Flash and Java, also after the forced end-of-life of Adobe's plugin product line.
  • Overlay and bootstrapped (restartless) extensions.
  • Access to low-level APIs and XPCOM interfaces from extensions, allowing them to truly extend browser functionality by having access to browser internals, and not just manipulate web content.
  • Pale Moon Sync (in the secure, time-tested Weave fashion); it will be able to use any Weave Sync 1.1 compatible server, including some FOSS cloud solutions.
What is explicitly not on our roadmap:
  • In-browser DRM. We continue to support DRM-capable NPAPI plugins like Silverlight as an alternative.
  • WebRTC (Web Real-Time Chat) and media capture (camera/microphone).
  • Integration of "features as a service" like Mozilla has been doing.
  • WebVR and similar "gadgeteering" APIs.
  • Extension signing.

Core Work

Pale Moon's core is in flux, just like the web is. With the current practice of a total lack of standards and everyone implementing things based on draft specifications and recommendations (instead of established and above all community-agreed standards), as well as an increasing number of pseudo-standards being written by browser vendors in an implementation-first marketing strategy, a lot of the features in Pale Moon are determined and implemented on an on-demand basis: If there is enough demand for a certain feature or if it is considered beneficial to the browser and the web, it will be implemented - other features may be put on hold or decided against altogether.

It is beyond the scope of this document to list all planned content improvements in Pale Moon in detail, since many of those are small, individual changes and additions (even though some require a lot of work to implement by re-writing parts of the parser and renderer in Pale Moon's core).

The status of planned improvements is, to some extent, available on the repository issues page of the platform.

Layout and Rendering

The current layout and rendering engine (Goanna) is Pale Moon's independent implementation derived from Gecko. This engine debuted in v26 of the browser, and aims to improve upon the previous Pale Moon engine by steadily adopting more desired HTML and CSS features as well as improving rendering techniques. Some implementations will be significantly different than those found in other browsers, even Gecko-based ones, and aim to provide the best-of-class solutions to web design problems.

Versions 28 and early 29 of the browser carries the engine and subsequently platform version 4 of Goanna. This adds, among other things, support for WebGL2, CSS Grid, and other recent additions to the layout and rendering landscape for browsers - further improvements will be made over time, as required.

JavaScript

JavaScript development is one of the ongoing focuses of the core work performed on UXP, and the resulting implementation in Pale Moon is mostly feature-complete in terms of the ECMAScript (JavaScript) standards ES6, ES2016 and ES2017, with annexes. We are aiming to implement all important ES2018 and ES2019+ features as well, over time, when the various proposals reach sufficient maturity.

Please understand that implementing these changes is slow and meticulous work that requires extensive coding and testing to do properly. There is very little margin for error, because JavaScript not only runs in webpages in Pale Moon, but drives everything in the browser, including many parts of the various UXP programs themselves.

Media support

Media support is a regularly-discussed topic for Pale Moon users, since part of the user base would prefer a browser to also be a full-featured and fully dedicated&specialized media player. This is, however, not a goal of Pale Moon because of the inherent shift of focus from document content to media content. That being said, the Web has shifted to be more visual-media heavy and as such will require a browser to at least to some extent take on the media player role.

It will never be our goal to equal or surpass dedicated media software, since Pale Moon is and remains above all a web browser. Full-HD streaming will be possible with the right hardware, but may not be as smooth or as feature-rich as what you may find in home cinema software. Also, see above, we do not intend to have DRM in Pale Moon's core program, and the browser will as such remain properly DRM-free.

Platform (operating system) support

Pale Moon is originally a Microsoft Windows product.
Our roadmap considerations for specific platforms to support in addition to Windows:
  • Linux (x86 and x64) -- Completed and actively maintained.
  • Mac OS -- Discontinued. Beta on Intel only. This never progressed past unofficial support due to unreliability of community developers for Mac. Due to the lack of commitment from the Mac crowd and the decision from Apple to move entirely to ARM SoC it's not realistic anymore to expect any support for Mac in the future.
  • Android ARM -- Discontinued. There are no plans to make a UXP-based Android browser available; in fact, all Android support will eventualy be removed from the platform.
  • Linux ARM -- Depends on independent developers. Currently experimental.
  • *BSD: Due to resistance from the BSD community (especially OpenBSD) to adhere to normal free software development practices, we are extremely apprehensive about BSD support in an official capacity. We are, however, looking into creating a working development relationship with FreeBSD.
  • Modern Solaris derivatives like Illumos -- Although we have full and proper support for this in the UXP platform at the moment thanks to a developer who stepped up, there is current resistance to adoption in OpenIndiana's platform as a result of an influencer blocking adoption in the various OI operating systems. We will continue to try and make Pale Moon available on these platforms but it's currently in the hands of their management.

Front-end

Pale Moon's front-end features are well-established, tried-and-tested features that work well in terms of flexibility and customizability for users. The front-end is and will remain XUL-based and fully extensible by the user and browser extensions, regardless of what platform is in use.

User Interface

The User Interface in Pale Moon is stable, based on the Firefox 4-28 browser era UI and will not be changed in any major way as far as how the UI operates. "Australis", the UI rework done by Mozilla in Firefox 29-56 or "Photon" as seen in Firefox 57 and later which completely removed many customization features, will not be adopted. This also means Pale Moon will retain full and ongoing support for total restyling (complete themes).

Developer Tools

We include Web Developer tools in our release versions of Pale Moon. These tools are based on the Mozilla-adaptation of Firebug, and provide a broad set of tools for web developers and extension developers alike. Due to the complexity of these tools and verbatim adoption of them from Mozilla without much of our own development on them, our support for these tools will be (very) limited and we are unlikely to implement requests for new features in the devtools as a result. At our discretion, we may also remove some of these tools that are considered unnecessary or have outlived their usefulness as regards development aids.

Plug-ins

Pale Moon supports NPAPI plug-ins. Unlike Firefox, we will not be deprecating or removing support for these kinds of plug-ins. This means that you will be able to continue using your media, authentication, gaming, and other plug-ins in Pale Moon like Flash, Silverlight, bank-authenticators or networking plug-ins for specific purposes.

Extensions and extension API

Pale Moon would not be complete without its support for browser extensions, of course, and the extension compatibility maintained in Pale Moon is purposefully kept at a stable level with well-established interfaces. It provides compatibility with a number of the browser extensions originally written for Mozilla Firefox (by accepting installations for Firefox application IDs) even though Pale Moon is a different application altogether from an extension point of view. Extension developers are encouraged to make what few changes are necessary for native Pale Moon compatibility and leverage our add-ons website panel ("Phoebus") to publish and update extensions.

The future of Pale Moon is to maintain this general level of compatibility with traditional (XUL) Firefox-targeted extensions (called "Legacy" by Mozilla), although the (transitional) dual-ID setup will eventually be removed, at which point only Pale Moon targeted extensions will be accepted. This will still allow developers to target both Pale Moon and (legacy) Firefox with specific code for them in a single package, but Firefox-only extensions will no longer be accepted by the browser when this lands.

Longer-term we plan to fully deprecate and remove support for the traditional RDF install manifest in favor of a more optimal content description method.

In the transitional period to remove Firefox legacy extension support, Pale Moon will provide warnings about compatibility, providing clear indication to users that their extensions in use need to be updated to Pale Moon extensions.

XUL extensions

This kind of extension uses the time-tested native extension capabilities to the browser XUL (UI markup) code, combined with JavaScript. XUL extensions are strongly preferred because they are independent of browser-included libraries that may change over time. With Pale Moon aiming to keep approximate front-end compatibility with v24 of Firefox, this is the API level that should be aimed for.

Version 28 of the browser may need some changes to cater to some changed toolkit APIs, but in general the UXP platform is largely compatible with the ESR52 branch of Mozilla, from an extension point of view.

Binary components in extensions

Unlike Firefox, Pale Moon will continue to offer full support for XUL and XPCOM binary-component extensions and there is no plan to discard the current extension system in lieu of Chrome-like alternatives (WebExtensions).
Mozilla has marked XUL extensions and bootstrapped extensions as "legacy" and phased out support for all but WebExtensions, which will affect many Firefox extensions. We have no plans to do this and many "legacy" Firefox extensions will continue to be possible on Pale Moon when targeting it.

JetPack (Add-on SDK) extensions

With Pale Moon v28, these extensions are used at your own risk and come without our support.
Although we do not impose any restrictions on installing these extensions in the current milestone, they may or may not work due to the fact that Jetpack is in many respects tied to the Australis UI that we do not carry. We have some compatibility libraries in place that covers most Jetpack extension use, but you will be mostly on your own in terms of troubleshooting and fixing interoperation bugs. Only jpm-based SDK extensions are supported.

WebExtensions

We will not be supporting WebExtensions of any kind in Pale Moon. Our current extension technologies provide all the features, functionality and above all API access for any extension to do anything it has to, including the limited subset that is offered by WebExtensions.

Bottom line

Pale Moon aims to remain what it is at its heart: a fully customizable web browser.
"Added tools" are nice, but may not be adopted in Pale Moon if they go beyond what should normally be part of a web browser for general use.

Additional tools and services

Pale Moon Sync

Pale Moon Sync is still lacking two features on the server side, which should be addressed. The following improvements are planned, although no date has been set for completion. Potentially, it requires hiring a PHP web developer to add the features:
  • Account deletion.
    This would require the user's credentials (e-mail + password) to be entered, after which the user account and associated data are removed from the database.
  • Password recovery.
    Offering a password reset option by sending an e-mail to the user requesting this.

Pale Moon start page

We are partnered up with a start portal provider to improve the user experience on the Pale Moon Start page with customizability of shortcuts and localized content. This went live in the first quarter of 2015 and will remain the offered start page solution of choice for the foreseeable future.

Site and contents Copyright © 2009-2021 Moonchild Productions - All rights reserved
Pale Moon is subject to the following licensing.
Policies: Cookies - User Content - Privacy.