v1.26.5

gildas-lormeau/SingleFilev1.26.5Sep 24, 2026by gildas-lormeau

Upgrading?

AI Summary

This maintenance release focuses on fixing regressions and improving stability. It updates the single-file-core library and addresses issues with file naming conflicts in Firefox, HTML nesting repair, and annotation editor behavior.

Key Highlights

  • Fixed Firefox file name conflict resolution logic to properly prompt for a name.
  • Fixed regression where valid nesting was broken during saving (e.g., Google Gemini chat).
  • Fixed shadow root template handling in the annotation editor to prevent data loss.
  • Fixed HTML parser issues where elements were dropped during save/re-open cycles.
  • Fixed infobar flashing orange during expansion.

Full Release Notes

### Fixes

- In Firefox, when "file name conflict resolution" is set to "prompt for a name", the name is now requested when the file already exists. Firefox does not implement `conflictAction: "prompt"` and the download was renamed with a number instead (e.g. "page (1).html"). The existence of the file is checked with `downloads.search`, so a file downloaded in a previous session of Firefox, or deleted outside Firefox, is not detected
- single-file-core is updated from 1.6.11 to 1.6.14, see https://github.com/gildas-lormeau/single-file-core/releases/tag/v1.6.12, https://github.com/gildas-lormeau/single-file-core/releases/tag/v1.6.13 and https://github.com/gildas-lormeau/single-file-core/releases/tag/v1.6.14
- With "compress HTML content" enabled (the default), a page with invalid nesting could be saved with some elements moved to the end of their parent, e.g. the input field of a Google Gemini chat was displayed at the top instead of the bottom (#2000). Regression in 1.26.3
- Elements dropped by the HTML parser when a saved page is opened (e.g. a form in a form, a `td` outside a table) are kept, invalid nesting is repaired inside shadow roots, and a link nested in a link is rebuilt when the saved page is opened
- In a `<style>` or a `<script>`, `/>` was escaped as `\/>` and a backslash was added each time a saved page was saved again, which removed the list markers of Google Gemini pages
- Saving a saved page again moved the `<meta name=referrer>` element after the `.sf-hidden` stylesheet
- When the infobar was expanded during the first two seconds, the expanded panel flashed orange. The flash is now an overlay hidden as soon as the infobar is expanded
- The annotation editor now marks invalid nesting with single-file-core's `markInvalidNesting` before moving shadow roots into templates, and repairs it after deserializing them, so the elements of a form nested in a form are no longer lost when a saved page is opened in the editor
- The annotation editor kept the shadow-root template of a page that was not saved with SingleFile, so the first save after editing lost the changes made inside shadow roots

Related Repositories