Why do some extensions no longer work in v25?

Frequently Asked Questions about the Pale Moon browser and their answers.
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35403
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Why do some extensions no longer work in v25?

Unread post by Moonchild » 2014-10-11, 16:40

Note: this post has been superseded by viewtopic.php?f=24&t=8740 which provides a more updated version for the current situation.

Why do some extensions no longer work in Pale Moon 25.0?

Since there seems to be a big misunderstanding about why there is such a noticeable number of extensions that suddenly no longer worked in v25.0, and who is to blame for the breakage, here is an explanation, with the consequences attached to it:

Some Firefox extensions work and others don't. This is directly related to the GUID (the unique application identifier used by software).
Pale Moon 25.0 changed its GUID from the Firefox one to one of its own. That means that from an extension point of view, Pale Moon is a "brand new application" that the extension was not initially written for.

Normally, when an application's GUID is different than what an add-on expects, it will simply be rejected. However, to prevent the situation where, as a result, none of the Firefox extensions would work anymore, we added a dual-GUID system in v25. It can install native Pale Moon extensions (specifically targeting Pale Moon as an application with its shiny new GUID), and it can install Firefox extensions that target the Firefox GUID. In terms of Mozilla code, this is unprecedented: historically, Mozilla applications would only allow extensions to be installed that specifically target the application.
This new system only covers the installation routine for add-on installation. So, any add-on that has no other requirements to function but to pass the install check, will be allowed to install and run. This is why all Firefox extensions install but some don't function.

Many extensions still work out of the box in this "Firefox compatibility mode", specifically those that don't explicitly use the Firefox GUID in other parts of the extension besides the installation file.
We did not support things like targeted xul overlays (this would be the chrome.manifest thing you are seeing mentioned on the forum) as that has a lot of snags to it, and would defeat the purpose of changing the GUID anyway. Targeted overlays have to specifically indicate the GUID of the application the overlays are for. Many extensions don't use these types of overlays and use generic overlays instead (specifically, most extensions that are only written for one product use an overlay that applies to everything it is installed on). Conversely, extensions that want to target multiple applications in a single extension package generally do use targeted overlays to cater to the different user interfaces of different applications targeted. Those extensions are a problem for Pale Moon's new GUID system because there won't be any that match Pale Moon. As a result, buttons, menu entries, etc are missing, although the rest of the extension can still work.

As for Jetpack style extensions, this is a much more complex story, since Mozilla has been recommending people to make extensions with the SDK that pulls approved target apps from the SDK itself. Pale Moon is not part of that list; the GUID does not get compiled into the final Jetpack extension, and they will not function (at least, not without some editing and even then it may not suffice).
This is a way of locking developers into only approved Mozilla applications. If they built with our SDK, which includes the addition of the Pale Moon GUID, then they could target us in addition to the other Mozilla-based programs in the list. This is further complicated by Australis, and even more locking in that has happened in recent months. This is because the things we have in common are being deprecated and replaced with Australis-targeted technologies, especially for the user interface.

This does sound similar to Australis-only extensions, but you have to realize that an extension can use one of two types of technologies in a Mozilla-powered application: one being the traditional xul/toolkit-based technology and the other being Jetpack. In general, xul/toolkit based extensions are easy to convert or update, but Jetpack ones are not (if at all possible) because of the above reasons.

Now what does this mean as far as actual compatibility of the browser is concerned?

It means that in almost all cases, Pale Moon would be perfectly capable of running the extensions without any actual extension code changes. This is a big difference to what some people have compared this breakage to, that happened in Firefox: extensions that actually no longer worked because the browser user interface, the browser API or other essential code-related elements in the browser code were changed. With that kind of breakage (that has caused a lot of user- and developer-fatigue) making the extensions compatible again is not trivial.
The only reason it doesn't work on Pale Moon is because the extensions themselves are made restricted to only work on applications carrying an official Mozilla Firefox GUID (or whichever other application specifically targeted in the extension). It also means that the browser can't be "fixed" to accept overlays or code that is specifically targeting a different application (that would actually be breaking with the add-on specification) - and those are restrictions that are put in by the extension developer(s) themselves. It is up to the extension developers to make these changes, preferably making Pale Moon a proper install target as well while they are at it.

We can (and will) provide temporary workarounds in terms of pseudo-static extensions (meaning they are made to work but otherwise not maintained) until such time as the extension developer adds the necessary support.

As a side note: we have contacted add-on developers well ahead of time of the release of Pale Moon 25.0 to give them plenty of opportunity to make the necessary changes. Unfortunately, very few (even the biggest and most well-supported) extensions were updated before release.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

nana2

Re: Why do some extensions no longer work in v25?

Unread post by nana2 » 2014-10-12, 19:51

Great information Moonchild. Got a question though.

After installing Pseudo-Static extensions:

Should these extensions be checked as to be updated manually or will these be safe in automatic updates in case the developer(s) update their version(s)? In other words, will the pseudo-static updates be overridden or not by automatic future updates?

Thank you.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35403
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Why do some extensions no longer work in v25?

Unread post by Moonchild » 2014-10-12, 20:49

Pseudo-static extensions are given a unique identifier, so they will never be automatically updated to a (non-compatible) version.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

nana2

Re: Why do some extensions no longer work in v25?

Unread post by nana2 » 2014-10-12, 21:10

Great! Thank you so much Moonchild.

Sichuan

Re: Why do some extensions no longer work in v25?

Unread post by Sichuan » 2014-10-13, 06:28

Thank you, Moonchild, for your excellent and informative post. I'll stay with Pale Moon, thank you very much, and if these developers don't see a need to include Pale Moon as a compatible recipient browser and a browser in its own right then I don't need their products. I'll simply use the pseudo-static versions produced by Pale Moon and not worry about any of the other add-ons that have no p-s versions. If for some reason the p-s versions are less than fully functional well, so be it. After all, it's a matter of principle and I have nothing but admiration and respect for your "I'll stick to my guns" attitude.

C. B.

New Tobin Paradigm

Re: Why do some extensions no longer work in v25?

Unread post by New Tobin Paradigm » 2014-10-13, 23:48

Sichuan wrote:Thank you, Moonchild, for your excellent and informative post. I'll stay with Pale Moon, thank you very much, and if these developers don't see a need to include Pale Moon as a compatible recipient browser and a browser in its own right then I don't need their products. I'll simply use the pseudo-static versions produced by Pale Moon and not worry about any of the other add-ons that have no p-s versions. If for some reason the p-s versions are less than fully functional well, so be it. After all, it's a matter of principle and I have nothing but admiration and respect for your "I'll stick to my guns" attitude.

C. B.
The goal for a pseudo-static IS to be fully functional as a pale moon specific known working copy.. If we can't provide a pseudo-static then there are larger issues with it than just the guid change

idimitro

Re: Why do some extensions no longer work in v25?

Unread post by idimitro » 2014-10-14, 17:14

Thanks for the explanation, but...
The fact is that I use Palemoon for work and after the update my browser is crap, my workflows are crap. I really start doubting the benefits of the new GUIID. I get your reasons but I expected palemoon to be the safe and conservative browser after the australis fiasco. I understand that most of the issues can be fixed with simple addon update, but the addon developers are what they are. You can't expect them to rush supporting a niche browser.
I am rolling back to 24.7.2 and I really hope to get some support for this branch for longer period.

New Tobin Paradigm

Re: Why do some extensions no longer work in v25?

Unread post by New Tobin Paradigm » 2014-10-14, 21:04

idimitro wrote:Thanks for the explanation, but...
The fact is that I use Palemoon for work and after the update my browser is crap, my workflows are crap. I really start doubting the benefits of the new GUIID. I get your reasons but I expected palemoon to be the safe and conservative browser after the australis fiasco. I understand that most of the issues can be fixed with simple addon update, but the addon developers are what they are. You can't expect them to rush supporting a niche browser.
I am rolling back to 24.7.2 and I really hope to get some support for this branch for longer period.
24.7.2 is not being supported. We don't have the resources to support two generational branches. I am sorry you are unwilling to work with us. As for not expecting them to rush supporting a niche browser.. With the psuedo-statics we are working as fast as we can to provide these as a temporary solution until such time the developers have made their decision.

24.7.2 has a known security issue and it is highly advisable to stick with 25 and to work with us.

JodyThornton

Re: Why do some extensions no longer work in v25?

Unread post by JodyThornton » 2014-10-14, 22:20

It is still safe and conservative. How is that not the case? Moonchild needs to make these changes for the future growth of the browser. The GUID benefits still exist, however they just pose some growing pains for the interim.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35403
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Why do some extensions no longer work in v25?

Unread post by Moonchild » 2014-10-15, 06:49

For all the people who expected an update "as if nothing had changed", the following food for thought/explanations:
  • This is a major version update (a "milestone" release). Maybe you got used to Major version numbers (24.0, 25.0, 26.0, 27.0, etc) meaning absolutely nothing, but Pale Moon has returned to a non-rapid-release versioning scheme more akin to Windows than current "browser races". You can expect any major browser version released from here on out to have significant changes, although from an extension point of view this will never be as severe again as it is this time.
  • Pale Moon's development is dependent on being able to work and grow individually. Carrying a program's unique identifier that is not unique is a problem, and will cause more problems down the road. This change was absolutely necessary.
  • Please don't confuse "more conservative" with "set in stone" or "being a fossil". Pale Moon aims to maintain a good working base on tried-and-tested methods and designs, but will not just do "minimal work" to remain exactly as it is. That would be a dead-end road. If you want something that is truly static this way, you are probably better off with SeaMonkey or the likes who are adverse to any change.
  • If you are expecting us to move forward, improve and grow, we cannot maintain the status quo posed in the previous releases of Pale Moon of "being Firefox yet not Firefox". Yes, some extensions stopped working properly as a result. Once these have been picked up by the original developers or, thanks to Open Source, new developers, to remove the current "Mozilla Firefox only" restrictions, you can return to your favorite extensions the way you are used to. In the meantime, we are providing manually updated versions of problematic ones to tide you over. This is a one-time, temporary situation that will be solved, one way or another.
  • Please do not confuse this problem with what happened previously (and is still happening) with Mozilla Firefox and what caused so many add-on developers to become fatigued and stop updating their extensions.
    Pale Moon's current situation is not caused by changes in the browser that makes it impossible for the extensions to work from a technical point of view. Technically speaking, the extensions can still work exactly the same way as before - and this is the crux when comparing this with Firefox extension issues. It is not "the same thing that happened with Firefox", and it is completely unrelated and caused by a completely different thing. Firefox "breaking compatibility" was caused by the browser actually changing the way it works, removing or changing features in the browser core so extensions became truly incompatible with it and requiring functional updates. Updates required to extensions for this change in Pale Moon are small, only impact specifically restrictive extensions, don't involve any actual functional code changes, and doesn't/shouldn't require any significant amount of time from the original extension author to be fixed.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Exaskryz

Re: Why do some extensions no longer work in v25?

Unread post by Exaskryz » 2015-05-26, 01:08

I had a couple of extensions that were enabled after a freak upgrade to v25.1.0 that was totally out of my control and inexplicably happened with pale moon getting confused between safe mode and running different profiles and ignoring my preference to never check for updates.

Anyhow, those extensions, as I said, were enabled in v25.1.0, as they were in good old 24.6.2. Problem is their icons disappeared. I saw no way at all to resolve that. Why is that? The addons seemed to be working just fine (Scriptish and Adblock Plus), although I didn't test them extensively before digging for my 24.6.2 installer once I noticed there was no easy way to put their icons back onto my GUI.

What do the Pseudo-statics mean? What could I do on my end to fix it? Clone the extensions and flip a flag to make them work?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35403
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Why do some extensions no longer work in v25?

Unread post by Moonchild » 2015-05-30, 11:23

Exaskryz wrote:I had a couple of extensions that were enabled after a freak upgrade to v25.1.0 that was totally out of my control and inexplicably happened with pale moon getting confused between safe mode and running different profiles and ignoring my preference to never check for updates.

Anyhow, those extensions, as I said, were enabled in v25.1.0, as they were in good old 24.6.2. Problem is their icons disappeared. I saw no way at all to resolve that. Why is that? The addons seemed to be working just fine (Scriptish and Adblock Plus), although I didn't test them extensively before digging for my 24.6.2 installer once I noticed there was no easy way to put their icons back onto my GUI.

What do the Pseudo-statics mean? What could I do on my end to fix it? Clone the extensions and flip a flag to make them work?
Scriptish: see viewtopic.php?f=46&t=8215 for discussion about it and Greasemonkey
ABP: Please use ABL, see viewtopic.php?f=46&t=6614
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Locked