I have a Firefox add-on (not distributed via AOD) that was supposed to be active (in that version) only with Firefox up to version 50, cf. This snippet is from my install.rdf:
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>35.0</em:minVersion>
<em:maxVersion>50.0</em:maxVersion>
</Description>
</em:targetApplication>
I intended that, when a user updates to Firefox 51, this add-on would be automatically disabled (at least until the add-on is updated as well). However, I noticed that this was not the case: The add-on was still active, even after Firefox restart (which had happened during the update anyway).
Is there something wrong with the versioning I did?
The
maxVersion
property is ignored unless you also setstrictCompatibility
:MDN says the following about
strictCompatibility
:I have updated the
targetApplication
section of the Install Manifests page on MDN to state thatstrictCompatibility
is required formaxVersion
not to be ignored. While this interaction was stated in thestrictCompatibility
section, the above quoted text is not something that would be found by someone only checking what is needed formaxVersion
.I suspect that this situation came about because of the evolution of the instal.rdf file and how handling of
maxVersion
evolved over time. Unfortunately, it has resulted in a situation where a property,maxVersion
is required, but ignored.The equivalent of this in a WebExtension is the
"applications": {"strict_max_version": "50.*",
. Thestrict_max_version
value is enforced for WebExtensions.