Skip to content

feat: msix auto-updater#49230

Merged
jkleinsc merged 17 commits intoelectron:mainfrom
bitdisaster:msix-auto-updater
Jan 29, 2026
Merged

feat: msix auto-updater#49230
jkleinsc merged 17 commits intoelectron:mainfrom
bitdisaster:msix-auto-updater

Conversation

@bitdisaster
Copy link
Copy Markdown
Contributor

@bitdisaster bitdisaster commented Dec 18, 2025

Description of Change

This PR implements MSIX auto-updating according to electron/rfcs#21 . The new upater module supports auto-updating via:

{
  "url": "https://mycompany.example.com/myapp/package.msix",
  "name": "My Release Name",
  "notes": "Theses are some release notes innit",
  "pub_date": "2013-09-18T12:29:53+01:00"
}
{
  "currentRelease": "2.0.0",
  "releases": [
    {
      "version": "1.0.0",
      "updateTo": {
        "version": "1.0.0",
        "pub_date": "2013-09-18T12:29:53+01:00",
        "notes": "Theses are some release notes innit",
        "name": "1.2.1",
        "url": "https://mycompany.example.com/myapp/package_1.msix""
      }
    },
    {
      "version": 2.0.0",
      "updateTo": {
        "version": "2.0.0",
        "pub_date": "2014-09-18T12:29:53+01:00",
        "notes": "Theses are some more release notes innit",
        "name": "1.2.3",
        "url": "https://mycompany.example.com/myapp/package_2.msix"
      }
    }
  ]
}
  • direct MSIX url link
    https://mycompany.example.com/myapp/package.msix

Additonally, MSIX supports downgrading by setting allowAnyVersion. False by default.

 autoUpdater.setFeedURL({ url: 'https://mycompany.example.com/myapp/package.msix', allowAnyVersion: true }

Checklist

Release Notes

Notes: Added support for MSIX auto-updating

@electron-cation electron-cation bot added the new-pr 🌱 PR opened recently label Dec 18, 2025
@bitdisaster bitdisaster marked this pull request as draft December 18, 2025 01:46
@bitdisaster bitdisaster marked this pull request as ready for review December 18, 2025 21:35
@electron-cation electron-cation bot removed the new-pr 🌱 PR opened recently label Dec 25, 2025
Comment on lines +57 to +61
// Helper function for debug logging
void DebugLog(std::string_view log_msg) {
if (electron::debug_msix_updater)
LOG(INFO) << std::string(log_msg);
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could see this info being useful enough that I could be in favor of including it without the flag. As in, only requiring ELECTRON_ENABLE_LOGGING.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'm not sure about this either. I followed the model we have in the windows notification code.

Copy link
Copy Markdown
Member

@VerteDinde VerteDinde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a code perspective, looks good, but we'll need two API approvals before we can merge 🙇‍♀️

Copy link
Copy Markdown
Member

@erickzhao erickzhao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API LGTM

Copy link
Copy Markdown
Member

@MarshallOfSound MarshallOfSound left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving code, let's make the package info api private then will API stamp

Copy link
Copy Markdown
Member

@MarshallOfSound MarshallOfSound left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API LGTM

@jkleinsc jkleinsc merged commit d74fcfc into electron:main Jan 29, 2026
459 of 469 checks passed
@release-clerk
Copy link
Copy Markdown

release-clerk bot commented Jan 29, 2026

Release Notes Persisted

Added support for MSIX auto-updating

@MarshallOfSound MarshallOfSound added target/39-x-y PR should also be added to the "39-x-y" branch. target/40-x-y PR should also be added to the "40-x-y" branch. target/41-x-y PR should also be added to the "41-x-y" branch. labels Jan 30, 2026
@MarshallOfSound
Copy link
Copy Markdown
Member

/trop run backport

@trop
Copy link
Copy Markdown
Contributor

trop bot commented Jan 30, 2026

The backport process for this PR has been manually initiated - here we go! :D

@trop
Copy link
Copy Markdown
Contributor

trop bot commented Jan 30, 2026

I have automatically backported this PR to "39-x-y", please check out #49585

@trop
Copy link
Copy Markdown
Contributor

trop bot commented Jan 30, 2026

I have automatically backported this PR to "41-x-y", please check out #49586

@trop trop bot removed the target/39-x-y PR should also be added to the "39-x-y" branch. label Jan 30, 2026
@trop
Copy link
Copy Markdown
Contributor

trop bot commented Jan 30, 2026

I have automatically backported this PR to "40-x-y", please check out #49587

@trop trop bot added in-flight/41-x-y in-flight/40-x-y and removed target/41-x-y PR should also be added to the "41-x-y" branch. target/40-x-y PR should also be added to the "40-x-y" branch. labels Jan 30, 2026
@trop trop bot added merged/39-x-y PR was merged to the "39-x-y" branch. merged/41-x-y PR was merged to the "41-x-y" branch. merged/40-x-y PR was merged to the "40-x-y" branch. and removed in-flight/39-x-y in-flight/41-x-y in-flight/40-x-y labels Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-review/approved ✅ merged/39-x-y PR was merged to the "39-x-y" branch. merged/40-x-y PR was merged to the "40-x-y" branch. merged/41-x-y PR was merged to the "41-x-y" branch. no-backport semver/minor backwards-compatible functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants