install.rdf) to a JSON manifest (manifest.json). Here is a basic example. This RDF manifest:manifest.json can be found in the MDN documentation.legacy key enables Thunderbird’s legacy support. Setting the type key to xul engages the new XUL overlay loader. The overlay loader is a Thunderbird component that takes XUL code as written in an overlay extension and applies it to the UI. In Thunderbird 60, this was a part of the core UI library, but it was removed. We have built a new overlay loader to replace as much of the removed code as possible.options key to define the options page. The key open_in_tab is optional and defaults to a value offalse. If your old RDF manifest included an em:optionsType of 3, you can set open_in_tab to true, to have your options opened again in a new tab instead of a new window.mailWindowOverlay.xul, that needs to be changed; in this example you most likely need to overlay messenger.xul now.overlay and style lines in yourchrome.manifest are now handled by the new overlay loader. You’ll see lines like this in the Error Console:interfaces..xptfiles is no longer possible. However, they can be converted to JavaScript Modules (the Quicktext add-on includes an example migration).<script> tags<script> tags added to an overlay file are now run after the application of the entire overlay, regardless of their position in the overlay. This may cause unexpected behavior if your script previously ran before elements were inserted. For elements with event handlers these event handlers may run when the element is added, and they may fail if they rely on content being set up by a script which now runs after the creation of the element.