From 6be0802b6bd3890d02a26275ecd5a1aeecd2d295 Mon Sep 17 00:00:00 2001 From: allenhouchins <32207388+allenhouchins@users.noreply.github.com> Date: Thu, 21 May 2026 12:59:43 +0000 Subject: [PATCH 1/2] Update Fleet-maintained apps. Generated automatically with cmd/maintained-apps. --- ee/maintained-apps/outputs/1password/darwin.json | 4 ++-- .../outputs/beyond-compare/darwin.json | 8 ++++---- ee/maintained-apps/outputs/bitwarden/darwin.json | 8 ++++---- ee/maintained-apps/outputs/brave-browser/darwin.json | 8 ++++---- ee/maintained-apps/outputs/bruno/darwin.json | 8 ++++---- ee/maintained-apps/outputs/cursor/darwin.json | 8 ++++---- ee/maintained-apps/outputs/granola/darwin.json | 8 ++++---- ee/maintained-apps/outputs/imazing/darwin.json | 12 ++++++------ ee/maintained-apps/outputs/mattermost/darwin.json | 4 ++-- ee/maintained-apps/outputs/notion/darwin.json | 8 ++++---- ee/maintained-apps/outputs/postman/darwin.json | 8 ++++---- ee/maintained-apps/outputs/postman/windows.json | 8 ++++---- ee/maintained-apps/outputs/santa/darwin.json | 12 ++++++------ ee/maintained-apps/outputs/signal/darwin.json | 8 ++++---- ee/maintained-apps/outputs/tableplus/darwin.json | 8 ++++---- ee/maintained-apps/outputs/whatsapp/darwin.json | 4 ++-- ee/maintained-apps/outputs/zed/darwin.json | 8 ++++---- 17 files changed, 66 insertions(+), 66 deletions(-) diff --git a/ee/maintained-apps/outputs/1password/darwin.json b/ee/maintained-apps/outputs/1password/darwin.json index 6d88ec1515a..0ad839ca4a9 100644 --- a/ee/maintained-apps/outputs/1password/darwin.json +++ b/ee/maintained-apps/outputs/1password/darwin.json @@ -1,10 +1,10 @@ { "versions": [ { - "version": "8.12.12", + "version": "8.12.21", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password' AND version_compare(bundle_short_version, '8.12.12') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password' AND version_compare(bundle_short_version, '8.12.21') < 0);" }, "installer_url": "https://downloads.1password.com/mac/1Password.pkg", "install_script_ref": "ef2a17ff", diff --git a/ee/maintained-apps/outputs/beyond-compare/darwin.json b/ee/maintained-apps/outputs/beyond-compare/darwin.json index c66aecad0cd..280ad90377c 100644 --- a/ee/maintained-apps/outputs/beyond-compare/darwin.json +++ b/ee/maintained-apps/outputs/beyond-compare/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "5.2.1.32035", + "version": "5.2.2.32209", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.ScooterSoftware.BeyondCompare';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.ScooterSoftware.BeyondCompare' AND version_compare(bundle_short_version, '5.2.1.32035') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.ScooterSoftware.BeyondCompare' AND version_compare(bundle_short_version, '5.2.2.32209') < 0);" }, - "installer_url": "https://www.scootersoftware.com/files/BCompareOSX-5.2.1.32035.zip", + "installer_url": "https://www.scootersoftware.com/files/BCompareOSX-5.2.2.32209.zip", "install_script_ref": "5fca1cb5", "uninstall_script_ref": "40882570", - "sha256": "0a097de9af06f7d8c6073f7d57e54ccdf59d727acaf53dd6c74d92e06bd6c93e", + "sha256": "3432647d13d81054b37b85bd111adc35cf49988d17d737a073d3a96377112709", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/bitwarden/darwin.json b/ee/maintained-apps/outputs/bitwarden/darwin.json index 5888d91a0d2..5f28b1ceb4e 100644 --- a/ee/maintained-apps/outputs/bitwarden/darwin.json +++ b/ee/maintained-apps/outputs/bitwarden/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.3.1", + "version": "2026.4.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.3.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.4.0') < 0);" }, - "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.3.1/Bitwarden-2026.3.1-universal.dmg", + "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.4.0/Bitwarden-2026.4.0-universal.dmg", "install_script_ref": "1bffc483", "uninstall_script_ref": "116d49da", - "sha256": "b3d3d139d67c616ec6e484454872693991e29beb42dc4fc43c0c0c28262de8ff", + "sha256": "67ceb2fb2cd88f7633a5072a456ff0b284eab6920218206067cb65d94443d1e1", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/brave-browser/darwin.json b/ee/maintained-apps/outputs/brave-browser/darwin.json index df3bce2028f..fd661963595 100644 --- a/ee/maintained-apps/outputs/brave-browser/darwin.json +++ b/ee/maintained-apps/outputs/brave-browser/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "148.1.90.122", + "version": "148.1.90.124", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.brave.Browser';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.brave.Browser' AND version_compare(bundle_short_version, '148.1.90.122') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.brave.Browser' AND version_compare(bundle_short_version, '148.1.90.124') < 0);" }, - "installer_url": "https://updates-cdn.bravesoftware.com/sparkle/Brave-Browser/stable-arm64/190.122/Brave-Browser-arm64.dmg", + "installer_url": "https://updates-cdn.bravesoftware.com/sparkle/Brave-Browser/stable-arm64/190.124/Brave-Browser-arm64.dmg", "install_script_ref": "51f78f89", "uninstall_script_ref": "f700850a", - "sha256": "ca47ec90e311ffc27f2cb704f6995beae557a522c6d15b9a491318be32068ced", + "sha256": "337fea224145b4ee610343af3a6b29a302b8a1cdcec5ae85782eebfdb1066d36", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/bruno/darwin.json b/ee/maintained-apps/outputs/bruno/darwin.json index 04a776fde59..b1811cebdbd 100644 --- a/ee/maintained-apps/outputs/bruno/darwin.json +++ b/ee/maintained-apps/outputs/bruno/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.3.0", + "version": "3.4.1", "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.3.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.usebruno.app' AND version_compare(bundle_short_version, '3.4.1') < 0);" }, - "installer_url": "https://github.com/usebruno/bruno/releases/download/v3.3.0/bruno_3.3.0_arm64_mac.dmg", + "installer_url": "https://github.com/usebruno/bruno/releases/download/v3.4.1/bruno_3.4.1_arm64_mac.dmg", "install_script_ref": "162ba575", "uninstall_script_ref": "334673a8", - "sha256": "a09ca59f04bc703c8ab07f2062114f5ef1428b57991eecf336298a6c0d821588", + "sha256": "c86e9bde676edcb628f5f78f538861782278798e576df9d5382b039240fca7b0", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/cursor/darwin.json b/ee/maintained-apps/outputs/cursor/darwin.json index 1e42654eeb1..42481414168 100644 --- a/ee/maintained-apps/outputs/cursor/darwin.json +++ b/ee/maintained-apps/outputs/cursor/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.4.20", + "version": "3.5.17", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92' AND version_compare(bundle_short_version, '3.4.20') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92' AND version_compare(bundle_short_version, '3.5.17') < 0);" }, - "installer_url": "https://downloads.cursor.com/production/0cf8b06883f54e26bb4f0fb8647c9500ccb4331f/darwin/arm64/Cursor-darwin-arm64.zip", + "installer_url": "https://downloads.cursor.com/production/d5b2fc092e16007956c9e5047f76097b9e626cab/darwin/arm64/Cursor-darwin-arm64.zip", "install_script_ref": "5147ff0b", "uninstall_script_ref": "a4458d81", - "sha256": "c2f4d692edb29063f925ad81cd66084a1760ac470d71560ef775c4f05414851c", + "sha256": "3b8f87537bac46e8d7a7b99fc7fe3762e4446644dcc473257bdd78c42d764489", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/granola/darwin.json b/ee/maintained-apps/outputs/granola/darwin.json index 79b5b5563b4..9e7c96fcfc5 100644 --- a/ee/maintained-apps/outputs/granola/darwin.json +++ b/ee/maintained-apps/outputs/granola/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.227.4", + "version": "7.255.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.227.4') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.granola.app' AND version_compare(bundle_short_version, '7.255.4') < 0);" }, - "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.227.4/Granola-7.227.4-mac-universal.dmg", + "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.255.4/Granola-7.255.4-mac-universal.dmg", "install_script_ref": "08986ac7", "uninstall_script_ref": "67249f33", - "sha256": "fb79fb716169f2286569fb172af9af2d6ccaddadd8e1b6c80a8b4717b8f2b18a", + "sha256": "0ae929fc2201ca9fcc92057c2a93bdbd8b990fa5d0dc90f899ca2ca4caad02d5", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/imazing/darwin.json b/ee/maintained-apps/outputs/imazing/darwin.json index d81c9687816..69fe6f3e94f 100644 --- a/ee/maintained-apps/outputs/imazing/darwin.json +++ b/ee/maintained-apps/outputs/imazing/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.5.2", + "version": "3.5.3", "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.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.DigiDNA.iMazing3Mac' AND version_compare(bundle_short_version, '3.5.3') < 0);" }, - "installer_url": "https://downloads.imazing.com/mac/iMazing/3.5.2.24017/iMazing_3.5.2.24017.dmg", + "installer_url": "https://downloads.imazing.com/mac/iMazing/3.5.3.24045/iMazing_3.5.3.24045.dmg", "install_script_ref": "0525fbb7", - "uninstall_script_ref": "d16e6a18", - "sha256": "a9578cbb523ecddb0a6fd818d99d5744ae552d1c8b4bbaf29742b7b26f598438", + "uninstall_script_ref": "44599eff", + "sha256": "a60a6deea2b1a9edee1b639a84bb21861e8239b5d1f323d5055eac9164598a97", "default_categories": [ "Utilities" ] @@ -17,6 +17,6 @@ ], "refs": { "0525fbb7": "#!/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)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\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", - "d16e6a18": "#!/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 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.2.24017Mac'\nquit_application 'com.DigiDNA.iMazing3.5.2.24017Mac.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" + "44599eff": "#!/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 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.3.24045Mac'\nquit_application 'com.DigiDNA.iMazing3.5.3.24045Mac.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" } } diff --git a/ee/maintained-apps/outputs/mattermost/darwin.json b/ee/maintained-apps/outputs/mattermost/darwin.json index 37a5def886a..48ed02792e4 100644 --- a/ee/maintained-apps/outputs/mattermost/darwin.json +++ b/ee/maintained-apps/outputs/mattermost/darwin.json @@ -8,7 +8,7 @@ }, "installer_url": "https://releases.mattermost.com/desktop/6.2.0/mattermost-desktop-6.2.0-mac-arm64.zip", "install_script_ref": "b8367a3b", - "uninstall_script_ref": "cb17ddbd", + "uninstall_script_ref": "cabd2233", "sha256": "8e8a8ff8d48e9173025c22b0862b7b28a670fdf562b81360b89acef6bde320b6", "default_categories": [ "Communication" @@ -17,6 +17,6 @@ ], "refs": { "b8367a3b": "#!/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\nunzip \"$INSTALLER_PATH\" -d \"$TMPDIR\"\n# copy to the applications folder\nquit_and_track_application 'Mattermost.Desktop'\nif [ -d \"$APPDIR/Mattermost.app\" ]; then\n\tsudo mv \"$APPDIR/Mattermost.app\" \"$TMPDIR/Mattermost.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/Mattermost.app\" \"$APPDIR\"\nrelaunch_application 'Mattermost.Desktop'\n", - "cb17ddbd": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\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 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\nsudo rm -rf \"$APPDIR/Mattermost.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/Mattermost'\ntrash $LOGGED_IN_USER '~/Library/Containers/Mattermost.Desktop'\ntrash $LOGGED_IN_USER '~/Library/Logs/Mattermost'\ntrash $LOGGED_IN_USER '~/Library/Preferences/Mattermost.Desktop.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/Mattermost.Desktop.savedState'\n" + "cabd2233": "#!/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 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 'Mattermost.Desktop'\nsudo rm -rf \"$APPDIR/Mattermost.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/Mattermost'\ntrash $LOGGED_IN_USER '~/Library/Containers/Mattermost.Desktop'\ntrash $LOGGED_IN_USER '~/Library/Logs/Mattermost'\ntrash $LOGGED_IN_USER '~/Library/Preferences/Mattermost.Desktop.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/Mattermost.Desktop.savedState'\n" } } diff --git a/ee/maintained-apps/outputs/notion/darwin.json b/ee/maintained-apps/outputs/notion/darwin.json index 72860376b42..08f2c41eb57 100644 --- a/ee/maintained-apps/outputs/notion/darwin.json +++ b/ee/maintained-apps/outputs/notion/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.17.0", + "version": "7.18.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'notion.id';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'notion.id' AND version_compare(bundle_short_version, '7.17.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'notion.id' AND version_compare(bundle_short_version, '7.18.0') < 0);" }, - "installer_url": "https://desktop-release.notion-static.com/Notion-7.17.0-arm64.dmg", + "installer_url": "https://desktop-release.notion-static.com/Notion-7.18.0-arm64.dmg", "install_script_ref": "d8e3e0c4", "uninstall_script_ref": "f4afbeb5", - "sha256": "303c0bc41de13b99f86b49335ba1bf8edb5aaba5403edebfcc7459b529b53040", + "sha256": "df1322d5848b04c8b71705dc084786e3cb99f0019d2d58751b5d4e7eb7333f6e", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/postman/darwin.json b/ee/maintained-apps/outputs/postman/darwin.json index e4c4157f7fb..92eee16689e 100644 --- a/ee/maintained-apps/outputs/postman/darwin.json +++ b/ee/maintained-apps/outputs/postman/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "12.11.3", + "version": "12.11.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.11.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.postmanlabs.mac' AND version_compare(bundle_short_version, '12.11.4') < 0);" }, - "installer_url": "https://dl.pstmn.io/download/version/12.11.3/osx_arm64", + "installer_url": "https://dl.pstmn.io/download/version/12.11.4/osx_arm64", "install_script_ref": "96d73870", "uninstall_script_ref": "5b41187d", - "sha256": "5e17f5f4399e9aed80246b4c16356b1c01dd52ca1849ac896482a2bc45b9e0c8", + "sha256": "d6acebd5d07d1a63a00207dacd00e3c38dea4ddceedde8f542e0742f6cdedf42", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/postman/windows.json b/ee/maintained-apps/outputs/postman/windows.json index 245e91f8aac..5593be21954 100644 --- a/ee/maintained-apps/outputs/postman/windows.json +++ b/ee/maintained-apps/outputs/postman/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "12.11.3", + "version": "12.11.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.11.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Postman x64 %' AND publisher = 'Postman' AND version_compare(version, '12.11.4') < 0);" }, - "installer_url": "https://dl.pstmn.io/download/version/12.11.3/windows_64", + "installer_url": "https://dl.pstmn.io/download/version/12.11.4/windows_64", "install_script_ref": "538f63bf", "uninstall_script_ref": "cd01b68f", - "sha256": "7fceb29388c16cc0a306af3d5efef01a9d5593c2a77057de87e0cb5db141ae31", + "sha256": "7ead1ec8563b173cc3580eb25655ce03e9b6742a8da66d80aea260969ebd041e", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/santa/darwin.json b/ee/maintained-apps/outputs/santa/darwin.json index eeb1dbb2de7..ab1d6158b36 100644 --- a/ee/maintained-apps/outputs/santa/darwin.json +++ b/ee/maintained-apps/outputs/santa/darwin.json @@ -1,22 +1,22 @@ { "versions": [ { - "version": "2026.3", + "version": "2026.4", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.northpolesec.santa';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.northpolesec.santa' AND version_compare(bundle_short_version, '2026.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.northpolesec.santa' AND version_compare(bundle_short_version, '2026.4') < 0);" }, - "installer_url": "https://github.com/northpolesec/santa/releases/download/2026.3/santa-2026.3.dmg", - "install_script_ref": "7d1fb427", + "installer_url": "https://github.com/northpolesec/santa/releases/download/2026.4/santa-2026.4.dmg", + "install_script_ref": "c224d0ec", "uninstall_script_ref": "e49fe8f6", - "sha256": "998950acf97d35a133aef1ea9ea32ced58c005c87118faac6545b6ac2f831bb7", + "sha256": "e2c3d1695a3570c2b184a11379288f28ed5028073a043a960128752d9a88670a", "default_categories": [ "Productivity" ] } ], "refs": { - "7d1fb427": "#!/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)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# install pkg files\nquit_and_track_application 'com.northpolesec.santa'\nsudo installer -pkg \"$TMPDIR/santa-2026.3.pkg\" -target /\nrelaunch_application 'com.northpolesec.santa'\n", + "c224d0ec": "#!/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)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# install pkg files\nquit_and_track_application 'com.northpolesec.santa'\nsudo installer -pkg \"$TMPDIR/santa-2026.4.pkg\" -target /\nrelaunch_application 'com.northpolesec.santa'\n", "e49fe8f6": "#!/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_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 for should_sudo in \"${booleans[@]}\"; do\n plist_status=$(launchctl list \"${service}\" 2>/dev/null)\n\n if [[ $plist_status == \\{* ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo launchctl remove \"${service}\"\n else\n launchctl remove \"${service}\"\n fi\n sleep 1\n fi\n\n paths=(\n \"/Library/LaunchAgents/${service}.plist\"\n \"/Library/LaunchDaemons/${service}.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}\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 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.northpolesec.santa'\nremove_launchctl_service 'com.northpolesec.santa.bundleservice'\nremove_launchctl_service 'com.northpolesec.santa.metricservice'\nremove_launchctl_service 'com.northpolesec.santa.syncservice'\nremove_launchctl_service 'com.northpolesec.santad'\nremove_pkg_files 'com.northpolesec.santa'\nforget_pkg 'com.northpolesec.santa'\nsudo rm -rf '/Applications/Santa.app'\nsudo rm -rf '/usr/local/bin/santactl'\nsudo rm -rf '/var/db/santa'\nsudo rm -rf '/var/log/santa*'\ntrash $LOGGED_IN_USER '/private/etc/asl/com.northpolesec.santa.asl.conf'\ntrash $LOGGED_IN_USER '/private/etc/newsyslog.d/com.northpolesec.santa.newsyslog.conf'\n" } } diff --git a/ee/maintained-apps/outputs/signal/darwin.json b/ee/maintained-apps/outputs/signal/darwin.json index 18f1bf5dbf3..fa4c8ebe8e5 100644 --- a/ee/maintained-apps/outputs/signal/darwin.json +++ b/ee/maintained-apps/outputs/signal/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "8.10.0", + "version": "8.11.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.whispersystems.signal-desktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.whispersystems.signal-desktop' AND version_compare(bundle_short_version, '8.10.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.whispersystems.signal-desktop' AND version_compare(bundle_short_version, '8.11.0') < 0);" }, - "installer_url": "https://updates.signal.org/desktop/signal-desktop-mac-arm64-8.10.0.zip", + "installer_url": "https://updates.signal.org/desktop/signal-desktop-mac-arm64-8.11.0.zip", "install_script_ref": "fac7f399", "uninstall_script_ref": "a39bd40e", - "sha256": "0cd01b5f8d4e9d341e6ddcdd67a1ce33147f7a8e459d80eda5052f4c60753bcf", + "sha256": "0471d7c3a83bedcce6e93e5c83adf9b6153d76c3ae73649e5dc580466ace95d2", "default_categories": [ "Communication" ] diff --git a/ee/maintained-apps/outputs/tableplus/darwin.json b/ee/maintained-apps/outputs/tableplus/darwin.json index d07f405c0e8..aa6b18a47ed 100644 --- a/ee/maintained-apps/outputs/tableplus/darwin.json +++ b/ee/maintained-apps/outputs/tableplus/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.0.4", + "version": "7.0.6", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.tinyapp.TablePlus';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.tinyapp.TablePlus' AND version_compare(bundle_short_version, '7.0.4') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.tinyapp.TablePlus' AND version_compare(bundle_short_version, '7.0.6') < 0);" }, - "installer_url": "https://files.tableplus.com/macos/704/TablePlus.dmg", + "installer_url": "https://files.tableplus.com/macos/706/TablePlus.dmg", "install_script_ref": "6ebc9cac", "uninstall_script_ref": "bc329865", - "sha256": "bbebf192c59905456d411891ef4ed2f7ddeb9ee8f7a1f65a3ef06094996ad53f", + "sha256": "6c2ea52452e8eea230f93d40e8ff2f46814bdf9c683e06b79f94fb44d977847e", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/whatsapp/darwin.json b/ee/maintained-apps/outputs/whatsapp/darwin.json index 7acfbcf68da..41e2b79dc56 100644 --- a/ee/maintained-apps/outputs/whatsapp/darwin.json +++ b/ee/maintained-apps/outputs/whatsapp/darwin.json @@ -8,7 +8,7 @@ }, "installer_url": "https://web.whatsapp.com/desktop/mac_native/release/?configuration=Release&src=whatsapp_downloads_page", "install_script_ref": "a776e715", - "uninstall_script_ref": "2dfbb01c", + "uninstall_script_ref": "20a28a5e", "sha256": "no_check", "default_categories": [ "Communication" @@ -16,7 +16,7 @@ } ], "refs": { - "2dfbb01c": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\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 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\nsudo rm -rf \"$APPDIR/WhatsApp.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/net.whatsapp.WhatsApp*'\ntrash $LOGGED_IN_USER '~/Library/Caches/net.whatsapp.WhatsApp'\ntrash $LOGGED_IN_USER '~/Library/Containers/net.whatsapp.WhatsApp*'\ntrash $LOGGED_IN_USER '~/Library/Group Containers/group.com.facebook.family'\ntrash $LOGGED_IN_USER '~/Library/Group Containers/group.net.whatsapp*'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/net.whatsapp.WhatsApp.savedState'\n", + "20a28a5e": "#!/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 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 'net.whatsapp.WhatsApp'\nsudo rm -rf \"$APPDIR/WhatsApp.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/net.whatsapp.WhatsApp*'\ntrash $LOGGED_IN_USER '~/Library/Caches/net.whatsapp.WhatsApp'\ntrash $LOGGED_IN_USER '~/Library/Containers/net.whatsapp.WhatsApp*'\ntrash $LOGGED_IN_USER '~/Library/Group Containers/group.com.facebook.family'\ntrash $LOGGED_IN_USER '~/Library/Group Containers/group.net.whatsapp*'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/net.whatsapp.WhatsApp.savedState'\n", "a776e715": "#!/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)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_and_track_application 'net.whatsapp.WhatsApp'\nif [ -d \"$APPDIR/WhatsApp.app\" ]; then\n\tsudo mv \"$APPDIR/WhatsApp.app\" \"$TMPDIR/WhatsApp.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/WhatsApp.app\" \"$APPDIR\"\nrelaunch_application 'net.whatsapp.WhatsApp'\n" } } diff --git a/ee/maintained-apps/outputs/zed/darwin.json b/ee/maintained-apps/outputs/zed/darwin.json index 3b63eab59e1..574f93c3655 100644 --- a/ee/maintained-apps/outputs/zed/darwin.json +++ b/ee/maintained-apps/outputs/zed/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.2.7", + "version": "1.3.5", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'dev.zed.Zed';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'dev.zed.Zed' AND version_compare(bundle_short_version, '1.2.7') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'dev.zed.Zed' AND version_compare(bundle_short_version, '1.3.5') < 0);" }, - "installer_url": "https://zed.dev/api/releases/stable/1.2.7/Zed-aarch64.dmg", + "installer_url": "https://zed.dev/api/releases/stable/1.3.5/Zed-aarch64.dmg", "install_script_ref": "7a64bca0", "uninstall_script_ref": "315158ff", - "sha256": "0f3da36e7819ac5d5b9085131bd0308bb7d67febac5c79e2c9316c9fc7c532c0", + "sha256": "79789809a98327b23d40600be258745d3dbfc66680b4c7ae7fe5c948b733185b", "default_categories": [ "Developer tools" ] From 71d6ea50d2864030e4a653f46251e0c425b65f28 Mon Sep 17 00:00:00 2001 From: Allen Houchins <32207388+allenhouchins@users.noreply.github.com> Date: Thu, 21 May 2026 08:02:51 -0500 Subject: [PATCH 2/2] Update 1Password version to 8.12.12 --- ee/maintained-apps/outputs/1password/darwin.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ee/maintained-apps/outputs/1password/darwin.json b/ee/maintained-apps/outputs/1password/darwin.json index 0ad839ca4a9..6d88ec1515a 100644 --- a/ee/maintained-apps/outputs/1password/darwin.json +++ b/ee/maintained-apps/outputs/1password/darwin.json @@ -1,10 +1,10 @@ { "versions": [ { - "version": "8.12.21", + "version": "8.12.12", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password' AND version_compare(bundle_short_version, '8.12.21') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password' AND version_compare(bundle_short_version, '8.12.12') < 0);" }, "installer_url": "https://downloads.1password.com/mac/1Password.pkg", "install_script_ref": "ef2a17ff",