From e0f8511dc6df4d5d90a9ba69131e0e5aae8873c0 Mon Sep 17 00:00:00 2001 From: allenhouchins <32207388+allenhouchins@users.noreply.github.com> Date: Thu, 23 Jul 2026 20:28:37 +0000 Subject: [PATCH 1/2] Update Fleet-maintained apps. Generated automatically with cmd/maintained-apps. --- .../outputs/3df-zephyr-free/windows.json | 8 ++++---- .../outputs/adobe-acrobat-reader/windows.json | 8 ++++---- ee/maintained-apps/outputs/akiflow/darwin.json | 8 ++++---- .../outputs/android-studio/darwin.json | 4 ++-- ee/maintained-apps/outputs/arc/darwin.json | 8 ++++---- ee/maintained-apps/outputs/arc/windows.json | 8 ++++---- ee/maintained-apps/outputs/badgeify/darwin.json | 8 ++++---- ee/maintained-apps/outputs/beeper/darwin.json | 8 ++++---- ee/maintained-apps/outputs/betterzip/darwin.json | 8 ++++---- .../outputs/beyond-compare/windows.json | 8 ++++---- ee/maintained-apps/outputs/bitwarden/darwin.json | 8 ++++---- ee/maintained-apps/outputs/bitwarden/windows.json | 8 ++++---- ee/maintained-apps/outputs/bruno/darwin.json | 8 ++++---- ee/maintained-apps/outputs/clion/darwin.json | 8 ++++---- ee/maintained-apps/outputs/clockify/windows.json | 6 +++--- ee/maintained-apps/outputs/cribl-edge/windows.json | 8 ++++---- ee/maintained-apps/outputs/enpass/darwin.json | 8 ++++---- ee/maintained-apps/outputs/evernote/windows.json | 8 ++++---- ee/maintained-apps/outputs/firefox/windows.json | 8 ++++---- .../outputs/firefox@esr/windows.json | 8 ++++---- ee/maintained-apps/outputs/front/darwin.json | 8 ++++---- ee/maintained-apps/outputs/gitify/darwin.json | 8 ++++---- ee/maintained-apps/outputs/gog-galaxy/darwin.json | 12 ++++++------ .../outputs/grammarly-desktop/darwin.json | 8 ++++---- ee/maintained-apps/outputs/granola/darwin.json | 8 ++++---- ee/maintained-apps/outputs/granola/windows.json | 8 ++++---- ee/maintained-apps/outputs/hive-app/darwin.json | 8 ++++---- ee/maintained-apps/outputs/imazing/darwin.json | 12 ++++++------ .../outputs/intellij-idea/darwin.json | 8 ++++---- ee/maintained-apps/outputs/mimestream/darwin.json | 8 ++++---- .../outputs/mullvad-browser/darwin.json | 8 ++++---- ee/maintained-apps/outputs/nordvpn/darwin.json | 8 ++++---- ee/maintained-apps/outputs/ollama/windows.json | 8 ++++---- ee/maintained-apps/outputs/opera/darwin.json | 4 ++-- ee/maintained-apps/outputs/phpstorm/darwin.json | 8 ++++---- ee/maintained-apps/outputs/phpstorm/windows.json | 8 ++++---- ee/maintained-apps/outputs/pixelsnap/darwin.json | 8 ++++---- ee/maintained-apps/outputs/postman/darwin.json | 8 ++++---- ee/maintained-apps/outputs/postman/windows.json | 8 ++++---- ee/maintained-apps/outputs/pritunl/darwin.json | 8 ++++---- ee/maintained-apps/outputs/slicer/darwin.json | 8 ++++---- .../outputs/snowflake-snowsql/darwin.json | 14 +++++++------- ee/maintained-apps/outputs/telegram/windows.json | 8 ++++---- ee/maintained-apps/outputs/webcatalog/darwin.json | 8 ++++---- ee/maintained-apps/outputs/webstorm/darwin.json | 8 ++++---- ee/maintained-apps/outputs/webstorm/windows.json | 8 ++++---- 46 files changed, 186 insertions(+), 186 deletions(-) diff --git a/ee/maintained-apps/outputs/3df-zephyr-free/windows.json b/ee/maintained-apps/outputs/3df-zephyr-free/windows.json index 7d28fe0367b..571b8d3b096 100644 --- a/ee/maintained-apps/outputs/3df-zephyr-free/windows.json +++ b/ee/maintained-apps/outputs/3df-zephyr-free/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "9.001", + "version": "9.003", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE '3DF Zephyr Free %' AND publisher = '3Dflow srl';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE '3DF Zephyr Free %' AND publisher = '3Dflow srl' AND version_compare(version, '9.001') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE '3DF Zephyr Free %' AND publisher = '3Dflow srl' AND version_compare(version, '9.003') < 0);" }, - "installer_url": "https://3df-eu.fra1.digitaloceanspaces.com/9.001/3DF%20Zephyr%20Free%20v9.001%20(x64).exe", + "installer_url": "https://3df-eu.fra1.digitaloceanspaces.com/9.003/3DF%20Zephyr%20Free%20v9.003%20(x64).exe", "install_script_ref": "df7f059c", "uninstall_script_ref": "740ec2ac", - "sha256": "f1fce4207b222214d5673284f752ecf975b4e16f2ac396cf5546e3329b9ba9e6", + "sha256": "8dca71cb6332269ac04cdc20383cf3dfc0f7771136c3630b6450773aa592f81e", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json b/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json index b705999c0d6..d56feaa96c8 100644 --- a/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json +++ b/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "26.001.21691", + "version": "26.001.21745", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe' AND version_compare(version, '26.001.21691') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe' AND version_compare(version, '26.001.21745') < 0);" }, - "installer_url": "https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2600121691/AcroRdrDCx642600121691_MUI.exe", + "installer_url": "https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2600121745/AcroRdrDCx642600121745_MUI.exe", "install_script_ref": "7dc0b065", "uninstall_script_ref": "3bb10c80", - "sha256": "86e25bd91cdc40ce52742d779e02d1518f2a7af873ace35046c418183f8d62b0", + "sha256": "4752935149f5128b84ff15d8d18b51da23d52a2f16cebe6d40be22e1c4ae4a41", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/akiflow/darwin.json b/ee/maintained-apps/outputs/akiflow/darwin.json index 4c5ac69441b..9006b73896e 100644 --- a/ee/maintained-apps/outputs/akiflow/darwin.json +++ b/ee/maintained-apps/outputs/akiflow/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2.78.15", + "version": "2.78.16", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.akiflow.akiflow';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.akiflow.akiflow' AND version_compare(bundle_short_version, '2.78.15') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.akiflow.akiflow' AND version_compare(bundle_short_version, '2.78.16') < 0);" }, - "installer_url": "https://download.akiflow.com/builds/Akiflow-2.78.15-75bee25a-universal.dmg", + "installer_url": "https://download.akiflow.com/builds/Akiflow-2.78.16-d29d46e9-universal.dmg", "install_script_ref": "19097683", "uninstall_script_ref": "9d10ecef", - "sha256": "4fb7af17e02d091e7bcceb386b7ed58ef8e45edb8ffee0f572b1bafec7e85ea2", + "sha256": "61a20803fb8799bd2297cde9203c685eeac52b023140a642eca4bee9d633022e", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/android-studio/darwin.json b/ee/maintained-apps/outputs/android-studio/darwin.json index 9b637cb2c3e..8e36416b384 100644 --- a/ee/maintained-apps/outputs/android-studio/darwin.json +++ b/ee/maintained-apps/outputs/android-studio/darwin.json @@ -6,10 +6,10 @@ "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.android.studio';", "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.google.android.studio' AND version_compare(bundle_short_version, '2026.1') < 0);" }, - "installer_url": "https://edgedl.me.gvt1.com/android/studio/install/2026.1.2.10/android-studio-quail2-mac_arm.dmg", + "installer_url": "https://edgedl.me.gvt1.com/android/studio/install/2026.1.2.11/android-studio-quail2-patch1-mac_arm.dmg", "install_script_ref": "d9306d86", "uninstall_script_ref": "aa386b1a", - "sha256": "76206134aab3bbb096666a994f97b67ac8fa688a35c1e2c5d137a306909b3cd5", + "sha256": "1dc8a2f3b76dd678611c1332223331312707c647d21564f3bad5bffc4ea1c276", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/arc/darwin.json b/ee/maintained-apps/outputs/arc/darwin.json index 9e0125da1b7..2bdeacff170 100644 --- a/ee/maintained-apps/outputs/arc/darwin.json +++ b/ee/maintained-apps/outputs/arc/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.156.2", + "version": "1.157.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'company.thebrowser.Browser';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'company.thebrowser.Browser' AND version_compare(bundle_short_version, '1.156.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'company.thebrowser.Browser' AND version_compare(bundle_short_version, '1.157.0') < 0);" }, - "installer_url": "https://releases.arc.net/release/Arc-1.156.2-83780.zip", + "installer_url": "https://releases.arc.net/release/Arc-1.157.0-83934.zip", "install_script_ref": "bb0dd542", "uninstall_script_ref": "a19b04fa", - "sha256": "41ddb0b021792706f9729d335ec4051ed94ce27a929ffac5c6335ae6f10fe71a", + "sha256": "7a463bbae6326536c29397ce2356ef7cdc697fb1e150538af3ba9f73e33692e3", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/arc/windows.json b/ee/maintained-apps/outputs/arc/windows.json index 8562af5f029..e33ee8ceae0 100644 --- a/ee/maintained-apps/outputs/arc/windows.json +++ b/ee/maintained-apps/outputs/arc/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.115.1.2", + "version": "1.116.0.342", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Arc' AND publisher = 'The Browser Company of New York';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Arc' AND publisher = 'The Browser Company of New York' AND version_compare(version, '1.115.1.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Arc' AND publisher = 'The Browser Company of New York' AND version_compare(version, '1.116.0.342') < 0);" }, - "installer_url": "https://releases.arc.net/windows/prod/1.115.1.2/Arc.x64.msix", + "installer_url": "https://releases.arc.net/windows/prod/1.116.0.342/Arc.x64.msix", "install_script_ref": "d2d5c7dc", "uninstall_script_ref": "ebcac670", - "sha256": "88ab9b4cfd6da8b9788cec520e701b46b61e70667d135b81301b0daa8b96062c", + "sha256": "0e78ff4c5a7e6542d2b03092003373990a5946fef8317ad8a9b46f0256fc36f0", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/badgeify/darwin.json b/ee/maintained-apps/outputs/badgeify/darwin.json index 1231f681b3a..fbc3d3d7d43 100644 --- a/ee/maintained-apps/outputs/badgeify/darwin.json +++ b/ee/maintained-apps/outputs/badgeify/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.14.1", + "version": "1.14.2", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'studio.techflow.badgeify';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'studio.techflow.badgeify' AND version_compare(bundle_short_version, '1.14.1') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'studio.techflow.badgeify' AND version_compare(bundle_short_version, '1.14.2') < 0);" }, - "installer_url": "https://api.badgeify.app/release/download/darwin/universal/1.14.1", + "installer_url": "https://api.badgeify.app/release/download/darwin/universal/1.14.2", "install_script_ref": "c91686bf", "uninstall_script_ref": "9d0f29ae", - "sha256": "3d0bd3620e3703d76ec1fc83432858fae93eb3c4e97f7e2d410f6346f4dd32e0", + "sha256": "a982cb301f56bad8406cec455439a882abdf3ca3e1a90629b0de765a73dd763c", "default_categories": [ "Utilities" ] diff --git a/ee/maintained-apps/outputs/beeper/darwin.json b/ee/maintained-apps/outputs/beeper/darwin.json index 45f1d62ef56..c65e72d26f4 100644 --- a/ee/maintained-apps/outputs/beeper/darwin.json +++ b/ee/maintained-apps/outputs/beeper/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "4.2.985", + "version": "4.2.998", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.automattic.beeper.desktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.automattic.beeper.desktop' AND version_compare(bundle_short_version, '4.2.985') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.automattic.beeper.desktop' AND version_compare(bundle_short_version, '4.2.998') < 0);" }, - "installer_url": "https://beeper-desktop.download.beeper.com/builds/Beeper-4.2.985-arm64-mac.zip", + "installer_url": "https://beeper-desktop.download.beeper.com/builds/Beeper-4.2.998-arm64-mac.zip", "install_script_ref": "a73050ea", "uninstall_script_ref": "978d30f8", - "sha256": "a6d58a3cf6e91ea97a41ef747d3eb91188386c8954f5fc8f7045e02d41486318", + "sha256": "012dbe602bf518d7d75dfe8056750b0831e531c3552f1158cbe695e1e77912b9", "default_categories": [ "Communication" ] diff --git a/ee/maintained-apps/outputs/betterzip/darwin.json b/ee/maintained-apps/outputs/betterzip/darwin.json index 165a33dc819..bc771678fa9 100644 --- a/ee/maintained-apps/outputs/betterzip/darwin.json +++ b/ee/maintained-apps/outputs/betterzip/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "6.0", + "version": "6.0.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.macitbetter.betterzip';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.macitbetter.betterzip' AND version_compare(bundle_short_version, '6.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.macitbetter.betterzip' AND version_compare(bundle_short_version, '6.0.1') < 0);" }, - "installer_url": "https://macitbetter.com/dl/BetterZip-6.0.zip", + "installer_url": "https://macitbetter.com/dl/BetterZip-6.0.1.zip", "install_script_ref": "89374a40", "uninstall_script_ref": "84dca76c", - "sha256": "10cef4dad336335fdd0c989ad4230f7850573c2bff139d168dc9ee704fd5e767", + "sha256": "c4782be3cfd70c9b5ff30b8aff540d99692421d5234d3f648d82a8c95cf73e53", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/beyond-compare/windows.json b/ee/maintained-apps/outputs/beyond-compare/windows.json index 9d565f70e69..dc86f7a1d60 100644 --- a/ee/maintained-apps/outputs/beyond-compare/windows.json +++ b/ee/maintained-apps/outputs/beyond-compare/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "5.2.3.32296", + "version": "5.2.4.32425", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'Beyond Compare %' AND publisher = 'Scooter Software';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Beyond Compare %' AND publisher = 'Scooter Software' AND version_compare(version, '5.2.3.32296') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Beyond Compare %' AND publisher = 'Scooter Software' AND version_compare(version, '5.2.4.32425') < 0);" }, - "installer_url": "https://www.scootersoftware.com/files/BCompare-5.2.3.32296.exe", + "installer_url": "https://www.scootersoftware.com/files/BCompare-5.2.4.32425.exe", "install_script_ref": "5a25199c", "uninstall_script_ref": "7bf824a3", - "sha256": "a74239803aa1a1373735dc092365cca85c726178625aa51821f35aaf42559621", + "sha256": "d0392abffd378727d88988c7deff57e9e6d936165db4c599f6e007f7f48a405c", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/bitwarden/darwin.json b/ee/maintained-apps/outputs/bitwarden/darwin.json index 46bc9c63e4a..fda92b2ddb2 100644 --- a/ee/maintained-apps/outputs/bitwarden/darwin.json +++ b/ee/maintained-apps/outputs/bitwarden/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.6.1", + "version": "2026.7.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.bitwarden.desktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.bitwarden.desktop' AND version_compare(bundle_short_version, '2026.6.1') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.bitwarden.desktop' AND version_compare(bundle_short_version, '2026.7.0') < 0);" }, - "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.6.1/Bitwarden-2026.6.1-universal.dmg", + "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.7.0/Bitwarden-2026.7.0-universal.dmg", "install_script_ref": "40a6a399", "uninstall_script_ref": "9b010a8a", - "sha256": "4de3349474fd0e4fa0dc5b0510d3855b705b8df743f785585167bdac52edfbc8", + "sha256": "50a7c03dc6d172bf0099fc0469f74acffab1624f7aad06d3f56b58b030a5be92", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/bitwarden/windows.json b/ee/maintained-apps/outputs/bitwarden/windows.json index 57dd3bde0c2..8a5428f323c 100644 --- a/ee/maintained-apps/outputs/bitwarden/windows.json +++ b/ee/maintained-apps/outputs/bitwarden/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.6.1", + "version": "2026.7.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Bitwarden' AND publisher = 'Bitwarden Inc.';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Bitwarden' AND publisher = 'Bitwarden Inc.' AND version_compare(version, '2026.6.1') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Bitwarden' AND publisher = 'Bitwarden Inc.' AND version_compare(version, '2026.7.0') < 0);" }, - "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.6.1/Bitwarden-Installer-2026.6.1.exe", + "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.7.0/Bitwarden-Installer-2026.7.0.exe", "install_script_ref": "234a3679", "uninstall_script_ref": "365a2ac0", - "sha256": "88033d2130935bbbd86a83f97fef05976ff4cb9c51567106278220ca9d44ceef", + "sha256": "b1ceaa2c0a4e479231f4d921709c8e4085d6fb460e83466f31892d77bdba03ed", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/bruno/darwin.json b/ee/maintained-apps/outputs/bruno/darwin.json index b97e8b81706..25db1559b4a 100644 --- a/ee/maintained-apps/outputs/bruno/darwin.json +++ b/ee/maintained-apps/outputs/bruno/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.5.3", + "version": "4.0.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.usebruno.app';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.usebruno.app' AND version_compare(bundle_short_version, '3.5.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.usebruno.app' AND version_compare(bundle_short_version, '4.0.0') < 0);" }, - "installer_url": "https://github.com/usebruno/bruno/releases/download/v3.5.3/bruno_3.5.3_arm64_mac.dmg", + "installer_url": "https://github.com/usebruno/bruno/releases/download/v4.0.0/bruno_4.0.0_arm64_mac.dmg", "install_script_ref": "6aa1c49e", "uninstall_script_ref": "14f6d5fd", - "sha256": "89627c0fa17a53a10cdf5b3d1f7884b84cfbf2fab21aebde7a44ebcf38c859ce", + "sha256": "533d435d1760f8ccdb98db24605335716710d346181659fb60956a7e4d529407", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/clion/darwin.json b/ee/maintained-apps/outputs/clion/darwin.json index e4c81a42ad4..bbea0d28afb 100644 --- a/ee/maintained-apps/outputs/clion/darwin.json +++ b/ee/maintained-apps/outputs/clion/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.2", + "version": "2026.2.0.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.CLion';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.CLion' AND version_compare(bundle_short_version, '2026.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.CLion' AND version_compare(bundle_short_version, '2026.2.0.1') < 0);" }, - "installer_url": "https://download.jetbrains.com/cpp/CLion-2026.2-aarch64.dmg", + "installer_url": "https://download.jetbrains.com/cpp/CLion-2026.2.0.1-aarch64.dmg", "install_script_ref": "0eea3e67", "uninstall_script_ref": "51845cc5", - "sha256": "090796d71ba0e00c78170c20189c6126dd604676b0b823da03a459b2b430e544", + "sha256": "9e4909f34adcd5b0291013194f4663650727864cc01b78b5a7d1a1414038813e", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/clockify/windows.json b/ee/maintained-apps/outputs/clockify/windows.json index 84ee003f982..b564f742e0c 100644 --- a/ee/maintained-apps/outputs/clockify/windows.json +++ b/ee/maintained-apps/outputs/clockify/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2.2.3", + "version": "2.2.4", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Clockify' AND publisher = 'CAKE.com Inc.';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Clockify' AND publisher = 'CAKE.com Inc.' AND version_compare(version, '2.2.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Clockify' AND publisher = 'CAKE.com Inc.' AND version_compare(version, '2.2.4') < 0);" }, "installer_url": "https://clockify.me/downloads/clockify-setup.msi", "install_script_ref": "8959087b", "uninstall_script_ref": "f7f14087", - "sha256": "e83b6c8852cf35f2b7296c4a673bf33e564abf44705d155505b78f3802c571a4", + "sha256": "4fae1c6de4b7a68086d05d12a5ea9168c5be039e920483e4800f857075daee99", "default_categories": [ "Productivity" ], diff --git a/ee/maintained-apps/outputs/cribl-edge/windows.json b/ee/maintained-apps/outputs/cribl-edge/windows.json index 06fa3d254b3..9907866d3c7 100644 --- a/ee/maintained-apps/outputs/cribl-edge/windows.json +++ b/ee/maintained-apps/outputs/cribl-edge/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "4.18.2", + "version": "4.19.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Cribl Edge' AND publisher = 'Cribl, Inc.';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cribl Edge' AND publisher = 'Cribl, Inc.' AND version_compare(version, '4.18.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cribl Edge' AND publisher = 'Cribl, Inc.' AND version_compare(version, '4.19.0') < 0);" }, - "installer_url": "https://cdn.cribl.io/dl/4.18.2/cribl-4.18.2-fd1f0d2f-win32-x64.msi", + "installer_url": "https://cdn.cribl.io/dl/4.19.0/cribl-4.19.0-0fbd6d34-win32-x64.msi", "install_script_ref": "8959087b", "uninstall_script_ref": "00e56c03", - "sha256": "345b8dd24c1bbf447878844e691aec3acb82fcc43719c95bfc2111e1b0ba66c9", + "sha256": "dbdd46c9bab205ec6d4ba79336010d2a2a443d0cbcf0d7fc656d035642acf7e1", "default_categories": [ "Developer tools" ], diff --git a/ee/maintained-apps/outputs/enpass/darwin.json b/ee/maintained-apps/outputs/enpass/darwin.json index bb0c1bc14f8..144d5d43f86 100644 --- a/ee/maintained-apps/outputs/enpass/darwin.json +++ b/ee/maintained-apps/outputs/enpass/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "6.12.4.2629", + "version": "6.12.5.2673", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'in.sinew.Enpass-Desktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'in.sinew.Enpass-Desktop' AND version_compare(bundle_short_version, '6.12.4.2629') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'in.sinew.Enpass-Desktop' AND version_compare(bundle_short_version, '6.12.5.2673') < 0);" }, - "installer_url": "https://dl.enpass.io/stable/mac/package/6.12.4.2629/Enpass.pkg", + "installer_url": "https://dl.enpass.io/stable/mac/package/6.12.5.2673/Enpass.pkg", "install_script_ref": "fc5573f6", "uninstall_script_ref": "30b298ce", - "sha256": "63488dda6eed92a3e58f40b6aac2151e659ecb26672c51518b195805ef4bacc1", + "sha256": "f64dd681fece2cae50f6f4ba843ddcb3110e7118cba8eb94917a2b3587085270", "default_categories": [ "Security" ] diff --git a/ee/maintained-apps/outputs/evernote/windows.json b/ee/maintained-apps/outputs/evernote/windows.json index 156b4ac90a1..72f77a73c57 100644 --- a/ee/maintained-apps/outputs/evernote/windows.json +++ b/ee/maintained-apps/outputs/evernote/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "11.25.6", + "version": "11.26.4", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'Evernote%' AND publisher = 'Evernote Corporation';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Evernote%' AND publisher = 'Evernote Corporation' AND version_compare(version, '11.25.6') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Evernote%' AND publisher = 'Evernote Corporation' AND version_compare(version, '11.26.4') < 0);" }, - "installer_url": "https://win.desktop.evernote.com/builds/Evernote-11.25.6-win-ddl-stage-20260713124857-1aef7b231b1a9c80360692cc2595cae071f6c658-setup.exe", + "installer_url": "https://win.desktop.evernote.com/builds/Evernote-11.26.4-win-ddl-stage-20260717191948-2b1586022236ddbe2ab56acb08e507d128e39dad-setup.exe", "install_script_ref": "5820d576", "uninstall_script_ref": "d4142835", - "sha256": "4b79580f79d65c1b6e32f87e14b42d0bef6c566bbe6151608057b816f52a2e92", + "sha256": "9146ee01395f636a9fd025a3d3d9a2ebe78de63817e2e120a37ca608a781c9e3", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/firefox/windows.json b/ee/maintained-apps/outputs/firefox/windows.json index bc4d18f5c07..4cfd1e1ce68 100644 --- a/ee/maintained-apps/outputs/firefox/windows.json +++ b/ee/maintained-apps/outputs/firefox/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "152.0.6", + "version": "153.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Mozilla Firefox (x64 en-US)' AND publisher = 'Mozilla';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Mozilla Firefox (x64 en-US)' AND publisher = 'Mozilla' AND version_compare(version, '152.0.6') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Mozilla Firefox (x64 en-US)' AND publisher = 'Mozilla' AND version_compare(version, '153.0') < 0);" }, - "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/152.0.6/win64/en-US/Firefox%20Setup%20152.0.6.exe", + "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/153.0/win64/en-US/Firefox%20Setup%20153.0.exe", "install_script_ref": "80fb9175", "uninstall_script_ref": "ae547434", - "sha256": "3d4fcc5370bb183c9535d64b98d946c2dacf664a394ebcc02844e361d58d59b4", + "sha256": "b409ff5af3419214f11f928e67b1f44c1ad0f8a46f7db7e697caedefa02a6d2a", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/firefox@esr/windows.json b/ee/maintained-apps/outputs/firefox@esr/windows.json index 00883d60da1..452a8384d4b 100644 --- a/ee/maintained-apps/outputs/firefox@esr/windows.json +++ b/ee/maintained-apps/outputs/firefox@esr/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "140.12.0", + "version": "153.0.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'Mozilla Firefox % ESR %' AND publisher = 'Mozilla';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Mozilla Firefox % ESR %' AND publisher = 'Mozilla' AND version_compare(version, '140.12.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Mozilla Firefox % ESR %' AND publisher = 'Mozilla' AND version_compare(version, '153.0.0') < 0);" }, - "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/140.12.0esr/win64/en-US/Firefox%20Setup%20140.12.0esr.exe", + "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/153.0esr/win64/en-US/Firefox%20Setup%20153.0esr.exe", "install_script_ref": "36995f4f", "uninstall_script_ref": "5dc712f7", - "sha256": "8faf3b35e8272d320eab45bc75bb6d644b29a0ab0cced4ad243f9bbaf6148dea", + "sha256": "d3bcf6b8b8bdf769b9279980402812799642c27ba2fb2b7dcfe04a0ac972f5a0", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/front/darwin.json b/ee/maintained-apps/outputs/front/darwin.json index b86d326d91f..74c37c76098 100644 --- a/ee/maintained-apps/outputs/front/darwin.json +++ b/ee/maintained-apps/outputs/front/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.76.3", + "version": "3.77.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.frontapp.Front';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.frontapp.Front' AND version_compare(bundle_short_version, '3.76.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.frontapp.Front' AND version_compare(bundle_short_version, '3.77.0') < 0);" }, - "installer_url": "https://dl.frontapp.com/desktop/builds/3.76.3/Front-3.76.3-arm64.zip", + "installer_url": "https://dl.frontapp.com/desktop/builds/3.77.0/Front-3.77.0-arm64.zip", "install_script_ref": "42b34fcd", "uninstall_script_ref": "e3bc7035", - "sha256": "ec0964c226a252d4342fcc3cec5d653dc54c131cf3c1e5c68ad4810838089a1a", + "sha256": "e8fb367c9746626f08afe7a7d0f40fb458097d028281daa1b65d3ba29d2f6af8", "default_categories": [ "Communication" ] diff --git a/ee/maintained-apps/outputs/gitify/darwin.json b/ee/maintained-apps/outputs/gitify/darwin.json index 7f94bbec0c4..02458fcbae2 100644 --- a/ee/maintained-apps/outputs/gitify/darwin.json +++ b/ee/maintained-apps/outputs/gitify/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.0.0", + "version": "7.0.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.gitify';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.gitify' AND version_compare(bundle_short_version, '7.0.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.gitify' AND version_compare(bundle_short_version, '7.0.1') < 0);" }, - "installer_url": "https://github.com/gitify-app/gitify/releases/download/v7.0.0/Gitify-7.0.0-universal-mac.zip", + "installer_url": "https://github.com/gitify-app/gitify/releases/download/v7.0.1/Gitify-7.0.1-universal-mac.zip", "install_script_ref": "4dfde5cf", "uninstall_script_ref": "65bf9482", - "sha256": "2c6f2a64323cedc5b02edfc8798908457f93930e5e97dc80c75b557ae6dbd91b", + "sha256": "f7623606264eb0a25d85a0ec52595d99124d36767eb494db59bd353ca041735c", "default_categories": [ "Utilities" ] diff --git a/ee/maintained-apps/outputs/gog-galaxy/darwin.json b/ee/maintained-apps/outputs/gog-galaxy/darwin.json index 6f31b82bdb9..73599dbd01a 100644 --- a/ee/maintained-apps/outputs/gog-galaxy/darwin.json +++ b/ee/maintained-apps/outputs/gog-galaxy/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2.1.6.26", + "version": "2.1.7.22", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.gog.galaxy.cef.renderer';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.gog.galaxy.cef.renderer' AND version_compare(bundle_short_version, '2.1.6.26') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.gog.galaxy.cef.renderer' AND version_compare(bundle_short_version, '2.1.7.22') < 0);" }, - "installer_url": "https://gog-cdn-fastly.gog.com/open/galaxy/client/galaxy_client_2.1.6.26.pkg", - "install_script_ref": "edb8d6e5", + "installer_url": "https://gog-cdn-fastly.gog.com/open/galaxy/client/galaxy_client_2.1.7.22.pkg", + "install_script_ref": "ae3a6203", "uninstall_script_ref": "15cc6645", - "sha256": "1c242845255cd00243054b799e0d35fdef9d7ea154fc4e952bc877dc5afb0b74", + "sha256": "b672ada25d63574a2221f736c38871c2f7e46a71051c449d4695a7dffc91f8da", "default_categories": [ "Productivity" ] @@ -17,6 +17,6 @@ ], "refs": { "15cc6645": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nremove_launchctl_service() {\n local service=\"$1\"\n local booleans=(\"true\" \"false\")\n local plist_status\n local paths\n local should_sudo\n\n echo \"Removing launchctl service ${service}\"\n\n # A wildcard label can't be used with launchctl or as a plist name, so expand\n # it to the labels of currently loaded services that match the pattern.\n local services=(\"$service\")\n if [[ \"$service\" == *\"*\"* ]]; then\n local regex\n # Escape regex metacharacters, turn '*' into '.*', and anchor the pattern so\n # it matches a full label rather than a substring.\n regex=$(printf '%s' \"$service\" | sed -e 's/[][(){}.^$+?|\\\\]/\\\\&/g' -e 's/\\*/.*/g')\n regex=\"^${regex}$\"\n services=()\n local id\n # Match every loaded job by label regardless of PID; launchctl list reports\n # loaded-but-not-running jobs with a \"-\" in the PID column.\n while read -r _ _ id; do\n [[ \"$id\" =~ $regex ]] && services+=(\"$id\")\n done < <(launchctl list 2>/dev/null | tail -n +2)\n if [[ ${#services[@]} -eq 0 ]]; then\n echo \"No loaded launchctl service matches ${service}\"\n return\n fi\n fi\n\n local service_label\n for service_label in \"${services[@]}\"; do\n for should_sudo in \"${booleans[@]}\"; do\n plist_status=$(launchctl list \"${service_label}\" 2>/dev/null)\n\n if [[ $plist_status == \\{* ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo launchctl remove \"${service_label}\"\n else\n launchctl remove \"${service_label}\"\n fi\n sleep 1\n fi\n\n paths=(\n \"/Library/LaunchAgents/${service_label}.plist\"\n \"/Library/LaunchDaemons/${service_label}.plist\"\n )\n\n # if not using sudo, prepend the home directory to the paths\n if [[ $should_sudo == \"false\" ]]; then\n for i in \"${!paths[@]}\"; do\n paths[i]=\"${HOME}${paths[i]}\"\n done\n fi\n\n for path in \"${paths[@]}\"; do\n if [[ -e \"$path\" ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo rm -f -- \"$path\"\n else\n rm -f -- \"$path\"\n fi\n fi\n done\n done\n done\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_launchctl_service 'com.gog.galaxy.autoLauncher'\nremove_launchctl_service 'com.gog.galaxy.ClientService'\nremove_launchctl_service 'com.gog.galaxy.commservice'\nsudo rm -rf '/Applications/GOG Galaxy.app'\ntrash $LOGGED_IN_USER '/Library/LaunchDaemons/com.gog.galaxy.ClientService.plist'\ntrash $LOGGED_IN_USER '/Library/PrivilegedHelperTools/com.gog.galaxy.ClientService'\ntrash $LOGGED_IN_USER '/Users/Shared/GOG.com'\ntrash $LOGGED_IN_USER '~/Library/Application Support/GOG.com'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.gog.galaxy.cef.renderer.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.gog.galaxy.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.gog.galaxy.savedState'\n", - "edb8d6e5": "#!/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.gog.galaxy.cef.renderer'\nsudo installer -pkg \"$TMPDIR/galaxy_client_2.1.6.26.pkg\" -target /\nrelaunch_application 'com.gog.galaxy.cef.renderer'\n" + "ae3a6203": "#!/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.gog.galaxy.cef.renderer'\nsudo installer -pkg \"$TMPDIR/galaxy_client_2.1.7.22.pkg\" -target /\nrelaunch_application 'com.gog.galaxy.cef.renderer'\n" } } diff --git a/ee/maintained-apps/outputs/grammarly-desktop/darwin.json b/ee/maintained-apps/outputs/grammarly-desktop/darwin.json index 357a1af2a95..f0215c70933 100644 --- a/ee/maintained-apps/outputs/grammarly-desktop/darwin.json +++ b/ee/maintained-apps/outputs/grammarly-desktop/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.176.0", + "version": "1.177.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.grammarly.ProjectLlama';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.grammarly.ProjectLlama' AND version_compare(bundle_short_version, '1.176.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.grammarly.ProjectLlama' AND version_compare(bundle_short_version, '1.177.0') < 0);" }, - "installer_url": "https://download-mac.grammarly.com/versions/1.176.0.0/Grammarly.dmg", + "installer_url": "https://download-mac.grammarly.com/versions/1.177.0.0/Grammarly.dmg", "install_script_ref": "df3d0525", "uninstall_script_ref": "8ac93526", - "sha256": "c750250e019b04e357851df0f10d6b067c06ffa57ee96aa048e70aa3f5cf73a7", + "sha256": "40f9b8468902d8e710bb877f6adedf695333dab34ace7f25b28c774a445f79d9", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/granola/darwin.json b/ee/maintained-apps/outputs/granola/darwin.json index 25c8565e84d..e0feb63f97c 100644 --- a/ee/maintained-apps/outputs/granola/darwin.json +++ b/ee/maintained-apps/outputs/granola/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.427.9", + "version": "7.441.4", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.granola.app';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.granola.app' AND version_compare(bundle_short_version, '7.427.9') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.granola.app' AND version_compare(bundle_short_version, '7.441.4') < 0);" }, - "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.427.9/Granola-7.427.9-mac-universal.dmg", + "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.441.4/Granola-7.441.4-mac-universal.dmg", "install_script_ref": "89a55638", "uninstall_script_ref": "7b9b9d06", - "sha256": "6cc71bcf934f5ba03298b28b082c39fdd26a95368eedb42bb2dcb319edbcfb31", + "sha256": "2ccb3a8deeca4529fef3963fc04793876ab67c53d2206df5d3400e7f555fc184", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/granola/windows.json b/ee/maintained-apps/outputs/granola/windows.json index 3f49db98dfe..7c7fd014c0b 100644 --- a/ee/maintained-apps/outputs/granola/windows.json +++ b/ee/maintained-apps/outputs/granola/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.427.9", + "version": "7.441.4", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'Granola %' AND publisher = 'Granola';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Granola %' AND publisher = 'Granola' AND version_compare(version, '7.427.9') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Granola %' AND publisher = 'Granola' AND version_compare(version, '7.441.4') < 0);" }, - "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.427.9/Granola-7.427.9-win-x64.exe", + "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.441.4/Granola-7.441.4-win-x64.exe", "install_script_ref": "3f66ac53", "uninstall_script_ref": "a4fab3f5", - "sha256": "bce6f969f5379d82bf559c319c9718cd20876e12403fd1da3eb16117988461f8", + "sha256": "562a27935ce122902dc996db8fc77d620c935d0b14d09868ea3bfb2e667a484d", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/hive-app/darwin.json b/ee/maintained-apps/outputs/hive-app/darwin.json index cfb28f95ab8..d89587abf7c 100644 --- a/ee/maintained-apps/outputs/hive-app/darwin.json +++ b/ee/maintained-apps/outputs/hive-app/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.2.21", + "version": "1.2.23", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.hive.app';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.hive.app' AND version_compare(bundle_short_version, '1.2.21') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.hive.app' AND version_compare(bundle_short_version, '1.2.23') < 0);" }, - "installer_url": "https://github.com/morapelker/hive/releases/download/v1.2.21/Hive-1.2.21-arm64.dmg", + "installer_url": "https://github.com/morapelker/hive/releases/download/v1.2.23/Hive-1.2.23-arm64.dmg", "install_script_ref": "6b39e7ad", "uninstall_script_ref": "78bb4e43", - "sha256": "05779fb0701244c5a9c43dcf3a89315dc7f9ac33a5bc69eadaa68fe5e4fcf958", + "sha256": "815662cd7f404e8b68f8f429f0abbb35cc2cfc952c7de86b453fe8c0f04700c4", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/imazing/darwin.json b/ee/maintained-apps/outputs/imazing/darwin.json index 93a2e8e9078..a7ee2d3eb17 100644 --- a/ee/maintained-apps/outputs/imazing/darwin.json +++ b/ee/maintained-apps/outputs/imazing/darwin.json @@ -1,22 +1,22 @@ { "versions": [ { - "version": "3.5.5", + "version": "3.6.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.DigiDNA.iMazing3Mac';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.DigiDNA.iMazing3Mac' AND version_compare(bundle_short_version, '3.5.5') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.DigiDNA.iMazing3Mac' AND version_compare(bundle_short_version, '3.6.0') < 0);" }, - "installer_url": "https://downloads.imazing.com/mac/iMazing/3.5.5.24057/iMazing_3.5.5.24057.dmg", + "installer_url": "https://downloads.imazing.com/mac/iMazing/3.6.0.24290/iMazing_3.6.0.24290.dmg", "install_script_ref": "e18e4725", - "uninstall_script_ref": "b213835e", - "sha256": "9e32b6b264c2e36847e1b7709e57c920e978080fd8fd06ebf14363f86d732fc7", + "uninstall_script_ref": "df65e7e4", + "sha256": "80bd65c97393cc4fbec0f08b114f9298ef119586a7e4b74b7b0d28b1813bb03c", "default_categories": [ "Utilities" ] } ], "refs": { - "b213835e": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\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 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 return\n fi\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\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\nquit_application 'com.DigiDNA.iMazing3.5.5.24057Mac'\nquit_application 'com.DigiDNA.iMazing3.5.5.24057Mac.Mini'\nsudo rm -rf \"$APPDIR/iMazing.app\"\ntrash $LOGGED_IN_USER '/Users/Shared/iMazing Mini'\ntrash $LOGGED_IN_USER '/Users/Shared/iMazing'\ntrash $LOGGED_IN_USER '~/Library/Application Support/iMazing Mini'\ntrash $LOGGED_IN_USER '~/Library/Application Support/iMazing'\ntrash $LOGGED_IN_USER '~/Library/Application Support/MobileSync/Backup/iMazing.Versions'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.DigiDNA.iMazing3Mac'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.DigiDNA.iMazing3Mac.Mini'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.plausiblelabs.crashreporter.data/com.DigiDNA.iMazing3Mac.Mini'\ntrash $LOGGED_IN_USER '~/Library/Caches/iMazing'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.DigiDNA.iMazing3Mac.Mini.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.DigiDNA.iMazing3Mac.plist'\n", + "df65e7e4": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\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 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 return\n fi\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\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\nquit_application 'com.DigiDNA.iMazing3.6.0.24290Mac'\nquit_application 'com.DigiDNA.iMazing3.6.0.24290Mac.Mini'\nsudo rm -rf \"$APPDIR/iMazing.app\"\ntrash $LOGGED_IN_USER '/Users/Shared/iMazing Mini'\ntrash $LOGGED_IN_USER '/Users/Shared/iMazing'\ntrash $LOGGED_IN_USER '~/Library/Application Support/iMazing Mini'\ntrash $LOGGED_IN_USER '~/Library/Application Support/iMazing'\ntrash $LOGGED_IN_USER '~/Library/Application Support/MobileSync/Backup/iMazing.Versions'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.DigiDNA.iMazing3Mac'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.DigiDNA.iMazing3Mac.Mini'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.plausiblelabs.crashreporter.data/com.DigiDNA.iMazing3Mac.Mini'\ntrash $LOGGED_IN_USER '~/Library/Caches/iMazing'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.DigiDNA.iMazing3Mac.Mini.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.DigiDNA.iMazing3Mac.plist'\n", "e18e4725": "#!/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# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nyes | hdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\" || exit 1\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\" || true\n# copy to the applications folder\nquit_and_track_application 'com.DigiDNA.iMazing3Mac'\nif [ -d \"$APPDIR/iMazing.app\" ]; then\n\tsudo mv \"$APPDIR/iMazing.app\" \"$TMPDIR/iMazing.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/iMazing.app\" \"$APPDIR\"\nrelaunch_application 'com.DigiDNA.iMazing3Mac'\n" } } diff --git a/ee/maintained-apps/outputs/intellij-idea/darwin.json b/ee/maintained-apps/outputs/intellij-idea/darwin.json index b9273377b06..1a3f47a8ea6 100644 --- a/ee/maintained-apps/outputs/intellij-idea/darwin.json +++ b/ee/maintained-apps/outputs/intellij-idea/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.2", + "version": "2026.2.0.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.intellij';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.intellij' AND version_compare(bundle_short_version, '2026.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.intellij' AND version_compare(bundle_short_version, '2026.2.0.1') < 0);" }, - "installer_url": "https://download.jetbrains.com/idea/ideaIU-2026.2-aarch64.dmg", + "installer_url": "https://download.jetbrains.com/idea/ideaIU-2026.2.0.1-aarch64.dmg", "install_script_ref": "6e3c7555", "uninstall_script_ref": "acfd723a", - "sha256": "33e27fa97958112b2dd6dfdfbaacd3ae8599ec9fa81322c8ad37806f0a79215b", + "sha256": "bcddb055a33957d1f95e7ae3bfd308293d0f812250aab9399164163aa118399f", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/mimestream/darwin.json b/ee/maintained-apps/outputs/mimestream/darwin.json index dc5294f1fb2..2925e16d3df 100644 --- a/ee/maintained-apps/outputs/mimestream/darwin.json +++ b/ee/maintained-apps/outputs/mimestream/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.10.4", + "version": "1.10.5", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.mimestream.Mimestream';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.mimestream.Mimestream' AND version_compare(bundle_short_version, '1.10.4') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.mimestream.Mimestream' AND version_compare(bundle_short_version, '1.10.5') < 0);" }, - "installer_url": "https://download.mimestream.com/Mimestream_1.10.4.dmg", + "installer_url": "https://download.mimestream.com/Mimestream_1.10.5.dmg", "install_script_ref": "ab7e9784", "uninstall_script_ref": "852cbd47", - "sha256": "4c741d311148a4f3aaf94a797c6e3d34fc446473a675acc69d3546eb5c0296f3", + "sha256": "80e482a0709c78180260e2d542703329894a38f2ed33c81e3c2b5b6d7886a882", "default_categories": [ "Communication" ] diff --git a/ee/maintained-apps/outputs/mullvad-browser/darwin.json b/ee/maintained-apps/outputs/mullvad-browser/darwin.json index 0b4b3572828..1abbca22a09 100644 --- a/ee/maintained-apps/outputs/mullvad-browser/darwin.json +++ b/ee/maintained-apps/outputs/mullvad-browser/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "15.0.18", + "version": "15.0.19", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'net.mullvad.mullvadbrowser';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.mullvad.mullvadbrowser' AND version_compare(bundle_short_version, '15.0.18') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.mullvad.mullvadbrowser' AND version_compare(bundle_short_version, '15.0.19') < 0);" }, - "installer_url": "https://cdn.mullvad.net/browser/15.0.18/mullvad-browser-macos-15.0.18.dmg", + "installer_url": "https://cdn.mullvad.net/browser/15.0.19/mullvad-browser-macos-15.0.19.dmg", "install_script_ref": "42352cf2", "uninstall_script_ref": "c44b0633", - "sha256": "c5fa338f093eee0c9921b5d7bc89d6714f24630b06c482224eb2656e4945dadf", + "sha256": "10aa8b7f3e80a0841e19022107a2e55eee33b03e0afa1a13c416e39019c3f0b1", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/nordvpn/darwin.json b/ee/maintained-apps/outputs/nordvpn/darwin.json index 66635ebc77e..299f1e5981c 100644 --- a/ee/maintained-apps/outputs/nordvpn/darwin.json +++ b/ee/maintained-apps/outputs/nordvpn/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "10.6.1", + "version": "10.7.0", "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.6.1') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.nordvpn.macos' AND version_compare(bundle_short_version, '10.7.0') < 0);" }, - "installer_url": "https://downloads.nordcdn.com/apps/macos/generic/NordVPN-OpenVPN/10.6.1/NordVPN.pkg", + "installer_url": "https://downloads.nordcdn.com/apps/macos/generic/NordVPN-OpenVPN/10.7.0/NordVPN.pkg", "install_script_ref": "60b24e24", "uninstall_script_ref": "4f2c1a63", - "sha256": "e6894a3b98eb8e1e2130ba2ed40a45ee1675eb3bd604c5a958171aa4e2626a3c", + "sha256": "532c0e4a055e928a4ab11ebda5296d3464b535594340f15851fc26f5e8b9a440", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/ollama/windows.json b/ee/maintained-apps/outputs/ollama/windows.json index 6f8b8a36fa7..6b5b309a774 100644 --- a/ee/maintained-apps/outputs/ollama/windows.json +++ b/ee/maintained-apps/outputs/ollama/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "0.32.1", + "version": "0.32.3", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Ollama' AND publisher = 'Ollama';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Ollama' AND publisher = 'Ollama' AND version_compare(version, '0.32.1') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Ollama' AND publisher = 'Ollama' AND version_compare(version, '0.32.3') < 0);" }, - "installer_url": "https://github.com/ollama/ollama/releases/download/v0.32.1/OllamaSetup.exe", + "installer_url": "https://github.com/ollama/ollama/releases/download/v0.32.3/OllamaSetup.exe", "install_script_ref": "e14c71ee", "uninstall_script_ref": "3f049b5d", - "sha256": "2f53afab45547896e66b2879174ee78bb1f079f4a20b0858e0e377da0c3631f0", + "sha256": "78bc7e1f750882fcee9948561700bf881eb7b30bec95fd37934e6285a368b8b2", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/opera/darwin.json b/ee/maintained-apps/outputs/opera/darwin.json index 5c1d9d2304a..d56349c1803 100644 --- a/ee/maintained-apps/outputs/opera/darwin.json +++ b/ee/maintained-apps/outputs/opera/darwin.json @@ -6,10 +6,10 @@ "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.operasoftware.Opera';", "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.operasoftware.Opera' AND version_compare(bundle_short_version, '133.0') < 0);" }, - "installer_url": "https://get.geo.opera.com/pub/opera/desktop/133.0.5932.60/mac/Opera_133.0.5932.60_Setup.dmg", + "installer_url": "https://get.geo.opera.com/pub/opera/desktop/133.0.5932.85/mac/Opera_133.0.5932.85_Setup.dmg", "install_script_ref": "e9e947a7", "uninstall_script_ref": "566d9846", - "sha256": "e558618917376eedde960022154893a14e7abae2aab04846135c4c508f6b1470", + "sha256": "f69fc1916f51e9aba094a7beeb6d6f640eb9fc0387ba987ecac90fdea2612cfb", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/phpstorm/darwin.json b/ee/maintained-apps/outputs/phpstorm/darwin.json index 0f413e7d56f..a4b33d6cc0f 100644 --- a/ee/maintained-apps/outputs/phpstorm/darwin.json +++ b/ee/maintained-apps/outputs/phpstorm/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.2", + "version": "2026.2.0.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.PhpStorm';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.PhpStorm' AND version_compare(bundle_short_version, '2026.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.PhpStorm' AND version_compare(bundle_short_version, '2026.2.0.1') < 0);" }, - "installer_url": "https://download.jetbrains.com/webide/PhpStorm-2026.2-aarch64.dmg", + "installer_url": "https://download.jetbrains.com/webide/PhpStorm-2026.2.0.1-aarch64.dmg", "install_script_ref": "a85d5737", "uninstall_script_ref": "f215b72e", - "sha256": "04f272167f57723ddfc95c02220ab9c3abb92aa0d39ac1ee9bacfa0c05e59c5d", + "sha256": "7c8eb4c49f78a27997033241cb7f865079c91fefee9104c2b94da3decd59239a", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/phpstorm/windows.json b/ee/maintained-apps/outputs/phpstorm/windows.json index 7c4ec1f441b..6d36c4e3918 100644 --- a/ee/maintained-apps/outputs/phpstorm/windows.json +++ b/ee/maintained-apps/outputs/phpstorm/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.2", + "version": "2026.2.0.1", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'PhpStorm %' AND publisher = 'JetBrains s.r.o.';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'PhpStorm %' AND publisher = 'JetBrains s.r.o.' AND version_compare(version, '262.8665.265') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'PhpStorm %' AND publisher = 'JetBrains s.r.o.' AND version_compare(version, '262.8665.325') < 0);" }, - "installer_url": "https://download.jetbrains.com/webide/PhpStorm-2026.2.exe", + "installer_url": "https://download.jetbrains.com/webide/PhpStorm-2026.2.0.1.exe", "install_script_ref": "ea27a84f", "uninstall_script_ref": "909d4772", - "sha256": "616a1ae6611bae80c532e377c4a73c81eab173434e2b81f3aa8406910cca199d", + "sha256": "a52e585a522347aa018ba9c81a22542cf042a560d5737c09e8466a5cb8c2f6a8", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/pixelsnap/darwin.json b/ee/maintained-apps/outputs/pixelsnap/darwin.json index 7f593574d1c..bbb04b7e638 100644 --- a/ee/maintained-apps/outputs/pixelsnap/darwin.json +++ b/ee/maintained-apps/outputs/pixelsnap/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2.6.3", + "version": "2.6.4", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'pl.maketheweb.pixelsnap2';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'pl.maketheweb.pixelsnap2' AND version_compare(bundle_short_version, '2.6.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'pl.maketheweb.pixelsnap2' AND version_compare(bundle_short_version, '2.6.4') < 0);" }, - "installer_url": "https://updates.getpixelsnap.com/v2/PixelSnap-2-2.6.3.dmg", + "installer_url": "https://updates.getpixelsnap.com/v2/PixelSnap-2-2.6.4.dmg", "install_script_ref": "70d96835", "uninstall_script_ref": "a3b26b2e", - "sha256": "6c113c1c50df61ead1763472c209a900e3cdd898fa5fc65bc547032fe536514e", + "sha256": "0a3b1f964891900a2f7f7e6bd319651a1ed379275e7532bc32109a649fb6312d", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/postman/darwin.json b/ee/maintained-apps/outputs/postman/darwin.json index e754980d9c2..c36c7ad16e6 100644 --- a/ee/maintained-apps/outputs/postman/darwin.json +++ b/ee/maintained-apps/outputs/postman/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "12.20.2", + "version": "12.20.4", "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.20.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.20.4') < 0);" }, - "installer_url": "https://dl.pstmn.io/download/version/12.20.2/osx_arm64", + "installer_url": "https://dl.pstmn.io/download/version/12.20.4/osx_arm64", "install_script_ref": "96d73870", "uninstall_script_ref": "966b2fa5", - "sha256": "11ad485ab8fa266f8e155df4619ab49dea0b4df894fb35256ebf3d15685072da", + "sha256": "48894a976f6e7b52066b14bc4ba770779b4d11ba30d7de706a6ca540d7fc9eef", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/postman/windows.json b/ee/maintained-apps/outputs/postman/windows.json index 2357eb33509..50f34811c06 100644 --- a/ee/maintained-apps/outputs/postman/windows.json +++ b/ee/maintained-apps/outputs/postman/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "12.20.2", + "version": "12.20.4", "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.20.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Postman x64 %' AND publisher = 'Postman' AND version_compare(version, '12.20.4') < 0);" }, - "installer_url": "https://dl.pstmn.io/download/version/12.20.2/windows_64", + "installer_url": "https://dl.pstmn.io/download/version/12.20.4/windows_64", "install_script_ref": "8594f0bc", "uninstall_script_ref": "fd59d029", - "sha256": "4d1b199005f2c564a08be89af7252ec716e36aa1bb82e74e7fc13ed449bbb615", + "sha256": "94ca72e43544598d75500a1547e198d5c439b713f2c2dc04fb24dcd8b5820214", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/pritunl/darwin.json b/ee/maintained-apps/outputs/pritunl/darwin.json index b541ef7afa1..86ac500d724 100644 --- a/ee/maintained-apps/outputs/pritunl/darwin.json +++ b/ee/maintained-apps/outputs/pritunl/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.3.4686.95", + "version": "1.3.4696.56", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.pritunl';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.pritunl' AND version_compare(bundle_short_version, '1.3.4686.95') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.pritunl' AND version_compare(bundle_short_version, '1.3.4696.56') < 0);" }, - "installer_url": "https://github.com/pritunl/pritunl-client-electron/releases/download/1.3.4686.95/Pritunl.pkg.zip", + "installer_url": "https://github.com/pritunl/pritunl-client-electron/releases/download/1.3.4696.56/Pritunl.pkg.zip", "install_script_ref": "50fa15ff", "uninstall_script_ref": "13c4767e", - "sha256": "b991bb63a7820914c4898b4f657753062f2a0ebf7959371ca6d03bd390ec982c", + "sha256": "474f3be3103c30624e58ea6d3ad131c488c098f8c5444f59d91ede070cad80c4", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/slicer/darwin.json b/ee/maintained-apps/outputs/slicer/darwin.json index 43f6b7cc7b4..374ac1e14b7 100644 --- a/ee/maintained-apps/outputs/slicer/darwin.json +++ b/ee/maintained-apps/outputs/slicer/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "5.12.2", + "version": "5.12.3", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.slicer.slicer';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.slicer.slicer' AND version_compare(bundle_short_version, '5.12.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.slicer.slicer' AND version_compare(bundle_short_version, '5.12.3') < 0);" }, - "installer_url": "https://slicer-packages.kitware.com/api/v1/item/6a580cd8ca34ceb380ead1b5/download", + "installer_url": "https://slicer-packages.kitware.com/api/v1/item/6a61a0b02eb3d967f032af6c/download", "install_script_ref": "e09e7211", "uninstall_script_ref": "9e7199d3", - "sha256": "1243398c1630944d3ea35fd894ba782a1f1ac3dbfd1eff40cd50c8b5ce42a37c", + "sha256": "7904d7aa6aadc5ee5ea855ec7d28b33c24444daddd98684a8673a14f4c37d794", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/snowflake-snowsql/darwin.json b/ee/maintained-apps/outputs/snowflake-snowsql/darwin.json index c39e3946a59..db12a6bc7ed 100644 --- a/ee/maintained-apps/outputs/snowflake-snowsql/darwin.json +++ b/ee/maintained-apps/outputs/snowflake-snowsql/darwin.json @@ -1,22 +1,22 @@ { "versions": [ { - "version": "1.5.0", + "version": "1.5.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'net.snowflake.snowsql';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.snowflake.snowsql' AND version_compare(bundle_short_version, '1.5.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.snowflake.snowsql' AND version_compare(bundle_short_version, '1.5.1') < 0);" }, - "installer_url": "https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.5/darwin_arm64/snowsql-1.5.0-darwin_arm64.pkg", - "install_script_ref": "1f9b5909", + "installer_url": "https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.5/darwin_arm64/snowsql-1.5.1-darwin_arm64.pkg", + "install_script_ref": "703ef523", "uninstall_script_ref": "63c2ada8", - "sha256": "7b0631b9ce6389d375f6d339e4debf5e51d1756d31e8452f68f0d5c4e5790bfe", + "sha256": "521e87e1b43284720dbab70357fbba32bf32b9a3709516be8dd650980d9fd4bf", "default_categories": [ "Productivity" ] } ], "refs": { - "1f9b5909": "#!/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 'net.snowflake.snowsql'\nsudo installer -pkg \"$TMPDIR/snowsql-1.5.0-darwin_arm64.pkg\" -target /\nrelaunch_application 'net.snowflake.snowsql'\n", - "63c2ada8": "#!/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 '/volume<\\/key>/ {getline; gsub(/.*|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/install-location<\\/key>/ {getline; gsub(/.*|<\\/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 'net.snowflake.snowsql'\nforget_pkg 'net.snowflake.snowsql'\ntrash $LOGGED_IN_USER '~/.snowsql'\n" + "63c2ada8": "#!/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 '/volume<\\/key>/ {getline; gsub(/.*|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/install-location<\\/key>/ {getline; gsub(/.*|<\\/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 'net.snowflake.snowsql'\nforget_pkg 'net.snowflake.snowsql'\ntrash $LOGGED_IN_USER '~/.snowsql'\n", + "703ef523": "#!/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 'net.snowflake.snowsql'\nsudo installer -pkg \"$TMPDIR/snowsql-1.5.1-darwin_arm64.pkg\" -target /\nrelaunch_application 'net.snowflake.snowsql'\n" } } diff --git a/ee/maintained-apps/outputs/telegram/windows.json b/ee/maintained-apps/outputs/telegram/windows.json index 36ae55aa6cb..286141ffb1c 100644 --- a/ee/maintained-apps/outputs/telegram/windows.json +++ b/ee/maintained-apps/outputs/telegram/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.0.4", + "version": "7.0.5", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Telegram Desktop' AND publisher = 'Telegram FZ-LLC';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Telegram Desktop' AND publisher = 'Telegram FZ-LLC' AND version_compare(version, '7.0.4') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Telegram Desktop' AND publisher = 'Telegram FZ-LLC' AND version_compare(version, '7.0.5') < 0);" }, - "installer_url": "https://github.com/telegramdesktop/tdesktop/releases/download/v7.0.4/tsetup-x64.7.0.4.exe", + "installer_url": "https://td.telegram.org/tx64/tsetup-x64.7.0.5.exe", "install_script_ref": "0b88a95e", "uninstall_script_ref": "42311f1b", - "sha256": "f70bdb9ca2bf45cc4c33c83bc898b2e43a919ee013f71307976b66210b3171f7", + "sha256": "d9db8262ce3f70623e126698341ef232e286b813393c720a3971dfa9b56f7300", "default_categories": [ "Communication" ] diff --git a/ee/maintained-apps/outputs/webcatalog/darwin.json b/ee/maintained-apps/outputs/webcatalog/darwin.json index 415d06a40e4..b15c2ca71df 100644 --- a/ee/maintained-apps/outputs/webcatalog/darwin.json +++ b/ee/maintained-apps/outputs/webcatalog/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "77.5.0", + "version": "77.6.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.webcatalog.jordan';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.webcatalog.jordan' AND version_compare(bundle_short_version, '77.5.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.webcatalog.jordan' AND version_compare(bundle_short_version, '77.6.0') < 0);" }, - "installer_url": "https://cdn-2.webcatalog.io/webcatalog/WebCatalog-77.5.0-universal.dmg", + "installer_url": "https://cdn-2.webcatalog.io/webcatalog/WebCatalog-77.6.0-universal.dmg", "install_script_ref": "f04928dc", "uninstall_script_ref": "d196a4c8", - "sha256": "05d6e00111999ade25b52ea31ab431c35b557a9d758f0216d5538c6a7c4a6cad", + "sha256": "30dee39c633aec3d775bb409083d393f71d3f67df6a3cf5fb634f45b66a2f8b8", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/webstorm/darwin.json b/ee/maintained-apps/outputs/webstorm/darwin.json index d0cbbf241c4..b88536eb61b 100644 --- a/ee/maintained-apps/outputs/webstorm/darwin.json +++ b/ee/maintained-apps/outputs/webstorm/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.2", + "version": "2026.2.0.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.WebStorm';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.WebStorm' AND version_compare(bundle_short_version, '2026.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.WebStorm' AND version_compare(bundle_short_version, '2026.2.0.1') < 0);" }, - "installer_url": "https://download.jetbrains.com/webstorm/WebStorm-2026.2-aarch64.dmg", + "installer_url": "https://download.jetbrains.com/webstorm/WebStorm-2026.2.0.1-aarch64.dmg", "install_script_ref": "cd510d61", "uninstall_script_ref": "6d11a5af", - "sha256": "baec7e9e62fddd894233339bb80d91d0362360bc75869fafb437f75208fc443a", + "sha256": "5adbcbec32eb721b0a94c3ebb187a5bb1a0fa3fb1705a530d163b59a5c6d1e47", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/webstorm/windows.json b/ee/maintained-apps/outputs/webstorm/windows.json index 168af0dc60b..8e332488312 100644 --- a/ee/maintained-apps/outputs/webstorm/windows.json +++ b/ee/maintained-apps/outputs/webstorm/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.2", + "version": "2026.2.0.1", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'WebStorm %' AND publisher = 'JetBrains s.r.o.';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'WebStorm %' AND publisher = 'JetBrains s.r.o.' AND version_compare(version, '262.8665.259') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'WebStorm %' AND publisher = 'JetBrains s.r.o.' AND version_compare(version, '262.8665.341') < 0);" }, - "installer_url": "https://download.jetbrains.com/webstorm/WebStorm-2026.2.exe", + "installer_url": "https://download.jetbrains.com/webstorm/WebStorm-2026.2.0.1.exe", "install_script_ref": "68119c0c", "uninstall_script_ref": "c2646a7f", - "sha256": "a8f26cd05b3aeccffba08c3b9a9889a772827894c5359cb06907c97be9d63a94", + "sha256": "7530b5c01734633e5049ba3fbd2664282febee823f32b967a1e11cc02e71cd41", "default_categories": [ "Developer tools" ] From 20ad1112bfeed3b4bafc00ef564d0115759998fe Mon Sep 17 00:00:00 2001 From: Allen Houchins Date: Thu, 23 Jul 2026 15:01:11 -0500 Subject: [PATCH 2/2] Revert Pritunl to 1.3.4686.95 on both platforms and freeze - pritunl/windows: revert 1.3.4696.56 -> 1.3.4686.95 (the installer registers as 1.3.4686.95, so 1.3.4696.56 is never found by osquery) - pritunl/darwin: revert the re-bump to 1.3.4696.56 (same issue as the earlier revert in #49813: the bundle still reports 1.3.4686.95) - freeze winget + homebrew inputs so the bot stops re-bumping until upstream ships a release that reports its own version --- ee/maintained-apps/inputs/homebrew/pritunl.json | 3 ++- ee/maintained-apps/inputs/winget/pritunl.json | 3 ++- ee/maintained-apps/outputs/pritunl/darwin.json | 8 ++++---- ee/maintained-apps/outputs/pritunl/windows.json | 8 ++++---- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/ee/maintained-apps/inputs/homebrew/pritunl.json b/ee/maintained-apps/inputs/homebrew/pritunl.json index c3a45147b51..4f60d72821e 100644 --- a/ee/maintained-apps/inputs/homebrew/pritunl.json +++ b/ee/maintained-apps/inputs/homebrew/pritunl.json @@ -4,5 +4,6 @@ "token": "pritunl", "installer_format": "zip", "slug": "pritunl/darwin", - "default_categories": ["Productivity"] + "default_categories": ["Productivity"], + "frozen": true } diff --git a/ee/maintained-apps/inputs/winget/pritunl.json b/ee/maintained-apps/inputs/winget/pritunl.json index 64616dbc067..16e21d89ff8 100644 --- a/ee/maintained-apps/inputs/winget/pritunl.json +++ b/ee/maintained-apps/inputs/winget/pritunl.json @@ -10,5 +10,6 @@ "installer_arch": "x64", "installer_type": "exe", "installer_scope": "machine", - "default_categories": ["Productivity"] + "default_categories": ["Productivity"], + "frozen": true } diff --git a/ee/maintained-apps/outputs/pritunl/darwin.json b/ee/maintained-apps/outputs/pritunl/darwin.json index 86ac500d724..b541ef7afa1 100644 --- a/ee/maintained-apps/outputs/pritunl/darwin.json +++ b/ee/maintained-apps/outputs/pritunl/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.3.4696.56", + "version": "1.3.4686.95", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.pritunl';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.pritunl' AND version_compare(bundle_short_version, '1.3.4696.56') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.pritunl' AND version_compare(bundle_short_version, '1.3.4686.95') < 0);" }, - "installer_url": "https://github.com/pritunl/pritunl-client-electron/releases/download/1.3.4696.56/Pritunl.pkg.zip", + "installer_url": "https://github.com/pritunl/pritunl-client-electron/releases/download/1.3.4686.95/Pritunl.pkg.zip", "install_script_ref": "50fa15ff", "uninstall_script_ref": "13c4767e", - "sha256": "474f3be3103c30624e58ea6d3ad131c488c098f8c5444f59d91ede070cad80c4", + "sha256": "b991bb63a7820914c4898b4f657753062f2a0ebf7959371ca6d03bd390ec982c", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/pritunl/windows.json b/ee/maintained-apps/outputs/pritunl/windows.json index 0bb82924da7..f99339e77a7 100644 --- a/ee/maintained-apps/outputs/pritunl/windows.json +++ b/ee/maintained-apps/outputs/pritunl/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.3.4696.56", + "version": "1.3.4686.95", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'Pritunl %' AND publisher = 'Pritunl';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Pritunl %' AND publisher = 'Pritunl' AND version_compare(version, '1.3.4696.56') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Pritunl %' AND publisher = 'Pritunl' AND version_compare(version, '1.3.4686.95') < 0);" }, - "installer_url": "https://github.com/pritunl/pritunl-client/releases/download/1.3.4696.56/Pritunl.exe", + "installer_url": "https://github.com/pritunl/pritunl-client/releases/download/1.3.4686.95/Pritunl.exe", "install_script_ref": "83fd35ff", "uninstall_script_ref": "c81cc77c", - "sha256": "5ba16b22ba272b72d3a817b8b3f349776f2f26ad57a744b8669a37a64d7ffaa6", + "sha256": "95cd503daa00c043e0b20c4a7a39271495f0253e354387625218a7eaf1142577", "default_categories": [ "Productivity" ]