Pale Moon is changing!

Pale Moon releases and site news
User avatar
Pale Moon guru
Pale Moon guru
Posts: 33027
Joined: 2011-08-28, 17:27
Location: Tranås, SE

Pale Moon is changing!

Unread post by Moonchild » 2016-10-24, 11:16

As we are getting closer to the major new release that will be Pale Moon 27.0, there are some things that the majority of our users may not be aware of yet, so this announcement is put out there to let you all know what will be changing in Pale Moon, following up to the previous various posts made on the subject.
The big changes involved will see things both added and removed, and this announcement hopes to provide a quick overview of these changes and what to expect in the browser when the new milestone is published (estimated late November if all goes well!)

Major changes in the core (platform) code

The most important thing will be the changes in the core/platform code (what drives the browser application). As the web and internet landscape changes, so do the needs for a web client; and we've worked to solve the web compatibility issues that have been cropping up for Pale Moon users as much as possible.

Most important changes:
  • Many Javascript changes and additions to become more compliant with the ECMAScript 6 standard: support for generators, promises, symbols; more complete support for maps and sets, proxies and typed arrays, to name a few.
  • Another overhaul of the rendering engine, making this v3.0 of Goanna, with support for DirectX 11, Direct2d 1.1, off-main-thread compositing, and faster layout handling.
  • Font features will be improved: the new version will be able to handle more complex font delivery systems, supports WOFF2, and will have a standards-compliant ruby annotations system (controllable through CSS). As usual, we will continue to provide full support for graphite font shaping.
  • No more Windows XP (and Server 2003) support; the new engine and platform simply isn't geared to handle the ancient NT5 kernel and APIs any longer. What was previously still possible with a special compatibility build, can't be done anymore.
  • No more special Atom hardware version. The core code no longer benefits from these optimizations enough to warrant all the extra work involved in maintaining a separate branch of the Pale Moon code. The new version will run equally well on any processor without needing special treatment, making things a lot simpler for us as well as you!
  • Media support has been given a boost. Pale Moon will now support media source extensions (MSE) and more stable and compatible handling of HTML5 video and audio.
    Of note: although encrypted media (EME) is a companion specification to MSE, we will not support this in the browser. There will be no DRM or third-party (unknown/black-box) content decryption modules in Pale Moon.
Major changes in the application (front-end) code

Although the core has seen the most changes, there will also be some important differences in the application code (that which makes Pale Moon a browser). Please understand that our application code is our own; there is no later Firefox code in it, and for the people who still expect Pale Moon to be "some variant of Firefox", you should really stop doing that :)

Most important changes:
  • We'll be building on a new toolkit, which requires some changes to how certain common features are handled. Although as a user you may not directly notice this, there are some subtle changes in the UI, and if you are a heavy preference-tweaker, you should consider resetting all your preferences to Pale Moon defaults, as your previous tweaks may be (very) detrimental to the new code.
  • While we do plan to have language packs for major languages available at a later date, our initial releases will only be available in English. Our previous language packs will not work and the localization effort for v27 and later will have to be given shape for this by the community.
  • While some Firefox "complete themes" may have worked in the past, you will find the new application code likely to be a lot less compatible. Unless you are using a theme that is specifically designed for Pale Moon, you will likely run into trouble.
Major changes for extensions

As mentioned previously, we will be dropping support for Jetpack/SDK extensions for technical reasons. Unfortunately, some SDK extensions will not have alternatives that are compatible with Pale Moon v27. Aside from that there are a few other considerations that need to be taken into account (especially by extension developers when they target Pale Moon as an application).

Most important changes:
  • Our file downloads have been brought across to no longer use the classic download manager interface. If you need to interact with downloads, you should use the so-called "JSTransfer" API as-present in Firefox 26 and above. This also means that there is a decent chance that "downloaders" made for Firefox 26+ will also "just work" on Pale Moon 27.
  • Our find bar implementation has been changed to work similarly to later Firefox versions, as well, to try and reduce the incompatibilities for extensions in that area.
If you are an extension developer, we strongly encourage you to download and test the Pale Moon pre-release versions with your extensions, and consider targeting Pale Moon v27 and above natively.
"The best revenge is to not be like the person who wronged you." -- Marcus Aurelius
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb