Hi, all!

Thanks to everyone's efforts, the ESMification project is reaching the final 
step.
As announced in the previous email about the out-of-tree migration 
(https://groups.google.com/a/mozilla.org/g/dev-platform/c/HJHAaGKSeGU/m/k_L5xwBfAAAJ
 ), the JSM loader was removed from the Firefox 136 codebase.

The final step is to remove the special behavior around the module global 
variables in our system ES modules, which was necessary for the migration 
period, and this change may affect all system modules, including system modules 
in privileged extensions if there's any.

In short, non-exported module global variables may have shorter lifetime than 
the module itself depending on the usage, and if only the variable is used for 
keeping the pointed object alive, the object may be GCed earlier.

Here's the documentation that describes the details and the affected cases, and 
the workaround for each case.
https://docs.google.com/document/d/13hBs-UXQfJHTBTlRV6n1V1C-G_ObhQYjpnBpzRCIHmg/edit?tab=t.0

While the most cases are already fixed, there may be some overlooked cases 
(especially when the system module isn't named ".sys.mjs").
If you're aware of any case that is affected, please contact me.

Thank you for reading.
If you have questions, feel free to ask in the #esmification matrix room!
https://chat.mozilla.org/#/room/%23esmification:mozilla.org

-- 
arai

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/8D865045-86D7-4A68-B27B-AAE7626DD5C8%40gmail.com.

Reply via email to