Update Fleet-maintained apps (#50574)

Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
* Refreshed supported macOS and Windows application packages to their
latest releases, including Asana, Chrome, Dropbox, Microsoft 365,
Postman, Thunderbird, Todoist, and many others.
* Updated version detection so devices recognize the new releases and
receive applicable upgrades.
  * Refreshed installer downloads and verification data where required.
* Updated installation instructions for selected applications, including
Duo Desktop, Microsoft Office, Nextcloud, Nudge, Santa, and Tailscale.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
This commit is contained in:
fleet-release
2026-08-05 09:14:46 -05:00
committed by GitHub
co-authored by allenhouchins
parent 1abeb175f3
commit 72c224bd78
58 changed files with 234 additions and 234 deletions
+4 -4
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2.7.2",
"version": "2.8.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.asana';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.asana' AND version_compare(bundle_short_version, '2.7.2') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.asana' AND version_compare(bundle_short_version, '2.8.0') < 0);"
},
"installer_url": "https://desktop-downloads.asana.com/darwin_arm64/prod/v2.7.2/Asana-darwin-arm64-2.7.2.zip",
"installer_url": "https://desktop-downloads.asana.com/darwin_arm64/prod/v2.8.0/Asana-darwin-arm64-2.8.0.zip",
"install_script_ref": "668a034e",
"uninstall_script_ref": "f219467b",
"sha256": "86fa23a4b4530fdbd8bd514beff1402fb0346dec946625708d891137c88eeae4",
"sha256": "dd7c5ca488774e5dd63f9e0b7f877dd1c72c864005a23f704db55ceea9fdc809",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2.7.2",
"version": "2.8.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Asana' AND publisher = 'Asana, Inc.';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Asana' AND publisher = 'Asana, Inc.' AND version_compare(version, '2.7.2') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Asana' AND publisher = 'Asana, Inc.' AND version_compare(version, '2.8.0') < 0);"
},
"installer_url": "https://desktop-downloads.asana.com/win32_x64/prod/v2.7.2/AsanaSetup.exe",
"installer_url": "https://desktop-downloads.asana.com/win32_x64/prod/v2.8.0/AsanaSetup.exe",
"install_script_ref": "7d7fdd9d",
"uninstall_script_ref": "223f54f6",
"sha256": "9f5778c5bf886ce66c51a7719ab41bd91ad74e8f8735496843ead7bdc47030ff",
"sha256": "d66ed0f30b7b9db1d102622a9be1c6b7c2459033ef85ca7ba2f19b700257cfee",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2.36.15",
"version": "2.36.16",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name LIKE 'AWS Command Line Interface v2 %' AND publisher = 'Amazon Web Services';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'AWS Command Line Interface v2 %' AND publisher = 'Amazon Web Services' AND version_compare(version, '2.36.15') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'AWS Command Line Interface v2 %' AND publisher = 'Amazon Web Services' AND version_compare(version, '2.36.16') < 0);"
},
"installer_url": "https://awscli.amazonaws.com/AWSCLIV2-2.36.15.msi",
"installer_url": "https://awscli.amazonaws.com/AWSCLIV2-2.36.16.msi",
"install_script_ref": "22e48c46",
"uninstall_script_ref": "58bcd016",
"sha256": "c2a6e721a82d6c81c847b343df22c4edb907bd50cb7f07276dafc451d45c5b37",
"sha256": "0b94de55cd02d573f7ea0c4ec0eef14917f79563c0e3cd8ac1bf8478b0dcdb39",
"default_categories": [
"Developer tools"
],
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "26.727.51351",
"version": "26.730.61639",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.chat';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.chat' AND version_compare(bundle_short_version, '26.727.51351') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.chat' AND version_compare(bundle_short_version, '26.730.61639') < 0);"
},
"installer_url": "https://persistent.oaistatic.com/codex-app-prod/ChatGPT-darwin-arm64-26.727.51351.zip",
"installer_url": "https://persistent.oaistatic.com/codex-app-prod/ChatGPT-darwin-arm64-26.730.61639.zip",
"install_script_ref": "cbce2d7d",
"uninstall_script_ref": "678e6cf0",
"sha256": "8f3fc87e634332fddc711e5221eb2af554f5f6ecb04e6a69b3d10e01f4f196c8",
"sha256": "da88c8a15eab1ddc8efdf50182d4aca7468d995193d952c344a4d10d38c45871",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.9.13",
"version": "2.0.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.kangfenmao.CherryStudio';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.kangfenmao.CherryStudio' AND version_compare(bundle_short_version, '1.9.13') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.kangfenmao.CherryStudio' AND version_compare(bundle_short_version, '2.0.0') < 0);"
},
"installer_url": "https://github.com/CherryHQ/cherry-studio/releases/download/v1.9.13/Cherry-Studio-1.9.13-arm64.dmg",
"installer_url": "https://github.com/CherryHQ/cherry-studio/releases/download/v2.0.0/Cherry-Studio-2.0.0-arm64.dmg",
"install_script_ref": "31529318",
"uninstall_script_ref": "69da7eb5",
"sha256": "041a687338ebcd7428253b2bbc9d7d742388cc22d6368093cdff6dedc8f4d6f8",
"sha256": "5bfb675c37cb821ff97afbd31c4229d76040d150d6ce728a4569ef342ca14ee6",
"default_categories": [
"Developer tools"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.24012.11",
"version": "1.25927.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop' AND version_compare(bundle_short_version, '1.24012.11') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop' AND version_compare(bundle_short_version, '1.25927.0') < 0);"
},
"installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.24012.11/Claude-09114b681f6f333d10cf1a08df130fe7080ddc9b.zip",
"installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.25927.0/Claude-003700efafbc2ccb4b1177a5e637b14da381799e.zip",
"install_script_ref": "6e4c028b",
"uninstall_script_ref": "421baa98",
"sha256": "28ed1de6b7c880b0fc549e267d2a6a390e01219f29ae2a504bb75473ddc8dc7c",
"sha256": "024fd60c6008efcac5be32e5faf3f5e7510b6a8adef07fd5834e49a7b5d1a78a",
"default_categories": [
"Developer tools"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "3.14.7",
"version": "3.14.27",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92' AND version_compare(bundle_short_version, '3.14.7') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92' AND version_compare(bundle_short_version, '3.14.27') < 0);"
},
"installer_url": "https://downloads.cursor.com/production/a758f2241ca99fecf380180b6cbdbbce0f1f42cf/darwin/arm64/Cursor-darwin-arm64.zip",
"installer_url": "https://downloads.cursor.com/production/047548b00c1a079373d74d00183f32510a4a41e1/darwin/arm64/Cursor-darwin-arm64.zip",
"install_script_ref": "1ae48b55",
"uninstall_script_ref": "03b9aece",
"sha256": "393dc55f28c13992989ad62f73bb57e46b3600eb33886c15801f5864231ae958",
"sha256": "aad8d3dfa50fffce0314ceeb332cc6a44fee2f76ac15dc2b29d3f92ce7ec3552",
"default_categories": [
"Developer tools"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "3.1.7",
"version": "3.1.8",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'app.dataflare.desktop';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'app.dataflare.desktop' AND version_compare(bundle_short_version, '3.1.7') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'app.dataflare.desktop' AND version_compare(bundle_short_version, '3.1.8') < 0);"
},
"installer_url": "https://assets.dataflare.app/release/darwin/aarch64/Dataflare-3.1.7.dmg",
"installer_url": "https://assets.dataflare.app/release/darwin/aarch64/Dataflare-3.1.8.dmg",
"install_script_ref": "d96ff327",
"uninstall_script_ref": "bf5b4266",
"sha256": "786baeadb508c179e987d117e1a05d25a86e2f83481b4cb746b3e02fd3f045ec",
"sha256": "9265f7f62fac6a85421c85c47bfad18d13d7d3c30cb7fae5c229000e72c4ffe2",
"default_categories": [
"Developer tools"
]
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "8.0.0.3",
"version": "8.0.0.4",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'digiSeal reader' AND publisher = 'secrypt GmbH';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'digiSeal reader' AND publisher = 'secrypt GmbH' AND version_compare(version, '8.0.0.3') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'digiSeal reader' AND publisher = 'secrypt GmbH' AND version_compare(version, '8.0.0.4') < 0);"
},
"installer_url": "https://www.secrypt.de/downloads/setup_digiSeal_reader.exe",
"install_script_ref": "76c7506c",
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "262.4.3183",
"version": "264.4.3385",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.getdropbox.dropbox';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.getdropbox.dropbox' AND version_compare(bundle_short_version, '262.4.3183') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.getdropbox.dropbox' AND version_compare(bundle_short_version, '264.4.3385') < 0);"
},
"installer_url": "https://edge.dropboxstatic.com/dbx-releng/client/Dropbox%20262.4.3183.arm64.dmg",
"installer_url": "https://edge.dropboxstatic.com/dbx-releng/client/Dropbox%20264.4.3385.arm64.dmg",
"install_script_ref": "dcd0d19e",
"uninstall_script_ref": "3af4988a",
"sha256": "07ad76cdb4ca7ea5567a91d128e9a2cd1b5196e12b3d159b00a0ad4da938a36f",
"sha256": "e4c8b5735ac893a03838a4c0fa27bfb6d2dd3c7cc513235294ae69279b8d4748",
"default_categories": [
"Productivity"
]
File diff suppressed because one or more lines are too long
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "7.19.0",
"version": "7.20.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Duo Desktop' AND publisher = 'Duo Security';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Duo Desktop' AND publisher = 'Duo Security' AND version_compare(version, '7.19.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Duo Desktop' AND publisher = 'Duo Security' AND version_compare(version, '7.20.0') < 0);"
},
"installer_url": "https://dl.duosecurity.com/DuoDesktop-7.19.0.msi",
"installer_url": "https://dl.duosecurity.com/DuoDesktop-7.20.0.msi",
"install_script_ref": "22e48c46",
"uninstall_script_ref": "0d338e9c",
"sha256": "55b4079170f6bb0fe085b331f448390198c0aa76a4c4ed3267ac0782e2f8b4bd",
"sha256": "76973ed35adf320ec92c8fcc1c0e91d419a47ab405bf6962103c4f0060c7046d",
"default_categories": [
"Productivity"
],
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.12.24",
"version": "1.12.25",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'im.riot.app';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'im.riot.app' AND version_compare(bundle_short_version, '1.12.24') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'im.riot.app' AND version_compare(bundle_short_version, '1.12.25') < 0);"
},
"installer_url": "https://packages.element.io/desktop/update/macos/Element-1.12.24-universal-mac.zip",
"installer_url": "https://packages.element.io/desktop/update/macos/Element-1.12.25-universal-mac.zip",
"install_script_ref": "de37e84e",
"uninstall_script_ref": "6e6ffb57",
"sha256": "1c9d596d418f356a68f1aaa414ae0e22d4809588ed7b320988405f5341d464df",
"sha256": "4d202f20062633bcce4cc829b11d084d6261577c8731a40bc4b4fa54b1dc5562",
"default_categories": [
"Communication"
]
@@ -6,10 +6,10 @@
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.nightly';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.nightly' AND version_compare(bundle_version, '15526.8.4') < 0);"
},
"installer_url": "https://ftp.mozilla.org/pub/firefox/nightly/2026/08/2026-08-04-04-32-44-mozilla-central/firefox-155.0a1.en-US.mac.dmg",
"installer_url": "https://ftp.mozilla.org/pub/firefox/nightly/2026/08/2026-08-04-21-29-19-mozilla-central/firefox-155.0a1.en-US.mac.dmg",
"install_script_ref": "d9c4cf87",
"uninstall_script_ref": "0661f848",
"sha256": "f9575407f71bb71beb906053ad93a1993f54c018eb57f1dca4a11eb7de279d66",
"sha256": "8c2805d4d6d6611f1ecf864d6fc3ae30746aaf41eb3cccad480157ada03e9a3e",
"default_categories": [
"Browsers"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "5.6.276",
"version": "5.6.277",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.gdevelop-app.ide';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.gdevelop-app.ide' AND version_compare(bundle_short_version, '5.6.276') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.gdevelop-app.ide' AND version_compare(bundle_short_version, '5.6.277') < 0);"
},
"installer_url": "https://github.com/4ian/GDevelop/releases/download/v5.6.276/GDevelop-5-5.6.276-universal.dmg",
"installer_url": "https://github.com/4ian/GDevelop/releases/download/v5.6.277/GDevelop-5-5.6.277-universal.dmg",
"install_script_ref": "6eac5127",
"uninstall_script_ref": "c1bae326",
"sha256": "c8253683f5249f12528b4b19f736008c3b858e3d0af3c33b3bdfbf093850e19a",
"sha256": "b7f03c8d6831533899cbf7c3ba9171ed1018733415314814e0379d960c5fb4d2",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "5.6.276",
"version": "5.6.277",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'GDevelop' AND publisher = 'GDevelop Team';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'GDevelop' AND publisher = 'GDevelop Team' AND version_compare(version, '5.6.276') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'GDevelop' AND publisher = 'GDevelop Team' AND version_compare(version, '5.6.277') < 0);"
},
"installer_url": "https://github.com/4ian/GDevelop/releases/download/v5.6.276/GDevelop-5-Setup-5.6.276.exe",
"installer_url": "https://github.com/4ian/GDevelop/releases/download/v5.6.277/GDevelop-5-Setup-5.6.277.exe",
"install_script_ref": "01cf10cc",
"uninstall_script_ref": "7ab32cde",
"sha256": "5dc3ff86cf535441fb647b97ceab39e6d878367828b80381d113727537cfae58",
"sha256": "4de87bd598b44d2c49cd0581b69c0f49fc774d73638b9756be2ed4e545611a8d",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "26.6.2",
"version": "26.8.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'GoldenDict-ng';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'GoldenDict-ng' AND version_compare(version, '26.6.2') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'GoldenDict-ng' AND version_compare(version, '26.8.0') < 0);"
},
"installer_url": "https://github.com/xiaoyifang/goldendict-ng/releases/download/v26.6.2/GoldenDict-ng-26.6.2-Qt6.8.3-Windows-installer.exe",
"installer_url": "https://github.com/xiaoyifang/goldendict-ng/releases/download/v26.8.0/GoldenDict-ng-26.8.0-Qt6.8.3-Windows-installer.exe",
"install_script_ref": "cfd3838e",
"uninstall_script_ref": "ae5457ec",
"sha256": "8225752610bc6f3669c5a07df6f14ce05a538ed3a97ee789c06efd4ff17f09e2",
"sha256": "354bdce2509a6b73eef60fd5cf49770dbc3824e52b3c25f8dcef8ae48307b865",
"default_categories": [
"Productivity"
]
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "151.0.7922.72",
"version": "151.0.7922.76",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.Chrome';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.Chrome' AND version_compare(bundle_short_version, '151.0.7922.72') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.Chrome' AND version_compare(bundle_short_version, '151.0.7922.76') < 0);"
},
"installer_url": "https://dl.google.com/dl/chrome/mac/universal/stable/gcem/GoogleChrome.pkg",
"install_script_ref": "02a1baed",
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "151.0.7922.72",
"version": "151.0.7922.76",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Google Chrome' AND publisher = 'Google LLC';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Google Chrome' AND publisher = 'Google LLC' AND version_compare(version, '151.0.7922.72') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Google Chrome' AND publisher = 'Google LLC' AND version_compare(version, '151.0.7922.76') < 0);"
},
"installer_url": "https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi",
"install_script_ref": "22e48c46",
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "1.88.5.636",
"version": "1.92.1.684",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.GeminiMacOS';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.GeminiMacOS' AND version_compare(bundle_short_version, '1.88.5.636') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.GeminiMacOS' AND version_compare(bundle_short_version, '1.92.1.684') < 0);"
},
"installer_url": "https://dl.google.com/release2/j33ro/release/Gemini.dmg",
"install_script_ref": "42bb1ca2",
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2026.7.0",
"version": "2026.8.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.jitsi.jitsi-meet';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.jitsi.jitsi-meet' AND version_compare(bundle_short_version, '2026.7.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.jitsi.jitsi-meet' AND version_compare(bundle_short_version, '2026.8.0') < 0);"
},
"installer_url": "https://github.com/jitsi/jitsi-meet-electron/releases/download/v2026.7.0/jitsi-meet.dmg",
"installer_url": "https://github.com/jitsi/jitsi-meet-electron/releases/download/v2026.8.0/jitsi-meet.dmg",
"install_script_ref": "7b39a3a8",
"uninstall_script_ref": "ed2d9125",
"sha256": "b52316e73317effeb324f8a085dace1827ba6fd9440f4d0e32d46aef21589690",
"sha256": "9480833adebc35c0974e75bd2c45b07c154eca7816d83295403219f682bf3452",
"default_categories": [
"Communication"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2.16.0",
"version": "2.16.1",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'dev.kiro.cli';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'dev.kiro.cli' AND version_compare(bundle_short_version, '2.16.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'dev.kiro.cli' AND version_compare(bundle_short_version, '2.16.1') < 0);"
},
"installer_url": "https://desktop-release.q.us-east-1.amazonaws.com/2.16.0/Kiro%20CLI.dmg",
"installer_url": "https://desktop-release.q.us-east-1.amazonaws.com/2.16.1/Kiro%20CLI.dmg",
"install_script_ref": "21bed962",
"uninstall_script_ref": "ed98f0de",
"sha256": "6131f8061f341c51bb546f7b9eea44c22bfe1d79d336bd904b7e2a31a9a0f3c7",
"sha256": "5fce9cf9dca6a74f0c52915176a6421f5948e6903813af90480c6b722cb20d32",
"default_categories": [
"Productivity"
]
+4 -4
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "0.365.0",
"version": "0.366.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.loom.desktop';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.loom.desktop' AND version_compare(bundle_short_version, '0.365.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.loom.desktop' AND version_compare(bundle_short_version, '0.366.0') < 0);"
},
"installer_url": "https://packages.loom.com/desktop-packages/Loom-0.365.0-arm64.dmg",
"installer_url": "https://packages.loom.com/desktop-packages/Loom-0.366.0-arm64.dmg",
"install_script_ref": "53e2b898",
"uninstall_script_ref": "1a901a1f",
"sha256": "a6cba46f99f7cd39d305e6579115bc85b69713c9668a9426dc9e39010ac8e1e9",
"sha256": "b99271501cc18e07254f59691c44be35496b18d42e7a5e80e8d23a4526b0be29",
"default_categories": [
"Productivity"
]
+4 -4
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "0.365.0",
"version": "0.366.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Loom' AND publisher = 'Loom, Inc.';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Loom' AND publisher = 'Loom, Inc.' AND version_compare(version, '0.365.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Loom' AND publisher = 'Loom, Inc.' AND version_compare(version, '0.366.0') < 0);"
},
"installer_url": "https://cdn.loom.com/desktop-packages/Loom%20Setup%200.365.0.exe",
"installer_url": "https://cdn.loom.com/desktop-packages/Loom%20Setup%200.366.0.exe",
"install_script_ref": "77327cbf",
"uninstall_script_ref": "b012f1e7",
"sha256": "9bf4d6b485b8721b07cd318d2321d0e3578b85e43adbadee7ceba4067f5278b4",
"sha256": "4c0576fefd63f329c40a51c871f725babf2655445a5874026f294aaa57d43609",
"default_categories": [
"Productivity"
]
File diff suppressed because one or more lines are too long
@@ -1,22 +1,22 @@
{
"versions": [
{
"version": "16.111.2",
"version": "16.111.3",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.onenote.mac';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.onenote.mac' AND version_compare(bundle_short_version, '16.111.2') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.onenote.mac' AND version_compare(bundle_short_version, '16.111.3') < 0);"
},
"installer_url": "https://res.public.onecdn.static.microsoft/mro1cdnstorage/C1297A47-86C4-4C1F-97FA-950631F94777/MacAutoupdate/Microsoft_OneNote_16.111.26072617_Updater.pkg",
"install_script_ref": "fc821ef7",
"installer_url": "https://res.public.onecdn.static.microsoft/mro1cdnstorage/C1297A47-86C4-4C1F-97FA-950631F94777/MacAutoupdate/Microsoft_OneNote_16.111.26080215_Updater.pkg",
"install_script_ref": "c0a2a291",
"uninstall_script_ref": "c71395f6",
"sha256": "8fba92e6be59b6a4a373d9a432501ed7b4e5ef5c592eaea38a5e8bc312266344",
"sha256": "a133a84aa119de9ceb808372fe68d9497421ea96ba443df321b0b4a28a3602f4",
"default_categories": [
"Productivity"
]
}
],
"refs": {
"c71395f6": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_pkg_files 'com.microsoft.package.Microsoft_OneNote.app'\nforget_pkg 'com.microsoft.package.Microsoft_OneNote.app'\nsudo rm -rf '/Applications/Microsoft OneNote.app'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.microsoft.onenote.mac*'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.microsoft.onenote.mac*'\n",
"fc821ef7": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.microsoft.onenote.mac'\nsudo installer -pkg \"$TMPDIR/Microsoft_OneNote_16.111.26072617_Updater.pkg\" -target / || exit $?\nrelaunch_application 'com.microsoft.onenote.mac'\n"
"c0a2a291": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.microsoft.onenote.mac'\nsudo installer -pkg \"$TMPDIR/Microsoft_OneNote_16.111.26080215_Updater.pkg\" -target / || exit $?\nrelaunch_application 'com.microsoft.onenote.mac'\n",
"c71395f6": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_pkg_files 'com.microsoft.package.Microsoft_OneNote.app'\nforget_pkg 'com.microsoft.package.Microsoft_OneNote.app'\nsudo rm -rf '/Applications/Microsoft OneNote.app'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.microsoft.onenote.mac*'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.microsoft.onenote.mac*'\n"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "3.18.118",
"version": "3.18.119",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.milanote.app';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.milanote.app' AND version_compare(bundle_short_version, '3.18.118') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.milanote.app' AND version_compare(bundle_short_version, '3.18.119') < 0);"
},
"installer_url": "https://milanote-app-releases.s3.amazonaws.com/Milanote-3.18.118.dmg",
"installer_url": "https://milanote-app-releases.s3.amazonaws.com/Milanote-3.18.119.dmg",
"install_script_ref": "7bb39759",
"uninstall_script_ref": "19269206",
"sha256": "2b38dd08b16d67e36e5b4fdb8755c5364306aa32b6e3f9046f3b19243606db16",
"sha256": "f0ffbd9cd08d35036362bb541461358be772e53b03811a004d2c769475a982d8",
"default_categories": [
"Developer tools"
]
+2 -2
View File
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "0.11.164",
"version": "0.11.168",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.realtimeboard';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.realtimeboard' AND version_compare(bundle_short_version, '0.11.164') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.realtimeboard' AND version_compare(bundle_short_version, '0.11.168') < 0);"
},
"installer_url": "https://desktop.miro.com/platforms/darwin-arm64/Install-Miro.dmg",
"install_script_ref": "cf00ec55",
+3 -3
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "0.11.164",
"version": "0.11.168",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Miro' AND publisher = 'Miro';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Miro' AND publisher = 'Miro' AND version_compare(version, '0.11.164') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Miro' AND publisher = 'Miro' AND version_compare(version, '0.11.168') < 0);"
},
"installer_url": "https://desktop.miro.com/platforms/win32-nsis-pu/Miro-setup.exe",
"install_script_ref": "c9d9747e",
"uninstall_script_ref": "66f6a4de",
"sha256": "0e6f2095ad9e5983a70d5eeaa64b349887e05a964944e82f134ef35560931465",
"sha256": "e2d274630b25cd19e9473d48825d2077dff40f4c91e4376bded59a6b84d5382b",
"default_categories": [
"Productivity"
]
File diff suppressed because one or more lines are too long
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "34.0.0",
"version": "34.0.1",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Nextcloud' AND publisher = 'Nextcloud GmbH';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Nextcloud' AND publisher = 'Nextcloud GmbH' AND version_compare(version, '34.0.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Nextcloud' AND publisher = 'Nextcloud GmbH' AND version_compare(version, '34.0.1') < 0);"
},
"installer_url": "https://github.com/nextcloud-releases/desktop/releases/download/v34.0.0/Nextcloud-34.0.0-x64.msi",
"installer_url": "https://github.com/nextcloud-releases/desktop/releases/download/v34.0.1/Nextcloud-34.0.1-x64.msi",
"install_script_ref": "22e48c46",
"uninstall_script_ref": "625d37ef",
"sha256": "6a04598ffc5e39ec519cdc7e3f17c87ed7556214e73fd3294755643bac0db349",
"sha256": "e81c052832383508c67136395b9304bfdd8bf7a4dbdd9b86a1bd4dd22272b485",
"default_categories": [
"Productivity"
],
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "10.8.0",
"version": "10.8.1",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.nordvpn.macos';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.nordvpn.macos' AND version_compare(bundle_short_version, '10.8.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.nordvpn.macos' AND version_compare(bundle_short_version, '10.8.1') < 0);"
},
"installer_url": "https://downloads.nordcdn.com/apps/macos/generic/NordVPN-OpenVPN/10.8.0/NordVPN.pkg",
"installer_url": "https://downloads.nordcdn.com/apps/macos/generic/NordVPN-OpenVPN/10.8.1/NordVPN.pkg",
"install_script_ref": "7ddb9cb2",
"uninstall_script_ref": "4f2c1a63",
"sha256": "ee079c23c4032a423bf65c5ee44d72559e33b30d6a97bb9d415482c27094cde5",
"sha256": "4f3398fc3b04f7e142ae4da788f6e5a51b81479e3ca995b80244dd28c9006fe2",
"default_categories": [
"Productivity"
]
+6 -6
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2.1.2.81856",
"version": "2.1.3.81860",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.github.macadmins.Nudge';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.github.macadmins.Nudge' AND version_compare(bundle_short_version, '2.1.2.81856') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.github.macadmins.Nudge' AND version_compare(bundle_short_version, '2.1.3.81860') < 0);"
},
"installer_url": "https://github.com/macadmins/nudge/releases/download/v2.1.2.81856/Nudge-2.1.2.81856.pkg",
"install_script_ref": "ac39d8ab",
"installer_url": "https://github.com/macadmins/nudge/releases/download/v2.1.3.81860/Nudge-2.1.3.81860.pkg",
"install_script_ref": "aa291dac",
"uninstall_script_ref": "1f8d2677",
"sha256": "9a1850052aacc105a8c77dfc2e43e33afad673402d9781e1c107eeb98d31f30c",
"sha256": "277353d03208ba12039ebd132aff704199816f5000334913f33f3696f294f19a",
"default_categories": [
"Productivity"
]
@@ -17,6 +17,6 @@
],
"refs": {
"1f8d2677": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_pkg_files 'com.github.macadmins.Nudge'\nforget_pkg 'com.github.macadmins.Nudge'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.github.macadmins.Nudge.plist'\n",
"ac39d8ab": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.github.macadmins.Nudge'\nsudo installer -pkg \"$TMPDIR/Nudge-2.1.2.81856.pkg\" -target / || exit $?\nrelaunch_application 'com.github.macadmins.Nudge'\n"
"aa291dac": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.github.macadmins.Nudge'\nsudo installer -pkg \"$TMPDIR/Nudge-2.1.3.81860.pkg\" -target / || exit $?\nrelaunch_application 'com.github.macadmins.Nudge'\n"
}
}
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.43.3.10828",
"version": "1.43.3.10861",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.plexapp.plexmediaserver';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.plexapp.plexmediaserver' AND version_compare(bundle_short_version, '1.43.3.10828') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.plexapp.plexmediaserver' AND version_compare(bundle_short_version, '1.43.3.10861') < 0);"
},
"installer_url": "https://downloads.plex.tv/plex-media-server-new/1.43.3.10828-00f62d37d/macos/PlexMediaServer-1.43.3.10828-00f62d37d-universal.zip",
"installer_url": "https://downloads.plex.tv/plex-media-server-new/1.43.3.10861-07dfddaeb/macos/PlexMediaServer-1.43.3.10861-07dfddaeb-universal.zip",
"install_script_ref": "87eb0241",
"uninstall_script_ref": "2c6d641f",
"sha256": "32f014ca977e856d2bd28c7a86d2f7effdc6d7fa7b83eec3a212845c7b5bebe8",
"sha256": "bf6b1466dbef552457b49be68e54020198987ea498622ec7cf95ae8252b243ee",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "12.22.2",
"version": "12.22.3",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.postmanlabs.mac';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.postmanlabs.mac' AND version_compare(bundle_short_version, '12.22.2') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.postmanlabs.mac' AND version_compare(bundle_short_version, '12.22.3') < 0);"
},
"installer_url": "https://dl.pstmn.io/download/version/12.22.2/osx_arm64",
"installer_url": "https://dl.pstmn.io/download/version/12.22.3/osx_arm64",
"install_script_ref": "0e85ef74",
"uninstall_script_ref": "20883323",
"sha256": "3da12d46254b4ce6bc1d6b162982f8f0d6e126a6a63ecd51d77f6b59de982220",
"sha256": "3bbbce9cbfc8c6729ed60c4a29bdf67892dea86f126e1918feab80a7e0383114",
"default_categories": [
"Developer tools"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "12.22.0",
"version": "12.22.2",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name LIKE 'Postman x64 %' AND publisher = 'Postman';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Postman x64 %' AND publisher = 'Postman' AND version_compare(version, '12.22.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Postman x64 %' AND publisher = 'Postman' AND version_compare(version, '12.22.2') < 0);"
},
"installer_url": "https://dl.pstmn.io/download/version/12.22.0/windows_64",
"installer_url": "https://dl.pstmn.io/download/version/12.22.2/windows_64",
"install_script_ref": "8594f0bc",
"uninstall_script_ref": "fd59d029",
"sha256": "e22893f590746ae50280c6ba8f39aaa0e611079083791c93ceea636cc60ba073",
"sha256": "1c562861d9d24a3ef53fd0a91b505c44f02f4f487e0d0e83aaf011f7a117c38b",
"default_categories": [
"Developer tools"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "3.2.17",
"version": "3.2.20",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Reqable' AND publisher = 'Reqqable Inc.';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Reqable' AND publisher = 'Reqqable Inc.' AND version_compare(version, '3.2.17') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Reqable' AND publisher = 'Reqqable Inc.' AND version_compare(version, '3.2.20') < 0);"
},
"installer_url": "https://github.com/reqable/reqable-app/releases/download/3.2.17/reqable-app-windows-x86_64.exe",
"installer_url": "https://github.com/reqable/reqable-app/releases/download/3.2.20/reqable-app-windows-x86_64.exe",
"install_script_ref": "d2ffec58",
"uninstall_script_ref": "b33fc442",
"sha256": "de2f8b54a1feb835963ecd1d3fd5579d39381383441ca7faa80fb8c1e4d6668c",
"sha256": "35b6de46f7cfcd9e83fe4516e5ede9ff7d13592c065c043b5c28164ac328b595",
"default_categories": [
"Developer tools"
]
+4 -4
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "0.8.5327",
"version": "0.8.5376",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'app.rive.editor';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'app.rive.editor' AND version_compare(bundle_short_version, '0.8.5327') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'app.rive.editor' AND version_compare(bundle_short_version, '0.8.5376') < 0);"
},
"installer_url": "https://releases.rive.app/macos/0.8.5327/Rive.dmg",
"installer_url": "https://releases.rive.app/macos/0.8.5376/Rive.dmg",
"install_script_ref": "9555d3e0",
"uninstall_script_ref": "8f862785",
"sha256": "0ac5b37da701b7e21131261dbca932bb3f9fdce3e98938bb46445b89b56893d5",
"sha256": "1ee5672e3a176accbf92dc71d8fc1bf3d7a62b5ad3d03eff0f6af03bf14b089e",
"default_categories": [
"Productivity"
]
File diff suppressed because one or more lines are too long
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "3.7.4-4557",
"version": "3.7.5-4595",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.timpler.screenstudio';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.timpler.screenstudio' AND version_compare(bundle_short_version, '3.7.4-4557') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.timpler.screenstudio' AND version_compare(bundle_short_version, '3.7.5-4595') < 0);"
},
"installer_url": "https://screenstudioassets.com/releases/3.7.4-4557/Screen%20Studio-3.7.4-4557-arm64-mac.zip",
"installer_url": "https://screenstudioassets.com/releases/3.7.5-4595/Screen%20Studio-3.7.5-4595-arm64-mac.zip",
"install_script_ref": "6a998537",
"uninstall_script_ref": "2d679c2a",
"sha256": "e52ab70559252c656ea21040d187a73ef2da8e8410e4e38e5a3506d5999279b2",
"sha256": "287530005db8ca3f505101cbc1bb386986b3bfbe351b6cb158222279a48cc6ef",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "3.54.1",
"version": "3.54.2",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.setapp.DesktopClient.SetappAgent';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.setapp.DesktopClient.SetappAgent' AND version_compare(bundle_short_version, '3.54.1') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.setapp.DesktopClient.SetappAgent' AND version_compare(bundle_short_version, '3.54.2') < 0);"
},
"installer_url": "https://dl.devmate.com/com.setapp.DesktopClient/154/1785484295/Setapp-154.zip",
"installer_url": "https://dl.devmate.com/com.setapp.DesktopClient/155/1785848113/Setapp-155.zip",
"install_script_ref": "eb0dc2d0",
"uninstall_script_ref": "9ef05eb6",
"sha256": "356afe716fd432db41809dfaa9fb52b5d81666d1aeeb9fa061953860d952504c",
"sha256": "3a073dedca2384fb1374fd02f6c9bf3d5d7037567bec158eddeeb103b7aa73db",
"default_categories": [
"Productivity"
]
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "1.2.94.583",
"version": "1.2.95.452",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.spotify.client';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.spotify.client' AND version_compare(bundle_short_version, '1.2.94.583') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.spotify.client' AND version_compare(bundle_short_version, '1.2.95.452') < 0);"
},
"installer_url": "https://download.scdn.co/SpotifyARM64.dmg",
"install_script_ref": "b3966e25",
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2.17.0",
"version": "2.17.1",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.superduper.superwhisper';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.superduper.superwhisper' AND version_compare(bundle_short_version, '2.17.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.superduper.superwhisper' AND version_compare(bundle_short_version, '2.17.1') < 0);"
},
"installer_url": "https://builds.superwhisper.com/v2.17.0/superwhisper.zip",
"installer_url": "https://builds.superwhisper.com/v2.17.1/superwhisper.zip",
"install_script_ref": "8f427eb4",
"uninstall_script_ref": "27ca9133",
"sha256": "7fb59708a77a3f3661356aafddf25db21f28ac3fbfb8f4be29f835708a7d85a4",
"sha256": "85a83aec8322269c7b0b18c12441e739c9795402bfa5d544e00f6037530f9597",
"default_categories": [
"Productivity"
]
File diff suppressed because one or more lines are too long
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "153.0.1",
"version": "153.0.2",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.thunderbird';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.thunderbird' AND version_compare(bundle_short_version, '153.0.1') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.thunderbird' AND version_compare(bundle_short_version, '153.0.2') < 0);"
},
"installer_url": "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/153.0.1/mac/en-US/Thunderbird%20153.0.1.dmg",
"installer_url": "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/153.0.2/mac/en-US/Thunderbird%20153.0.2.dmg",
"install_script_ref": "7ab956d5",
"uninstall_script_ref": "907ef18f",
"sha256": "5a44fbd04f50cdf6de457b17126b37df2e7fd56379b762c65b8c9a7163818d38",
"sha256": "8e5e46242201a843070872e371acfb7467be34b48c982691b779a52bdc80b775",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "153.0.1",
"version": "153.0.2",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Mozilla Thunderbird (x64 en-US)' AND publisher = 'Mozilla';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Mozilla Thunderbird (x64 en-US)' AND publisher = 'Mozilla' AND version_compare(version, '153.0.1') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Mozilla Thunderbird (x64 en-US)' AND publisher = 'Mozilla' AND version_compare(version, '153.0.2') < 0);"
},
"installer_url": "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/153.0.1/win64/en-US/Thunderbird%20Setup%20153.0.1.exe",
"installer_url": "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/153.0.2/win64/en-US/Thunderbird%20Setup%20153.0.2.exe",
"install_script_ref": "26f2daf8",
"uninstall_script_ref": "96113731",
"sha256": "744a51965ae6fe36a7ec660d8c080fd108cca732e9aec3f9a31324321c6be1ca",
"sha256": "aaa4fbe7e605594c5d75d5c97392e7226c77ecc1683abfb7f26b81d1a1d5da1e",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "9.29.1",
"version": "9.30.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.todoist.mac.Todoist';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.todoist.mac.Todoist' AND version_compare(bundle_short_version, '9.29.1') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.todoist.mac.Todoist' AND version_compare(bundle_short_version, '9.30.0') < 0);"
},
"installer_url": "https://electron-dl.todoist.com/mac/Todoist-darwin-9.29.1-arm64-latest.dmg",
"installer_url": "https://electron-dl.todoist.com/mac/Todoist-darwin-9.30.0-arm64-latest.dmg",
"install_script_ref": "f59ee413",
"uninstall_script_ref": "1da1bede",
"sha256": "1f9291fab9e9713c7db890ae02906f19f04a83b9288fbcb2cd101b471592edf1",
"sha256": "3b0bdee906488c4f35588a2c9150df11f2c06fc5118e5661ee723d1f2eaad0c8",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "9.29.1",
"version": "9.30.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Todoist' AND publisher = 'Doist';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Todoist' AND publisher = 'Doist' AND version_compare(version, '9.29.1') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Todoist' AND publisher = 'Doist' AND version_compare(version, '9.30.0') < 0);"
},
"installer_url": "https://electron-dl.todoist.net/windows/Todoist-win32-9.29.1-x64-latest.exe",
"installer_url": "https://electron-dl.todoist.net/windows/Todoist-win32-9.30.0-x64-latest.exe",
"install_script_ref": "7ad1f815",
"uninstall_script_ref": "3d6caa33",
"sha256": "0ded933c3af299075979786a1e785b7996cc08522701a677ce8195071b12b6c3",
"sha256": "a869f085490a99145852e1738995ea428e0ca9324b54710b0d4f9e7033c98e77",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "26.7.3",
"version": "26.7.4",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'io.trezor.TrezorSuite';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'io.trezor.TrezorSuite' AND version_compare(bundle_short_version, '26.7.3') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'io.trezor.TrezorSuite' AND version_compare(bundle_short_version, '26.7.4') < 0);"
},
"installer_url": "https://data.trezor.io/suite/releases/desktop/latest/Trezor-Suite-26.7.3-mac-arm64.dmg",
"installer_url": "https://data.trezor.io/suite/releases/desktop/latest/Trezor-Suite-26.7.4-mac-arm64.dmg",
"install_script_ref": "3f139099",
"uninstall_script_ref": "9026a399",
"sha256": "bc77bde31935f9dc1148ae43e365da981ed55d25c4c3b1e4ebc14b7e76dac1b3",
"sha256": "606d6c00bc97e48c24dd1821c4568f822812f71a9204f324662ac3c18305b999",
"default_categories": [
"Security"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.14.8",
"version": "1.14.9",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'abnerworks.Typora';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'abnerworks.Typora' AND version_compare(bundle_short_version, '1.14.8') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'abnerworks.Typora' AND version_compare(bundle_short_version, '1.14.9') < 0);"
},
"installer_url": "https://downloads.typora.io/mac/Typora-1.14.8.dmg",
"installer_url": "https://downloads.typora.io/mac/Typora-1.14.9.dmg",
"install_script_ref": "163abff2",
"uninstall_script_ref": "a8ba94c9",
"sha256": "5d55df98a4ec2aea2e82b05a79c2566ad3f883dddb974a7cc445336e37f8dfbe",
"sha256": "40026b675bc81124a4f112e8601bf0c47cc4b5b7f05e52bfaf14c5ce8f85ffb5",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "46.7.0.35472",
"version": "46.8.0.35593",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Cisco Webex' AND publisher = 'Cisco Systems, Inc';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cisco Webex' AND publisher = 'Cisco Systems, Inc' AND version_compare(version, '46.7.0.35472') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cisco Webex' AND publisher = 'Cisco Systems, Inc' AND version_compare(version, '46.8.0.35593') < 0);"
},
"installer_url": "https://binaries.webex.com/WebexDesktop-Win-64-Gold/20260721115417/Webex.msi",
"installer_url": "https://binaries.webex.com/WebexDesktop-Win-64-Gold/20260804173554/Webex.msi",
"install_script_ref": "22e48c46",
"uninstall_script_ref": "9832a568",
"sha256": "f70c0046b2acf91acca5f8c3b3cae8ed76033e668f3303b118e1bade94326aaa",
"sha256": "9d5a42e890838c3fdf1ee679bc691ba93cd5774c86793ce7409c5dce0fd44947",
"default_categories": [
"Communication"
],
@@ -1,10 +1,10 @@
{
"versions": [
{
"version": "26.31.14",
"version": "26.31.16",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'net.whatsapp.WhatsApp';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.whatsapp.WhatsApp' AND version_compare(bundle_short_version, '26.31.14') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.whatsapp.WhatsApp' AND version_compare(bundle_short_version, '26.31.16') < 0);"
},
"installer_url": "https://web.whatsapp.com/desktop/mac_native/release/?configuration=Release&src=whatsapp_downloads_page",
"install_script_ref": "e288a4cd",
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.6.326",
"version": "1.6.399",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.wispr-flow';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.wispr-flow' AND version_compare(bundle_short_version, '1.6.326') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.wispr-flow' AND version_compare(bundle_short_version, '1.6.399') < 0);"
},
"installer_url": "https://dl.wisprflow.com/wispr-flow/darwin/arm64/dmgs/Flow-v1.6.326.dmg",
"installer_url": "https://dl.wisprflow.com/wispr-flow/darwin/arm64/dmgs/Flow-v1.6.399.dmg",
"install_script_ref": "a95fa7bb",
"uninstall_script_ref": "e0cf2e96",
"sha256": "e86e4fed4be5b321e87eec8ff21cd42a161183f18ac48df9a8182ce1f07f5d90",
"sha256": "483a169acf5080a78883af8a51589033daa159f99aaf903d28ab74fbba0642d3",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "4.3.2607301322",
"version": "4.3.2608041311",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.workflowy.desktop';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.workflowy.desktop' AND version_compare(bundle_short_version, '4.3.2607301322') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.workflowy.desktop' AND version_compare(bundle_short_version, '4.3.2608041311') < 0);"
},
"installer_url": "https://github.com/workflowy/desktop/releases/download/v4.3.2607301322/WorkFlowy.zip",
"installer_url": "https://github.com/workflowy/desktop/releases/download/v4.3.2608041311/WorkFlowy.zip",
"install_script_ref": "b65ecb27",
"uninstall_script_ref": "71fe81c3",
"sha256": "ec768dce4843dcf923151eebe22d6b56a467792cc9269649e64c237fbb8c343e",
"sha256": "602a8b9336b3da3ec4d496f648cca88004e5cfdf993405aa26358be606644b6a",
"default_categories": [
"Productivity"
]
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "1.112.0.0",
"version": "1.114.0.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'XnConvert' AND publisher = 'Pierre-e Gougelet';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'XnConvert' AND publisher = 'Pierre-e Gougelet' AND version_compare(version, '1.112.0.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'XnConvert' AND publisher = 'Pierre-e Gougelet' AND version_compare(version, '1.114.0.0') < 0);"
},
"installer_url": "https://download.xnview.com/old_versions/XnConvert/XnConvert-1.112.0-win-x64.exe",
"installer_url": "https://download.xnview.com/old_versions/XnConvert/XnConvert-1.114.0-win-x64.exe",
"install_script_ref": "7eb6b47e",
"uninstall_script_ref": "1714e167",
"sha256": "aa9e31e7274e41e063dcae8dafe0df1a7e2b06d9d74791274d5ccabe81729504",
"sha256": "5d8d49122d4a2ad001a3329acd60695beb5e0e9fb5adb74a65cfc41b012ee5b8",
"default_categories": [
"Productivity"
]
+4 -4
View File
@@ -1,15 +1,15 @@
{
"versions": [
{
"version": "2026.4.0",
"version": "2026.5.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Yaak' AND publisher = 'Yaak';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Yaak' AND publisher = 'Yaak' AND version_compare(version, '2026.4.0') < 0);"
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Yaak' AND publisher = 'Yaak' AND version_compare(version, '2026.5.0') < 0);"
},
"installer_url": "https://github.com/mountain-loop/yaak/releases/download/v2026.4.0/Yaak_2026.4.0_x64-setup.exe",
"installer_url": "https://github.com/mountain-loop/yaak/releases/download/v2026.5.0/Yaak_2026.5.0_x64-setup.exe",
"install_script_ref": "64dd4e97",
"uninstall_script_ref": "41feb8b6",
"sha256": "026dc0753f4880313b93bbff848a9cd09a114f87111aaaef5e4e698c52c8b561",
"sha256": "29a9cb37473c3a0de234f8af4130b02f85537f17ac4b411bafc08411f1555f9f",
"default_categories": [
"Developer tools"
]