diff --git a/.github/workflows/electron.yml b/.github/workflows/electron.yml
index 36d510215f44f8ddab8a9899255a664588acf775..717d197c79f3424ad9fe33368ba2b8406a37457a 100644
--- a/.github/workflows/electron.yml
+++ b/.github/workflows/electron.yml
@@ -36,6 +36,11 @@ jobs:
         uses: ./.github/actions/setup
       - name: Build Electron
         run: ./bin/package-electron
+        env:
+          CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
+          CSC_LINK: ${{ secrets.CSC_LINK }}
+          APPLE_ID: ${{ secrets.APPLE_ID }}
+          APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
       - name: Upload Build
         uses: actions/upload-artifact@v3
         with:
diff --git a/.secret-tokens.example b/.secret-tokens.example
new file mode 100644
index 0000000000000000000000000000000000000000..1675ffbfd99b7ff0c07fa94933adeb171257ba2f
--- /dev/null
+++ b/.secret-tokens.example
@@ -0,0 +1,2 @@
+export APPLE_ID=example@email.com
+export APPLE_APP_SPECIFIC_PASSWORD=password
diff --git a/bin/package-electron b/bin/package-electron
index 0caece7e196d594f6fcab4e18af13c99548f4d80..801a6c5e2fef9484c842e5b5c4da02f9e4ea224b 100755
--- a/bin/package-electron
+++ b/bin/package-electron
@@ -3,7 +3,6 @@
 
 ROOT=`dirname $0`
 RELEASE=""
-RELEASE_NOTES="" # TODO: figure out automation for release notes when we start publishing electron versions
 CI=${CI:-false}
 
 cd "$ROOT/.."
@@ -47,15 +46,13 @@ yarn workspace desktop-electron update-client
     cd packages/desktop-electron;
     yarn clean;
 
-    export npm_config_better_sqlite3_binary_host="https://static.actualbudget.com/prebuild/better-sqlite3"
-
     if [ "$RELEASE" == "production" ]; then
         if [ -f ../../.secret-tokens ]; then
             source ../../.secret-tokens
         fi
-        yarn build --publish always -c.releaseInfo.releaseNotes="$RELEASE_NOTES" --arm64 --x64
+        yarn build --publish never --arm64 --x64
 
-        echo "\nCreated release with release notes \"$RELEASE_NOTES\""
+        echo "\nCreated release"
     else
         SKIP_NOTARIZATION=true yarn build --publish never --x64
     fi
diff --git a/packages/api/package.json b/packages/api/package.json
index 0f4c7c5d41344eba6e5d9e449e822637cbc7b5d9..7c2d9a01e5b41c73800e505fa4d3c0b2f1bee3ee 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -20,7 +20,7 @@
     "test": "yarn run build:app && jest -c jest.config.js"
   },
   "dependencies": {
-    "better-sqlite3": "^9.1.1",
+    "better-sqlite3": "^9.2.2",
     "compare-versions": "^6.1.0",
     "node-fetch": "^3.3.2",
     "uuid": "^9.0.0"
diff --git a/packages/desktop-client/README.md b/packages/desktop-client/README.md
index 834b79b486a1f264af97ebb3436ac6248daee680..2c6572f9fedb1f0b12369c37babb3ac8c7f39779 100644
--- a/packages/desktop-client/README.md
+++ b/packages/desktop-client/README.md
@@ -37,14 +37,15 @@ First start the dev server:
 ```sh
 HTTPS=true yarn start
 ```
+
 Next, navigate to the root of your project folder, run the standartised docker container, and launch the visual regression tests from within it.
 
 ```sh
 # Run docker container
-docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.37.0-jammy /bin/bash
+docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.37.1-jammy /bin/bash
 
-    # If you recieve an error such as "docker: invalid reference format", please instead use the following command:
-    docker run --rm --network host -v ${pwd}:/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.37.0-jammy /bin/bash
+    # If you receive an error such as "docker: invalid reference format", please instead use the following command:
+    docker run --rm --network host -v ${pwd}:/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.37.1-jammy /bin/bash
 
 # Run the VRT tests: important - they MUST be ran against a HTTPS server
 E2E_START_URL=https://192.168.0.178:3001 yarn vrt
diff --git a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png
index ed62336bdf97e05f39b4d76269b1cecc544b2808..32f89ebccabd818cf52165c723ca9a56435e16c8 100644
Binary files a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png and b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png differ
diff --git a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png
index b3cea84a41e7e7845249fdb1f08aa28c88adb1e0..0f71093688d685eee1f664154d8ae91c4ca65c9e 100644
Binary files a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png and b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png differ
diff --git a/packages/desktop-client/src/components/manager/WelcomeScreen.tsx b/packages/desktop-client/src/components/manager/WelcomeScreen.tsx
index 564fc586717aa4283daf1878086446d9c982fef0..9d13d9dd24291b0958daeb8134dade082d184593 100644
--- a/packages/desktop-client/src/components/manager/WelcomeScreen.tsx
+++ b/packages/desktop-client/src/components/manager/WelcomeScreen.tsx
@@ -50,8 +50,8 @@ export function WelcomeScreen() {
         </Paragraph>
         <Paragraph style={{ color: theme.pageTextLight }}>
           Get started by importing an existing budget file from Actual or
-          another budgeting app, or start fresh with an empty budget. You can
-          always create or import another budget later.
+          another budgeting app, create a demo budget file, or start fresh with
+          an empty budget. You can always create or import another budget later.
         </Paragraph>
       </View>
       <View
@@ -63,9 +63,20 @@ export function WelcomeScreen() {
         }}
       >
         <Button onClick={() => pushModal('import')}>Import my budget</Button>
-        <Button type="primary" onClick={() => createBudget()}>
-          Start fresh
-        </Button>
+        <View
+          style={{
+            flexDirection: 'row',
+            justifyContent: 'space-between',
+            gap: 10,
+          }}
+        >
+          <Button onClick={() => createBudget({ testMode: true })}>
+            View demo
+          </Button>
+          <Button type="primary" onClick={() => createBudget()}>
+            Start fresh
+          </Button>
+        </View>
       </View>
     </View>
   );
diff --git a/packages/desktop-electron/about/index.js b/packages/desktop-electron/about/index.js
index 0286f1c41fc26a3314cc35bfe8fd0f5654964dcc..06678cbbf3081d8f7b13d9205520168b6ae6ab80 100644
--- a/packages/desktop-electron/about/index.js
+++ b/packages/desktop-electron/about/index.js
@@ -20,7 +20,6 @@ root.innerHTML = `
     <div id="success"></div>
     <div id="error"></div>
   </div>
-  <div style="color:rgba(0, 0, 0, .45)">&copy; 2020 Shift Reset LLC</div>
 `;
 
 const container = root.querySelector('#container');
diff --git a/packages/desktop-electron/afterSignHook.js b/packages/desktop-electron/afterSignHook.js
deleted file mode 100644
index 492f58d848f312942cc6e3187dd915bdf9567b9e..0000000000000000000000000000000000000000
--- a/packages/desktop-electron/afterSignHook.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const fs = require('fs');
-const path = require('path');
-
-const electron_notarize = require('electron-notarize');
-
-// This is expected to be run by `electron-builder` after it signs the build.
-// It's disabled for now as we currently don't sign builds after Actual being open sourced.
-// To start signing builds again:
-// - add the property `"afterSign": "./afterSignHook.js"` to the `build` object in package.json.
-// - add the property `"certificateSubjectName": "Shift Reset LLC"` (or similar) to the `win` object in package.json.
-
-module.exports = async function (params) {
-  // Only notarize the app on Mac OS only.
-  if (process.platform !== 'darwin' || process.env['SKIP_NOTARIZATION']) {
-    return;
-  }
-
-  // Same appId in electron-builder.
-  const appId = 'com.shiftreset.actual';
-
-  const appPath = path.join(
-    params.appOutDir,
-    `${params.packager.appInfo.productFilename}.app`,
-  );
-  if (!fs.existsSync(appPath)) {
-    throw new Error(`Cannot find application at: ${appPath}`);
-  }
-
-  console.log(`Notarizing ${appId} found at ${appPath}`);
-
-  try {
-    await electron_notarize.notarize({
-      appBundleId: appId,
-      appPath,
-      appleId: 'longster@gmail.com',
-      appleIdPassword: '@keychain:AC_PASSWORD',
-      ascProvider: 'JamesLong106746326',
-    });
-  } catch (error) {
-    console.error(error);
-  }
-
-  console.log(`Done notarizing ${appId}`);
-};
diff --git a/packages/desktop-electron/index.js b/packages/desktop-electron/index.js
index 188eb12fdae64f48e6cd4dc0ce6f01e0dd846523..d8e033352170786bae4732fe96e0abc12e5fa6c4 100644
--- a/packages/desktop-electron/index.js
+++ b/packages/desktop-electron/index.js
@@ -215,7 +215,7 @@ function updateMenu(isBudgetOpen) {
   }
 }
 
-app.setAppUserModelId('com.shiftreset.actual');
+app.setAppUserModelId('com.actualbudget.actual');
 
 app.on('ready', async () => {
   // Install an `app://` protocol that always returns the base HTML
diff --git a/packages/desktop-electron/package.json b/packages/desktop-electron/package.json
index 8b4d265a85f3d1011f69409ca86c131edc3826e6..4f80a76bbc1ee8f5ec43695dcfc468927432599a 100644
--- a/packages/desktop-electron/package.json
+++ b/packages/desktop-electron/package.json
@@ -1,5 +1,6 @@
 {
   "name": "desktop-electron",
+  "author": "Actual",
   "productName": "Actual",
   "description": "A simple and powerful personal finance system",
   "version": "24.1.0",
@@ -11,7 +12,7 @@
   },
   "main": "index.js",
   "build": {
-    "appId": "com.shiftreset.actual",
+    "appId": "com.actualbudget.actual",
     "files": [
       "!node_modules/loot-core/src{,/**/*}",
       "!node_modules/loot-core/lib-dist/{browser,bundle.mobile*}",
@@ -23,15 +24,18 @@
     ],
     "publish": {
       "provider": "github",
-      "repo": "releases",
+      "repo": "actual",
       "owner": "actualbudget",
-      "vPrefixedTagName": false
+      "vPrefixedTagName": true
     },
     "mac": {
       "category": "public.app-category.finance",
       "icon": "icons/icon.icns",
       "hardenedRuntime": true,
-      "gatekeeperAssess": false
+      "gatekeeperAssess": false,
+      "notarize": {
+        "teamId": "79ANZ983YF"
+      }
     },
     "linux": {
       "target": "AppImage",
@@ -45,16 +49,16 @@
   "dependencies": {
     "electron-is-dev": "2.0.0",
     "electron-log": "4.4.8",
-    "electron-updater": "6.1.4",
+    "electron-updater": "6.1.7",
     "loot-core": "*",
     "node-fetch": "^2.6.9",
     "promise-retry": "^2.0.1"
   },
   "devDependencies": {
-    "@electron/notarize": "2.1.0",
-    "@electron/rebuild": "3.3.0",
+    "@electron/notarize": "2.2.0",
+    "@electron/rebuild": "3.4.1",
     "cross-env": "^7.0.3",
-    "electron": "26.2.0",
-    "electron-builder": "24.6.4"
+    "electron": "27.2.0",
+    "electron-builder": "24.10.0"
   }
 }
diff --git a/packages/loot-core/package.json b/packages/loot-core/package.json
index 13d2a555df40450173c51aa353cfb88fe4731df5..36d1d680e3ffadba2d213664b1f1e00b1b7feb71 100644
--- a/packages/loot-core/package.json
+++ b/packages/loot-core/package.json
@@ -24,7 +24,7 @@
     "@types/adm-zip": "^0.5.0",
     "absurd-sql": "0.0.54",
     "assert": "^2.0.0",
-    "better-sqlite3": "^9.1.1",
+    "better-sqlite3": "^9.2.2",
     "browserify-zlib": "^0.2.0",
     "core-js": "^3.8.3",
     "csv-parse": "^4.10.1",
diff --git a/upcoming-release-notes/2182.md b/upcoming-release-notes/2182.md
new file mode 100644
index 0000000000000000000000000000000000000000..233bd0a47c9e9348195bde3d554f8fe4be05944c
--- /dev/null
+++ b/upcoming-release-notes/2182.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [MatissJanis]
+---
+
+Electron-app app store (osx) release
diff --git a/yarn.lock b/yarn.lock
index 4f82064c2a783bc47b55bf86ae767ed2cdc3e45b..5eadc1b0dd3eabedff271188b86bab8ad10df07d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5,10 +5,10 @@ __metadata:
   version: 8
   cacheKey: 10
 
-"7zip-bin@npm:~5.1.1":
-  version: 5.1.1
-  resolution: "7zip-bin@npm:5.1.1"
-  checksum: 853e636745131719b85650df93d1a3a9af0b0db1c0e2a0884451ec87e14c8b0f4fb911c04805984ece1211ff1235f7869547b780e06939469410f2da9b5e0da6
+"7zip-bin@npm:~5.2.0":
+  version: 5.2.0
+  resolution: "7zip-bin@npm:5.2.0"
+  checksum: 5339c7a56f57f8d7d16ac8d15f588d155e5705cd4822e0d161ea45e6fbfe4a5226b464a331ec555a1ec9376ad04e5f61c125656cf3a1507900c1968ccbcfe80b
   languageName: node
   linkType: hard
 
@@ -27,7 +27,7 @@ __metadata:
     "@swc/jest": "npm:^0.2.29"
     "@types/jest": "npm:^27.5.0"
     "@types/uuid": "npm:^9.0.2"
-    better-sqlite3: "npm:^9.1.1"
+    better-sqlite3: "npm:^9.2.2"
     compare-versions: "npm:^6.1.0"
     jest: "npm:^27.0.0"
     node-fetch: "npm:^3.3.2"
@@ -2156,6 +2156,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@electron/notarize@npm:2.2.0":
+  version: 2.2.0
+  resolution: "@electron/notarize@npm:2.2.0"
+  dependencies:
+    debug: "npm:^4.1.1"
+    fs-extra: "npm:^9.0.1"
+    promise-retry: "npm:^2.0.1"
+  checksum: 31639c9ee54d5ff2be7882c24916716b678b3c931b90cdea359262826b643c4291853cbaba8ecfc7cfddd75331117ef120fbd9c6a7b87c7d099ad54b6a2b0427
+  languageName: node
+  linkType: hard
+
 "@electron/osx-sign@npm:1.0.5":
   version: 1.0.5
   resolution: "@electron/osx-sign@npm:1.0.5"
@@ -2173,9 +2184,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@electron/rebuild@npm:3.3.0":
-  version: 3.3.0
-  resolution: "@electron/rebuild@npm:3.3.0"
+"@electron/rebuild@npm:3.4.1":
+  version: 3.4.1
+  resolution: "@electron/rebuild@npm:3.4.1"
   dependencies:
     "@malept/cross-spawn-promise": "npm:^2.0.0"
     chalk: "npm:^4.0.0"
@@ -2187,12 +2198,13 @@ __metadata:
     node-api-version: "npm:^0.1.4"
     node-gyp: "npm:^9.0.0"
     ora: "npm:^5.1.0"
+    read-binary-file-arch: "npm:^1.0.6"
     semver: "npm:^7.3.5"
     tar: "npm:^6.0.5"
     yargs: "npm:^17.0.1"
   bin:
     electron-rebuild: lib/cli.js
-  checksum: 1cb27eb6370b0ad94ab5e38208ab07cb9ba77c855b18c64d0d7b5bf15bb107ed242fccc2e99a5a7682699deb57da3404caee794b222da2dff8fad01fa4d46846
+  checksum: c6d9ade62f13b3c3642321ddcfed64a1ab839c25d19e2a7f444d0c4852bf6ee1fcb180d8c333516f9d656787e3d33ed2efc84f4d02d5196c32a0cc5f30e1f548
   languageName: node
   linkType: hard
 
@@ -5666,11 +5678,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"app-builder-lib@npm:24.6.4":
-  version: 24.6.4
-  resolution: "app-builder-lib@npm:24.6.4"
+"app-builder-lib@npm:24.10.0":
+  version: 24.10.0
+  resolution: "app-builder-lib@npm:24.10.0"
   dependencies:
-    7zip-bin: "npm:~5.1.1"
     "@develar/schema-utils": "npm:~2.6.5"
     "@electron/notarize": "npm:2.1.0"
     "@electron/osx-sign": "npm:1.0.5"
@@ -5679,12 +5690,12 @@ __metadata:
     "@types/fs-extra": "npm:9.0.13"
     async-exit-hook: "npm:^2.0.1"
     bluebird-lst: "npm:^1.0.9"
-    builder-util: "npm:24.5.0"
-    builder-util-runtime: "npm:9.2.1"
+    builder-util: "npm:24.9.4"
+    builder-util-runtime: "npm:9.2.3"
     chromium-pickle-js: "npm:^0.2.0"
     debug: "npm:^4.3.4"
     ejs: "npm:^3.1.8"
-    electron-publish: "npm:24.5.0"
+    electron-publish: "npm:24.9.4"
     form-data: "npm:^4.0.0"
     fs-extra: "npm:^10.1.0"
     hosted-git-info: "npm:^4.1.0"
@@ -5698,7 +5709,7 @@ __metadata:
     semver: "npm:^7.3.8"
     tar: "npm:^6.1.12"
     temp-file: "npm:^3.4.0"
-  checksum: 682b0ed778f69bbba59b1ff7376373120cd17c59c9c9b953bfc994f72e3938c38f2ad3ce415eadab8e0e13e2e2a8a48ac6aa63e1d0f48ddff86cfc34ec58d90b
+  checksum: 8350e08488d13c239ae62d8b4e799d5017d186547538161f47ec6475a3b290152e644e01788f4e35ba0b5bebdf4ef5118450fb52e76bc1813eb81f3db8025976
   languageName: node
   linkType: hard
 
@@ -6189,14 +6200,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"better-sqlite3@npm:^9.1.1":
-  version: 9.1.1
-  resolution: "better-sqlite3@npm:9.1.1"
+"better-sqlite3@npm:^9.2.2":
+  version: 9.2.2
+  resolution: "better-sqlite3@npm:9.2.2"
   dependencies:
     bindings: "npm:^1.5.0"
     node-gyp: "npm:latest"
     prebuild-install: "npm:^7.1.1"
-  checksum: 0e9dc50ebb449f1e2177a8960dcb0d87ef8cca85046920577de396955dd8783cf6b361c615e4f22a18227f5d66a9085500e9f4d840d92f970e51f84f7dea30f3
+  checksum: fc843a9ceb883e5c16eed8a3e7d85c15b52e3588a24424ad66391fc0bf5b94de2fa70016a716ad685cea8810e3233e958c0c1f350f35a5f18762021e313e297d
   languageName: node
   linkType: hard
 
@@ -6486,25 +6497,25 @@ __metadata:
   languageName: node
   linkType: hard
 
-"builder-util-runtime@npm:9.2.1":
-  version: 9.2.1
-  resolution: "builder-util-runtime@npm:9.2.1"
+"builder-util-runtime@npm:9.2.3":
+  version: 9.2.3
+  resolution: "builder-util-runtime@npm:9.2.3"
   dependencies:
     debug: "npm:^4.3.4"
     sax: "npm:^1.2.4"
-  checksum: 23a4cc0e65d1547d022c9ec9b84958c811b3ef064baff58a103b985f902fd4bce043547126eb834227445fa7da915169069837ffed38631a59cd64385e45fe43
+  checksum: 15f9618af1a2224d0ade19fa7dca12f80bc2ceeb4fc89242f2505b44f58d13d3439bb08a5bec865bb0f8e930fa57bd112d9ee9024f22f1654925ffe2bed3925b
   languageName: node
   linkType: hard
 
-"builder-util@npm:24.5.0":
-  version: 24.5.0
-  resolution: "builder-util@npm:24.5.0"
+"builder-util@npm:24.9.4":
+  version: 24.9.4
+  resolution: "builder-util@npm:24.9.4"
   dependencies:
-    7zip-bin: "npm:~5.1.1"
+    7zip-bin: "npm:~5.2.0"
     "@types/debug": "npm:^4.1.6"
     app-builder-bin: "npm:4.0.0"
     bluebird-lst: "npm:^1.0.9"
-    builder-util-runtime: "npm:9.2.1"
+    builder-util-runtime: "npm:9.2.3"
     chalk: "npm:^4.1.2"
     cross-spawn: "npm:^7.0.3"
     debug: "npm:^4.3.4"
@@ -6516,7 +6527,7 @@ __metadata:
     source-map-support: "npm:^0.5.19"
     stat-mode: "npm:^1.0.0"
     temp-file: "npm:^3.4.0"
-  checksum: 10c922f516ee68aa8b2fbdfd968b201fc92de022cb978e5a8af3681d7a099b131e9de9a5ea07e4e6a3f51ce027c77a900d54cafb4b1e831d30eb4f5b1b836d44
+  checksum: df830846d6149491616bdedf8e6829385cb968105762a835bda29eaeaea8f54254f5b14b9a3c4d060d0402d3bf886e48ab2a0c28c4615b4904fc25ad7c68ec90
   languageName: node
   linkType: hard
 
@@ -8254,14 +8265,14 @@ __metadata:
   version: 0.0.0-use.local
   resolution: "desktop-electron@workspace:packages/desktop-electron"
   dependencies:
-    "@electron/notarize": "npm:2.1.0"
-    "@electron/rebuild": "npm:3.3.0"
+    "@electron/notarize": "npm:2.2.0"
+    "@electron/rebuild": "npm:3.4.1"
     cross-env: "npm:^7.0.3"
-    electron: "npm:26.2.0"
-    electron-builder: "npm:24.6.4"
+    electron: "npm:27.2.0"
+    electron-builder: "npm:24.10.0"
     electron-is-dev: "npm:2.0.0"
     electron-log: "npm:4.4.8"
-    electron-updater: "npm:6.1.4"
+    electron-updater: "npm:6.1.7"
     loot-core: "npm:*"
     node-fetch: "npm:^2.6.9"
     promise-retry: "npm:^2.0.1"
@@ -8377,13 +8388,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"dmg-builder@npm:24.6.4":
-  version: 24.6.4
-  resolution: "dmg-builder@npm:24.6.4"
+"dmg-builder@npm:24.10.0":
+  version: 24.10.0
+  resolution: "dmg-builder@npm:24.10.0"
   dependencies:
-    app-builder-lib: "npm:24.6.4"
-    builder-util: "npm:24.5.0"
-    builder-util-runtime: "npm:9.2.1"
+    app-builder-lib: "npm:24.10.0"
+    builder-util: "npm:24.9.4"
+    builder-util-runtime: "npm:9.2.3"
     dmg-license: "npm:^1.0.11"
     fs-extra: "npm:^10.1.0"
     iconv-lite: "npm:^0.6.2"
@@ -8391,7 +8402,7 @@ __metadata:
   dependenciesMeta:
     dmg-license:
       optional: true
-  checksum: b3c1401ddb8b260c81a309568b4cfa26a018506bd4d03aedf8b2edb64189eb71070075cfaa5df3a3f063700f340d872a2d2c1a745d36c0a684193deb2d27ca0d
+  checksum: 237d071ed74b38ab817d85685790b1daf3d415377c0842de850226dd1885441ab5107d9a7193e23660b1c17054b6fca85d4d9c28e7efd4944c5b879aa5e0727c
   languageName: node
   linkType: hard
 
@@ -8701,15 +8712,15 @@ __metadata:
   languageName: node
   linkType: hard
 
-"electron-builder@npm:24.6.4":
-  version: 24.6.4
-  resolution: "electron-builder@npm:24.6.4"
+"electron-builder@npm:24.10.0":
+  version: 24.10.0
+  resolution: "electron-builder@npm:24.10.0"
   dependencies:
-    app-builder-lib: "npm:24.6.4"
-    builder-util: "npm:24.5.0"
-    builder-util-runtime: "npm:9.2.1"
+    app-builder-lib: "npm:24.10.0"
+    builder-util: "npm:24.9.4"
+    builder-util-runtime: "npm:9.2.3"
     chalk: "npm:^4.1.2"
-    dmg-builder: "npm:24.6.4"
+    dmg-builder: "npm:24.10.0"
     fs-extra: "npm:^10.1.0"
     is-ci: "npm:^3.0.0"
     lazy-val: "npm:^1.0.5"
@@ -8719,7 +8730,7 @@ __metadata:
   bin:
     electron-builder: cli.js
     install-app-deps: install-app-deps.js
-  checksum: 070563186394b78492032a56753f6386343b579a5f5c81f4ac06c8127232066cf1d97afa6a00b0704593a43970552660ab59597f2c905eee1ff675f8b99284d3
+  checksum: 0773bcafdcfa00f70d441f0a9cff1de8b6b87a8ad65285b6bcf4f2a9f6cc17640759b2b4bff408bf3bfbe15b00598de020a87f2cc7fe84b2338e7427dfd9a24f
   languageName: node
   linkType: hard
 
@@ -8737,18 +8748,18 @@ __metadata:
   languageName: node
   linkType: hard
 
-"electron-publish@npm:24.5.0":
-  version: 24.5.0
-  resolution: "electron-publish@npm:24.5.0"
+"electron-publish@npm:24.9.4":
+  version: 24.9.4
+  resolution: "electron-publish@npm:24.9.4"
   dependencies:
     "@types/fs-extra": "npm:^9.0.11"
-    builder-util: "npm:24.5.0"
-    builder-util-runtime: "npm:9.2.1"
+    builder-util: "npm:24.9.4"
+    builder-util-runtime: "npm:9.2.3"
     chalk: "npm:^4.1.2"
     fs-extra: "npm:^10.1.0"
     lazy-val: "npm:^1.0.5"
     mime: "npm:^2.5.2"
-  checksum: 826a8c7b219f8ffcfa7274effbc8a83e4e0cad665298bf06ca4b9071f828224dfb3407b45cefac0c9dc40af1c6529473dabcb3e30ac951690c0d48d013c2b71e
+  checksum: c4e9397b5ef070dbede48fece9d36d3dcaec7df1052f49744df790ff9793da24d52c22d949067dd7a5cbf9f5f06cd2243c221ec5bfdab3080b4c37f5b39a0473
   languageName: node
   linkType: hard
 
@@ -8759,11 +8770,11 @@ __metadata:
   languageName: node
   linkType: hard
 
-"electron-updater@npm:6.1.4":
-  version: 6.1.4
-  resolution: "electron-updater@npm:6.1.4"
+"electron-updater@npm:6.1.7":
+  version: 6.1.7
+  resolution: "electron-updater@npm:6.1.7"
   dependencies:
-    builder-util-runtime: "npm:9.2.1"
+    builder-util-runtime: "npm:9.2.3"
     fs-extra: "npm:^10.1.0"
     js-yaml: "npm:^4.1.0"
     lazy-val: "npm:^1.0.5"
@@ -8771,20 +8782,20 @@ __metadata:
     lodash.isequal: "npm:^4.5.0"
     semver: "npm:^7.3.8"
     tiny-typed-emitter: "npm:^2.1.0"
-  checksum: 278d8aa728690ca1cee8ec45cc657570b80da46ce2168ee191013d8ff4a109364f89156fd5268015b672861225c1784f460859909a2f60277190cba767b967cc
+  checksum: c6a5b566d70de550cd959a3af0bed98da868b997d7ef741ede488027a8c876af2e1bf981becfeac767c4dbf7af856ed4e53053e7fcd246dc2af5fc71fd5ef7cc
   languageName: node
   linkType: hard
 
-"electron@npm:26.2.0":
-  version: 26.2.0
-  resolution: "electron@npm:26.2.0"
+"electron@npm:27.2.0":
+  version: 27.2.0
+  resolution: "electron@npm:27.2.0"
   dependencies:
     "@electron/get": "npm:^2.0.0"
     "@types/node": "npm:^18.11.18"
     extract-zip: "npm:^2.0.1"
   bin:
     electron: cli.js
-  checksum: 27485e960a188c95c52bdad9797471fdcbeaadcdfecb48731816c143fb89be68ca259d97a74575c52c0c73465333b118eaea692e64265e8fc19fe99943042789
+  checksum: 80f207756c4ff85ea8f54e4e6aa0d0fb223719873af550ce081c4846cbfcff612d3611ddef4f127e7a0d34547ad57d2701ad957b06f2d93a885905126973c576
   languageName: node
   linkType: hard
 
@@ -13351,7 +13362,7 @@ __metadata:
     absurd-sql: "npm:0.0.54"
     adm-zip: "npm:^0.5.9"
     assert: "npm:^2.0.0"
-    better-sqlite3: "npm:^9.1.1"
+    better-sqlite3: "npm:^9.2.2"
     browserify-zlib: "npm:^0.2.0"
     buffer: "npm:^6.0.3"
     core-js: "npm:^3.8.3"
@@ -17247,6 +17258,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"read-binary-file-arch@npm:^1.0.6":
+  version: 1.0.6
+  resolution: "read-binary-file-arch@npm:1.0.6"
+  dependencies:
+    debug: "npm:^4.3.4"
+  bin:
+    read-binary-file-arch: cli.js
+  checksum: 7a25894816ff9caf5c27886b0aea1740bfab29483443a2859e5a0dc367c56ee9489f3cdba9da676a6d5913d3e421e71c6afbdbcfb636714ff49d93d152c72ba5
+  languageName: node
+  linkType: hard
+
 "read-cache@npm:^1.0.0":
   version: 1.0.0
   resolution: "read-cache@npm:1.0.0"