diff --git a/ee/maintained-apps/outputs/aptakube/windows.json b/ee/maintained-apps/outputs/aptakube/windows.json index a2877d4e4c9..0b3d2c50a09 100644 --- a/ee/maintained-apps/outputs/aptakube/windows.json +++ b/ee/maintained-apps/outputs/aptakube/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.19.5", + "version": "1.19.6", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Aptakube' AND publisher = 'Zandar Labs SL';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Aptakube' AND publisher = 'Zandar Labs SL' AND version_compare(version, '1.19.5') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Aptakube' AND publisher = 'Zandar Labs SL' AND version_compare(version, '1.19.6') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'aptakube.exe');" }, - "installer_url": "https://releases.aptakube.com/Aptakube_1.19.5_x64_en-US.msi", + "installer_url": "https://releases.aptakube.com/Aptakube_1.19.6_x64_en-US.msi", "install_script_ref": "22e48c46", "uninstall_script_ref": "d2281ec5", - "sha256": "9fff105dbbd8a8cfdb3ed9ab84c83b61f3f9935454cf8f48767dfb59f9acd91e", + "sha256": "2222ea3d8fa1eb8746da60a796eac9ae5ba81618daae886e2a46dc9802b014c3", "default_categories": [ "Developer tools" ], diff --git a/ee/maintained-apps/outputs/brave-browser/darwin.json b/ee/maintained-apps/outputs/brave-browser/darwin.json index 04b7cdb601c..4bb76b98024 100644 --- a/ee/maintained-apps/outputs/brave-browser/darwin.json +++ b/ee/maintained-apps/outputs/brave-browser/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "152.1.94.117", + "version": "152.1.94.119", "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, '152.1.94.117') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.brave.Browser' AND version_compare(bundle_short_version, '152.1.94.119') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.brave.Browser' AND a.bundle_executable != '');" }, - "installer_url": "https://updates-cdn.bravesoftware.com/sparkle/Brave-Browser/stable-arm64/194.117/Brave-Browser-arm64.dmg", + "installer_url": "https://updates-cdn.bravesoftware.com/sparkle/Brave-Browser/stable-arm64/194.119/Brave-Browser-arm64.dmg", "install_script_ref": "32bb30f2", "uninstall_script_ref": "9a376609", - "sha256": "b2c57075f6c047c0f849abee965c124b43909b4d93e350a85f7f5dae12a48db1", + "sha256": "c565e36a86eb5215fefaa9dcef689cce653da94e74aa0e880e2d74090a5d6586", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/chatgpt/darwin.json b/ee/maintained-apps/outputs/chatgpt/darwin.json index 0fb5dc26d8c..f993a831309 100644 --- a/ee/maintained-apps/outputs/chatgpt/darwin.json +++ b/ee/maintained-apps/outputs/chatgpt/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "26.831.21537", + "version": "26.901.20858", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.chat';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.chat' AND version_compare(bundle_short_version, '26.831.21537') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.chat' AND version_compare(bundle_short_version, '26.901.20858') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.openai.chat' AND a.bundle_executable != '');" }, - "installer_url": "https://persistent.oaistatic.com/codex-app-prod/ChatGPT-darwin-arm64-26.831.21537.zip", + "installer_url": "https://persistent.oaistatic.com/codex-app-prod/ChatGPT-darwin-arm64-26.901.20858.zip", "install_script_ref": "cbce2d7d", "uninstall_script_ref": "678e6cf0", - "sha256": "24ab719dcd61b00a444d1f023023797182832515140cf445991aefeb3162ca04", + "sha256": "c8cab4ba07ff1852b5eeb11a7e077adba48e28fe8faada158eaa5edca90f0062", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/claude/darwin.json b/ee/maintained-apps/outputs/claude/darwin.json index 45613153bd1..8885211f5ae 100644 --- a/ee/maintained-apps/outputs/claude/darwin.json +++ b/ee/maintained-apps/outputs/claude/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.44121.0", + "version": "1.44121.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop' AND version_compare(bundle_short_version, '1.44121.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop' AND version_compare(bundle_short_version, '1.44121.1') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.anthropic.claudefordesktop' AND a.bundle_executable != '');" }, - "installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.44121.0/Claude-a670de389e37e5e93692c0aedf350fe0d2cde4c1.zip", + "installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.44121.1/Claude-0ec430f50bec1d22b305d1a7bf0a51c66796611b.zip", "install_script_ref": "98321e4d", "uninstall_script_ref": "421baa98", - "sha256": "e7afee3030bbda0c99c2d9b160a1b2b6929d0e7070cbff6e24c3ac67ba4134a6", + "sha256": "8889df41889923b209c1eeb83598cd53f3629ab37376d3d86ca14236d7c4d33e", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/clion/darwin.json b/ee/maintained-apps/outputs/clion/darwin.json index 9764ef06737..4751dc7a244 100644 --- a/ee/maintained-apps/outputs/clion/darwin.json +++ b/ee/maintained-apps/outputs/clion/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "2026.2.1", + "version": "2026.2.2", "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.1') < 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.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.jetbrains.CLion' AND a.bundle_executable != '');" }, - "installer_url": "https://download.jetbrains.com/cpp/CLion-2026.2.1-aarch64.dmg", + "installer_url": "https://download.jetbrains.com/cpp/CLion-2026.2.2-aarch64.dmg", "install_script_ref": "402571cd", - "uninstall_script_ref": "9c00be7f", - "sha256": "5017110b817f95aa2128658e0cd069b16935be85c0585f6e01b4fadd6fc663d3", + "uninstall_script_ref": "9b8a34db", + "sha256": "514fd03e52d3f101fc798f87f08deec216beac864b6a78b04f9095e15d5ae898", "default_categories": [ "Developer tools" ] @@ -18,6 +18,6 @@ ], "refs": { "402571cd": "#!/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.jetbrains.CLion'\nif [ -d \"$APPDIR/CLion.app\" ]; then\n\tsudo mv \"$APPDIR/CLion.app\" \"$TMPDIR/CLion.app.bkp\" || exit $?\nfi\nif ! sudo cp -R \"$TMPDIR/CLion.app\" \"$APPDIR\"; then\n\t# remove the partial copy so a failed install isn't inventoried as the new\n\t# version, then restore the previous version if there was one\n\tsudo rm -rf \"$APPDIR/CLion.app\"\n\tif [ -d \"$TMPDIR/CLion.app.bkp\" ]; then\n\t\tsudo mv \"$TMPDIR/CLion.app.bkp\" \"$APPDIR/CLion.app\"\n\tfi\n\texit 1\nfi\nrelaunch_application 'com.jetbrains.CLion'\n", - "9c00be7f": "#!/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\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\nsudo rm -rf \"$APPDIR/CLion.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'\n" + "9b8a34db": "#!/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.jetbrains.CLion'\nsudo rm -rf \"$APPDIR/CLion.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'\n" } } diff --git a/ee/maintained-apps/outputs/clockify/windows.json b/ee/maintained-apps/outputs/clockify/windows.json index 68b12959828..1b72e8a7be9 100644 --- a/ee/maintained-apps/outputs/clockify/windows.json +++ b/ee/maintained-apps/outputs/clockify/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "2.2.6", + "version": "2.3.0", "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.6') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Clockify' AND publisher = 'CAKE.com Inc.' AND version_compare(version, '2.3.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'clockify desktop.exe');" }, "installer_url": "https://clockify.me/downloads/clockify-setup.msi", "install_script_ref": "22e48c46", "uninstall_script_ref": "f7f14087", - "sha256": "63583823ae346ba6cfdb7bbc639c9e6052107dd3876ff39009f8863e15792c08", + "sha256": "89c3630988ae8711398ce87606461d1fb50803de6445554d6f9bfba9c99cf6f4", "default_categories": [ "Productivity" ], diff --git a/ee/maintained-apps/outputs/dbeaver-community/windows.json b/ee/maintained-apps/outputs/dbeaver-community/windows.json index 33a2e55b0d0..b21a5f1eae8 100644 --- a/ee/maintained-apps/outputs/dbeaver-community/windows.json +++ b/ee/maintained-apps/outputs/dbeaver-community/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "26.1.5", + "version": "26.2.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'DBeaver %' AND publisher = 'DBeaver Corp';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'DBeaver %' AND publisher = 'DBeaver Corp' AND version_compare(version, '26.1.5') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'DBeaver %' AND publisher = 'DBeaver Corp' AND version_compare(version, '26.2.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'dbeaver.exe');" }, - "installer_url": "https://github.com/dbeaver/dbeaver/releases/download/26.1.5/dbeaver-ce-26.1.5-windows-x86_64.exe", + "installer_url": "https://github.com/dbeaver/dbeaver/releases/download/26.2.0/dbeaver-ce-26.2.0-windows-x86_64.exe", "install_script_ref": "44838cfb", "uninstall_script_ref": "7c58ef20", - "sha256": "949712159583714e020233099ac2fbb96572b939935e59b5d8de1d8de9dd56bc", + "sha256": "009e8a99be478261d09fdeb40ab5ef64bfe1f5faf79288cac670164719d921d2", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/drofus/windows.json b/ee/maintained-apps/outputs/drofus/windows.json index 486948746de..22c02f23bdc 100644 --- a/ee/maintained-apps/outputs/drofus/windows.json +++ b/ee/maintained-apps/outputs/drofus/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "2.18.15.0", + "version": "2.18.16.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'dRofus %' AND publisher = 'dRofus AS';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'dRofus %' AND publisher = 'dRofus AS' AND version_compare(version, '2.18.15.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'dRofus %' AND publisher = 'dRofus AS' AND version_compare(version, '2.18.16.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'drofus.exe');" }, - "installer_url": "https://deploy.drofus.com/stable/drofus-setup-2.18.15.msi", + "installer_url": "https://deploy.drofus.com/stable/drofus-setup-2.18.16.msi", "install_script_ref": "22e48c46", "uninstall_script_ref": "72356dd1", - "sha256": "3a4336f144911fade2494718bd1be96543bd36ec5ab7bc32a943f64fb7829e41", + "sha256": "673999bc427c168592c6e9cc773323f0e918bf40a6773f56217d95d7a9ea0f9e", "default_categories": [ "Productivity" ], diff --git a/ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json b/ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json index f3dc30bfd25..3a1cfbded3f 100644 --- a/ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json +++ b/ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "11.0.32.9", + "version": "11.0.32.101", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'Eclipse Temurin JDK%' AND publisher = 'Eclipse Adoptium' AND version LIKE '11.%';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Eclipse Temurin JDK%' AND publisher = 'Eclipse Adoptium' AND version LIKE '11.%' AND version_compare(version, '11.0.32.9') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Eclipse Temurin JDK%' AND publisher = 'Eclipse Adoptium' AND version LIKE '11.%' AND version_compare(version, '11.0.32.101') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'eclipse temurin jdk 11.exe');" }, - "installer_url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.32+9/OpenJDK11U-jdk_x64_windows_hotspot_11.0.32_9.msi", + "installer_url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.32.1+1/OpenJDK11U-jdk_x64_windows_hotspot_11.0.32.1_1.msi", "install_script_ref": "22e48c46", "uninstall_script_ref": "1a3513d1", - "sha256": "f6079d2975e9b7f9707b18ec6a24841fa327aafa749b032c4ab74cdf9746b76e", + "sha256": "253989adc3097a52f81560e32986d829bdec6b949b4595a3489220f74d801cdb", "default_categories": [ "Developer tools" ], diff --git a/ee/maintained-apps/outputs/egnyte/darwin.json b/ee/maintained-apps/outputs/egnyte/darwin.json index d448dfc344f..8a74ba268d2 100644 --- a/ee/maintained-apps/outputs/egnyte/darwin.json +++ b/ee/maintained-apps/outputs/egnyte/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.19.1", + "version": "1.20.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.egnyte.DesktopApp';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.egnyte.DesktopApp' AND version_compare(bundle_short_version, '1.19.1') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.egnyte.DesktopApp' AND version_compare(bundle_short_version, '1.20.1') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.egnyte.DesktopApp' AND a.bundle_executable != '');" }, - "installer_url": "https://egnyte-cdn.egnyte.com/desktopapp/mac/en-us/1.19.1/Egnyte_1.19.1_2367.dmg", + "installer_url": "https://egnyte-cdn.egnyte.com/desktopapp/mac/en-us/1.20.1/Egnyte_1.20.1_2383.dmg", "install_script_ref": "5495db25", - "uninstall_script_ref": "5de28e16", - "sha256": "687e35bab2d54b6c979ec6002a7f09aa6259b7331a490b5173ee8b1d29a200d0", + "uninstall_script_ref": "b266c9e9", + "sha256": "81667458b6130282b5bbaedf88fc3e7c3893443d59a565458d8360c756d4e8e7", "default_categories": [ "Productivity" ] @@ -18,6 +18,6 @@ ], "refs": { "5495db25": "#!/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.egnyte.DesktopApp'\nif [ -d \"$APPDIR/Egnyte.app\" ]; then\n\tsudo mv \"$APPDIR/Egnyte.app\" \"$TMPDIR/Egnyte.app.bkp\" || exit $?\nfi\nif ! sudo cp -R \"$TMPDIR/Egnyte.app\" \"$APPDIR\"; then\n\t# remove the partial copy so a failed install isn't inventoried as the new\n\t# version, then restore the previous version if there was one\n\tsudo rm -rf \"$APPDIR/Egnyte.app\"\n\tif [ -d \"$TMPDIR/Egnyte.app.bkp\" ]; then\n\t\tsudo mv \"$TMPDIR/Egnyte.app.bkp\" \"$APPDIR/Egnyte.app\"\n\tfi\n\texit 1\nfi\nrelaunch_application 'com.egnyte.DesktopApp'\n", - "5de28e16": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\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.egnyte.DesktopLaunchHelper'\nremove_launchctl_service 'FELUD555VC.group.com.egnyte.DesktopApp.XPCBroker'\nsudo rm -rf \"$APPDIR/Egnyte.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp.FileProvider'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp.FinderHelper'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp.FinderHelper.FinderSync'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopLaunchHelper'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/FELUD555VC.group.com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.egnyte.desktopapp.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.egnyte.desktoplaunchhelper.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/felud555vc.group.com.egnyte.desktopapp.xpcbroker.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/FileProvider/com.egnyte.DesktopApp.FileProvider'\ntrash $LOGGED_IN_USER '~/Library/Caches/SentryCrash/EgnyteLaunchHelper'\ntrash $LOGGED_IN_USER '~/Library/Caches/SentryCrash/EgnyteUpgradeChecker'\ntrash $LOGGED_IN_USER '~/Library/CloudStorage/Egnyte-*'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp.FileProvider'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp.FinderHelper'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp.FinderHelper.FinderSync'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopLaunchHelper'\ntrash $LOGGED_IN_USER '~/Library/Containers/FELUD555VC.group.com.egnyte.DesktopApp.XPCBroker'\ntrash $LOGGED_IN_USER '~/Library/Group Containers/FELUD555VC.group.com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.apple.FileProvider/com.egnyte.DesktopApp.FileProvider'\n" + "b266c9e9": "#!/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\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.egnyte.DesktopLaunchHelper'\nremove_launchctl_service 'FELUD555VC.group.com.egnyte.DesktopApp.XPCBroker'\nquit_application 'com.egnyte.DesktopApp'\nquit_application 'com.egnyte.DesktopApp.FinderHelper'\nquit_application 'com.egnyte.UpgradeChecker'\nsudo rm -rf \"$APPDIR/Egnyte.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp.FileProvider'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp.FinderHelper'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopApp.FinderHelper.FinderSync'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/com.egnyte.DesktopLaunchHelper'\ntrash $LOGGED_IN_USER '~/Library/Application Scripts/FELUD555VC.group.com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.egnyte.desktopapp.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.egnyte.desktoplaunchhelper.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/felud555vc.group.com.egnyte.desktopapp.xpcbroker.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/FileProvider/com.egnyte.DesktopApp.FileProvider'\ntrash $LOGGED_IN_USER '~/Library/Caches/SentryCrash/EgnyteLaunchHelper'\ntrash $LOGGED_IN_USER '~/Library/Caches/SentryCrash/EgnyteUpgradeChecker'\ntrash $LOGGED_IN_USER '~/Library/CloudStorage/Egnyte-*'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp.FileProvider'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp.FinderHelper'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopApp.FinderHelper.FinderSync'\ntrash $LOGGED_IN_USER '~/Library/Containers/com.egnyte.DesktopLaunchHelper'\ntrash $LOGGED_IN_USER '~/Library/Containers/FELUD555VC.group.com.egnyte.DesktopApp.XPCBroker'\ntrash $LOGGED_IN_USER '~/Library/Group Containers/FELUD555VC.group.com.egnyte.DesktopApp'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.apple.FileProvider/com.egnyte.DesktopApp.FileProvider'\n" } } diff --git a/ee/maintained-apps/outputs/extradock/darwin.json b/ee/maintained-apps/outputs/extradock/darwin.json index c7a0a8f5c4b..dc32badd4ef 100644 --- a/ee/maintained-apps/outputs/extradock/darwin.json +++ b/ee/maintained-apps/outputs/extradock/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "4.3.11", + "version": "4.3.12", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'dignicy.extraDock';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'dignicy.extraDock' AND version_compare(bundle_short_version, '4.3.11') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'dignicy.extraDock' AND version_compare(bundle_short_version, '4.3.12') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'dignicy.extraDock' AND a.bundle_executable != '');" }, - "installer_url": "https://github.com/AppitStudio/extra-dock-updates/releases/download/v4.3.11/extraDock.dmg", + "installer_url": "https://github.com/AppitStudio/extra-dock-updates/releases/download/v4.3.12/extraDock.dmg", "install_script_ref": "b1d54782", "uninstall_script_ref": "39871f56", - "sha256": "83d5fbcba657d014bd9bd60d151d932b0313bbebb3003f00112ebf7284b00ebd", + "sha256": "7b02f5915f401a18a18a6af4d2f28ee3a5a81583db6c63eac66d57a9eda78b61", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/firefox@developer-edition/darwin.json b/ee/maintained-apps/outputs/firefox@developer-edition/darwin.json index 17271fb4027..170890f33b6 100644 --- a/ee/maintained-apps/outputs/firefox@developer-edition/darwin.json +++ b/ee/maintained-apps/outputs/firefox@developer-edition/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "156.0b1", + "version": "156.0b2", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefoxdeveloperedition';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefoxdeveloperedition' AND version_compare(bundle_version, '15626.8.31') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefoxdeveloperedition' AND version_compare(bundle_version, '15626.9.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'org.mozilla.firefoxdeveloperedition' AND a.bundle_executable != '');" }, - "installer_url": "https://download-installer.cdn.mozilla.net/pub/devedition/releases/156.0b1/mac/en-US/Firefox%20156.0b1.dmg", + "installer_url": "https://download-installer.cdn.mozilla.net/pub/devedition/releases/156.0b2/mac/en-US/Firefox%20156.0b2.dmg", "install_script_ref": "b679ecd7", "uninstall_script_ref": "292c5733", - "sha256": "f064d1f8c61b27789553a70e7f3bbe2f7326a681e2afe87fedaa5c169f79cd2e", + "sha256": "cd67a70478ff9c5cb352a3c01d5b07574aac331911ceb787258b285e52239882", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/firefox@esr/windows.json b/ee/maintained-apps/outputs/firefox@esr/windows.json index 4ef509d70c2..2d06cb19105 100644 --- a/ee/maintained-apps/outputs/firefox@esr/windows.json +++ b/ee/maintained-apps/outputs/firefox@esr/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "153.1.0", + "version": "153.2.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, '153.1.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.2.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'mozilla firefox esr.exe');" }, - "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/153.1.0esr/win64/en-US/Firefox%20Setup%20153.1.0esr.exe", + "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/153.2.0esr/win64/en-US/Firefox%20Setup%20153.2.0esr.exe", "install_script_ref": "ca7ecb64", "uninstall_script_ref": "5dc712f7", - "sha256": "874cc845c7020b46f0a64a8422129322b19360a46b1e4a72cd22169e9cadd022", + "sha256": "1b9cd123f17b9a06eddcd1d7f971c87aba426c80329810707613488ce5d0a28a", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/firefox@nightly/darwin.json b/ee/maintained-apps/outputs/firefox@nightly/darwin.json index 67a6b15f3bb..15a7f5fa5db 100644 --- a/ee/maintained-apps/outputs/firefox@nightly/darwin.json +++ b/ee/maintained-apps/outputs/firefox@nightly/darwin.json @@ -4,13 +4,13 @@ "version": "157.0a1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.nightly';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.nightly' AND version_compare(bundle_version, '15726.9.1') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.nightly' AND version_compare(bundle_version, '15726.9.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'org.mozilla.nightly' AND a.bundle_executable != '');" }, - "installer_url": "https://ftp.mozilla.org/pub/firefox/nightly/2026/09/2026-09-01-21-50-37-mozilla-central/firefox-157.0a1.en-US.mac.dmg", + "installer_url": "https://ftp.mozilla.org/pub/firefox/nightly/2026/09/2026-09-02-08-43-07-mozilla-central/firefox-157.0a1.en-US.mac.dmg", "install_script_ref": "d9c4cf87", "uninstall_script_ref": "0661f848", - "sha256": "5ef0f7c58dca23e29d356ad5d9cb45f0966af2c600cbb229eb6f9ac8600ee507", + "sha256": "bac89b113aebfd6d2c648e429cfd833ddbec37c6742e99a19bb0cb069d1da7e8", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/firefox@nightly/windows.json b/ee/maintained-apps/outputs/firefox@nightly/windows.json index b1c7912c347..15cca263903 100644 --- a/ee/maintained-apps/outputs/firefox@nightly/windows.json +++ b/ee/maintained-apps/outputs/firefox@nightly/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "156.2608.2321.0", + "version": "157.2609.208.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Firefox Nightly' AND publisher = 'Mozilla Corporation';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Firefox Nightly' AND publisher = 'Mozilla Corporation' AND version_compare(version, '156.2608.2321.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Firefox Nightly' AND publisher = 'Mozilla Corporation' AND version_compare(version, '157.2609.208.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'mozilla firefox nightly.exe');" }, - "installer_url": "https://ftp.mozilla.org/pub/firefox/nightly/2026/08/2026-08-23-21-38-25-mozilla-central/firefox-156.0a1.multi.win64.installer.msix", + "installer_url": "https://ftp.mozilla.org/pub/firefox/nightly/2026/09/2026-09-02-08-43-07-mozilla-central/firefox-157.0a1.multi.win64.installer.msix", "install_script_ref": "255e7c51", "uninstall_script_ref": "f0d0fed1", - "sha256": "81550eeac20e3eb57de52db23a3a3e0a575c9ea8049ca490fdda4fe43fe5c27d", + "sha256": "9457416db97ea23d66a377baaccaa5a06f9e4305e50e46a9c0d7feac01b30811", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/github/darwin.json b/ee/maintained-apps/outputs/github/darwin.json index 6c7f49afacb..314937ed2d5 100644 --- a/ee/maintained-apps/outputs/github/darwin.json +++ b/ee/maintained-apps/outputs/github/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "3.6.4", + "version": "3.6.5", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.github.GitHubClient';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.github.GitHubClient' AND version_compare(bundle_short_version, '3.6.4') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.github.GitHubClient' AND version_compare(bundle_short_version, '3.6.5') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.github.GitHubClient' AND a.bundle_executable != '');" }, - "installer_url": "https://desktop.githubusercontent.com/releases/3.6.4-28955b81/GitHubDesktop-arm64.zip", + "installer_url": "https://desktop.githubusercontent.com/releases/3.6.5-13b57bd2/GitHubDesktop-arm64.zip", "install_script_ref": "7ed6a869", "uninstall_script_ref": "642b60ca", - "sha256": "ff99e90964b866af854eb4c0701020bf2b2e209fe06d0ba28308836ec2e34106", + "sha256": "038e3b483d83896612f2322d0c4a8110d6b2af2d8f8f2e9cd8dfa7fe894de315", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/gitkraken/darwin.json b/ee/maintained-apps/outputs/gitkraken/darwin.json index f680080aae3..fe1799ff659 100644 --- a/ee/maintained-apps/outputs/gitkraken/darwin.json +++ b/ee/maintained-apps/outputs/gitkraken/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "12.4.0", + "version": "12.4.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.axosoft.gitkraken';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.axosoft.gitkraken' AND version_compare(bundle_short_version, '12.4.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.axosoft.gitkraken' AND version_compare(bundle_short_version, '12.4.1') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.axosoft.gitkraken' AND a.bundle_executable != '');" }, - "installer_url": "https://api.gitkraken.dev/releases/production/darwin/arm64/12.4.0/GitKraken-v12.4.0.zip", + "installer_url": "https://api.gitkraken.dev/releases/production/darwin/arm64/12.4.1/GitKraken-v12.4.1.zip", "install_script_ref": "d255d46a", "uninstall_script_ref": "da9e6343", - "sha256": "c7aec6ea8a5469d8f7d541866f8357aa22c4a813580ea20d085663e8840f8b1b", + "sha256": "c6180c11da66fc0af393ac0c2efbd81e475528feb9b06525336c07d221af7f4a", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/grammarly-desktop/darwin.json b/ee/maintained-apps/outputs/grammarly-desktop/darwin.json index b735d2678ca..e4713b764f7 100644 --- a/ee/maintained-apps/outputs/grammarly-desktop/darwin.json +++ b/ee/maintained-apps/outputs/grammarly-desktop/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.187.0", + "version": "1.189.2", "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.187.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.189.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.grammarly.ProjectLlama' AND a.bundle_executable != '');" }, - "installer_url": "https://download-mac.grammarly.com/versions/1.187.0.0/Grammarly.dmg", + "installer_url": "https://download-mac.grammarly.com/versions/1.189.2.0/Grammarly.dmg", "install_script_ref": "8274b7dd", "uninstall_script_ref": "7dff0961", - "sha256": "b2f6d9f833b2b18d1d3a5f1834feaaa2d8432474a62b98a37aa62a7a75e0c983", + "sha256": "cc79b6e852ec3004e3274a5759e0760c363767c362734a689bdbd4cf3c5d9359", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/kiro/windows.json b/ee/maintained-apps/outputs/kiro/windows.json index 1680d9a3f3f..b316ddc9f20 100644 --- a/ee/maintained-apps/outputs/kiro/windows.json +++ b/ee/maintained-apps/outputs/kiro/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.0.411", + "version": "1.0.437", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Kiro (User)' AND publisher = 'Amazon Web Services';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Kiro (User)' AND publisher = 'Amazon Web Services' AND version_compare(version, '1.0.411') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Kiro (User)' AND publisher = 'Amazon Web Services' AND version_compare(version, '1.0.437') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'kiro.exe');" }, - "installer_url": "https://prod.download.desktop.kiro.dev/releases/stable/win32-x64/signed/1.0.411/kiro-ide-1.0.411-stable-win32-x64.exe", + "installer_url": "https://prod.download.desktop.kiro.dev/releases/stable/win32-x64/signed/1.0.437/kiro-ide-1.0.437-stable-win32-x64.exe", "install_script_ref": "c5bc3c21", "uninstall_script_ref": "afe8f2fa", - "sha256": "03336ef702f69e4d915587cb39f1c0ce9420ad52fe1174c06876574fdec16b49", + "sha256": "259dd84d4c2fc2ce5b19d51ebf05ca89c9e7b4cd758625aa4c2fb3e386c97f48", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/lens/darwin.json b/ee/maintained-apps/outputs/lens/darwin.json index 9a8076276e2..86059f940a2 100644 --- a/ee/maintained-apps/outputs/lens/darwin.json +++ b/ee/maintained-apps/outputs/lens/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "2026.8.270956-latest", + "version": "2026.9.20601-latest", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.kontena-lens';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.kontena-lens' AND version_compare(bundle_short_version, '2026.8.270956-latest') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.kontena-lens' AND version_compare(bundle_short_version, '2026.9.20601-latest') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.electron.kontena-lens' AND a.bundle_executable != '');" }, - "installer_url": "https://api.k8slens.dev/binaries/Lens-2026.8.270956-latest-arm64.dmg", + "installer_url": "https://api.k8slens.dev/binaries/Lens-2026.9.20601-latest-arm64.dmg", "install_script_ref": "347d280a", "uninstall_script_ref": "ea665c04", - "sha256": "54df5d44ac3e709808c90a9a89e7c64c52a0b005a5d767710fbc26770cc0ddf5", + "sha256": "62679820a44362672030021076938aebb04c36281d94375bc9279970ee4a7e48", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/macwhisper/darwin.json b/ee/maintained-apps/outputs/macwhisper/darwin.json index 12bdec607a6..d8ab7bbe3f6 100644 --- a/ee/maintained-apps/outputs/macwhisper/darwin.json +++ b/ee/maintained-apps/outputs/macwhisper/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "14.8", + "version": "14.8.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.goodsnooze.MacWhisper';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.goodsnooze.MacWhisper' AND version_compare(bundle_short_version, '14.8') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.goodsnooze.MacWhisper' AND version_compare(bundle_short_version, '14.8.1') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.goodsnooze.MacWhisper' AND a.bundle_executable != '');" }, - "installer_url": "https://cdn.macwhisper.com/macwhisper/MacWhisper-1480.zip", + "installer_url": "https://cdn.macwhisper.com/macwhisper/MacWhisper-1481.zip", "install_script_ref": "15cfdede", "uninstall_script_ref": "ce1ae6ca", - "sha256": "c57df1b91268d78c81e64fbfa83f9b23fbd9e33d398c9a33319f57d599b74a16", + "sha256": "b0d6525d5f65b311991b0e60a9d37f38f9086941b47c867faee2800c95c5eb28", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/marked-app/darwin.json b/ee/maintained-apps/outputs/marked-app/darwin.json index d0ec92f2927..2afab8a1bfc 100644 --- a/ee/maintained-apps/outputs/marked-app/darwin.json +++ b/ee/maintained-apps/outputs/marked-app/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "3.2.2", + "version": "3.2.3", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.brettterpstra.marked';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.brettterpstra.marked' AND version_compare(bundle_short_version, '3.2.2') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.brettterpstra.marked' AND version_compare(bundle_short_version, '3.2.3') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.brettterpstra.marked' AND a.bundle_executable != '');" }, - "installer_url": "https://updates.markedapp.com/updates/Marked%203.2.2-1216.zip", + "installer_url": "https://updates.markedapp.com/updates/Marked%203.2.3-1217.zip", "install_script_ref": "23ea6da3", "uninstall_script_ref": "57b4bcf2", - "sha256": "b68e2469d787a754173a9c73086d47d7f8667da3ee1f4596da34f0481bcf6905", + "sha256": "3136c8722430b3eec0cd3ecd430b6bb02cd949e94857ae058be0e4002a998cf4", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/ocenaudio/darwin.json b/ee/maintained-apps/outputs/ocenaudio/darwin.json index a1af3aea66e..67f09173273 100644 --- a/ee/maintained-apps/outputs/ocenaudio/darwin.json +++ b/ee/maintained-apps/outputs/ocenaudio/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.20.5", + "version": "3.21.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.ocenaudio';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.ocenaudio' AND version_compare(bundle_short_version, '3.20.5') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.ocenaudio' AND version_compare(bundle_short_version, '3.21.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.ocenaudio' AND a.bundle_executable != '');" }, "installer_url": "https://www.ocenaudio.com/downloads/index.php/ocenaudio_universal.dmg", "install_script_ref": "4cced93a", - "uninstall_script_ref": "ec2eba0e", + "uninstall_script_ref": "4a4117bb", "sha256": "no_check", "default_categories": [ "Productivity" @@ -17,7 +17,7 @@ } ], "refs": { - "4cced93a": "#!/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.ocenaudio'\nif [ -d \"$APPDIR/ocenaudio.app\" ]; then\n\tsudo mv \"$APPDIR/ocenaudio.app\" \"$TMPDIR/ocenaudio.app.bkp\" || exit $?\nfi\nif ! sudo cp -R \"$TMPDIR/ocenaudio.app\" \"$APPDIR\"; then\n\t# remove the partial copy so a failed install isn't inventoried as the new\n\t# version, then restore the previous version if there was one\n\tsudo rm -rf \"$APPDIR/ocenaudio.app\"\n\tif [ -d \"$TMPDIR/ocenaudio.app.bkp\" ]; then\n\t\tsudo mv \"$TMPDIR/ocenaudio.app.bkp\" \"$APPDIR/ocenaudio.app\"\n\tfi\n\texit 1\nfi\nrelaunch_application 'com.ocenaudio'\n", - "ec2eba0e": "#!/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\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\nsudo rm -rf \"$APPDIR/ocenaudio.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/ocenaudio'\ntrash $LOGGED_IN_USER '~/Library/Caches/ocenaudio'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.ocenaudio.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.ocenaudio.savedState'\n" + "4a4117bb": "#!/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.ocenaudio'\nsudo rm -rf \"$APPDIR/ocenaudio.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/ocenaudio'\ntrash $LOGGED_IN_USER '~/Library/Caches/ocenaudio'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.ocenaudio.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.ocenaudio.savedState'\n", + "4cced93a": "#!/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.ocenaudio'\nif [ -d \"$APPDIR/ocenaudio.app\" ]; then\n\tsudo mv \"$APPDIR/ocenaudio.app\" \"$TMPDIR/ocenaudio.app.bkp\" || exit $?\nfi\nif ! sudo cp -R \"$TMPDIR/ocenaudio.app\" \"$APPDIR\"; then\n\t# remove the partial copy so a failed install isn't inventoried as the new\n\t# version, then restore the previous version if there was one\n\tsudo rm -rf \"$APPDIR/ocenaudio.app\"\n\tif [ -d \"$TMPDIR/ocenaudio.app.bkp\" ]; then\n\t\tsudo mv \"$TMPDIR/ocenaudio.app.bkp\" \"$APPDIR/ocenaudio.app\"\n\tfi\n\texit 1\nfi\nrelaunch_application 'com.ocenaudio'\n" } } diff --git a/ee/maintained-apps/outputs/onedrive/darwin.json b/ee/maintained-apps/outputs/onedrive/darwin.json index 44f6e5dac16..def58d1a9eb 100644 --- a/ee/maintained-apps/outputs/onedrive/darwin.json +++ b/ee/maintained-apps/outputs/onedrive/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "26.145.0728", + "version": "26.150.0804", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.OneDrive';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.OneDrive' AND version_compare(bundle_short_version, '26.145.0728') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.OneDrive' AND version_compare(bundle_short_version, '26.150.0804') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.microsoft.OneDrive' AND a.bundle_executable != '');" }, - "installer_url": "https://oneclient.sfx.ms/Mac/Installers/26.145.0728.0011/universal/OneDrive.pkg", + "installer_url": "https://oneclient.sfx.ms/Mac/Installers/26.150.0804.0011/universal/OneDrive.pkg", "install_script_ref": "dce2d064", "uninstall_script_ref": "b1c16fe2", - "sha256": "d47b1a3c34221f6de9cfa001faeb109e4c1a518dca4f88d18d21b5731344c463", + "sha256": "e718dda687b08d1c908d4aa43a20fcb987e07e897d4f255adec5487f49593265", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/podman-desktop/darwin.json b/ee/maintained-apps/outputs/podman-desktop/darwin.json index 5aaead0707c..6510891c78e 100644 --- a/ee/maintained-apps/outputs/podman-desktop/darwin.json +++ b/ee/maintained-apps/outputs/podman-desktop/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.29.1", + "version": "1.29.3", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'io.podmandesktop.PodmanDesktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'io.podmandesktop.PodmanDesktop' AND version_compare(bundle_short_version, '1.29.1') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'io.podmandesktop.PodmanDesktop' AND version_compare(bundle_short_version, '1.29.3') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'io.podmandesktop.PodmanDesktop' AND a.bundle_executable != '');" }, - "installer_url": "https://github.com/containers/podman-desktop/releases/download/v1.29.1/podman-desktop-1.29.1-arm64.dmg", + "installer_url": "https://github.com/containers/podman-desktop/releases/download/v1.29.3/podman-desktop-1.29.3-arm64.dmg", "install_script_ref": "e5a669f0", "uninstall_script_ref": "d4656e95", - "sha256": "8521dbfe1b22e5f9d9c46f613f0b576263494c7e8a8ab60cd8347e46aae3930b", + "sha256": "9cf9b228da2cf95ee76a7c0435920ea8f71cdca75785a10bc6eb3cd303f68ba2", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/snagit/darwin.json b/ee/maintained-apps/outputs/snagit/darwin.json index 16f899b1eb6..97cbdd0f460 100644 --- a/ee/maintained-apps/outputs/snagit/darwin.json +++ b/ee/maintained-apps/outputs/snagit/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "2026.3.1", + "version": "2026.3.2", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.TechSmith.Snagit';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.TechSmith.Snagit' AND version_compare(bundle_short_version, '2026.3.1') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.TechSmith.Snagit' AND version_compare(bundle_short_version, '2026.3.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.TechSmith.Snagit' AND a.bundle_executable != '');" }, - "installer_url": "https://download.techsmith.com/snagitmac/releases/2026.3.1/snagit.dmg", + "installer_url": "https://download.techsmith.com/snagitmac/releases/2026.3.2/snagit.dmg", "install_script_ref": "8831f4b5", "uninstall_script_ref": "59bfdeae", - "sha256": "7d9f261246b4885cb89b489a989d15ddb0302be11ba3518290b893f52fb0ca92", + "sha256": "13334f8d9eb1d70f9ff63ff0cba0e8e6d27c1cee93baccee433eed8977dd14db", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/spotify/windows.json b/ee/maintained-apps/outputs/spotify/windows.json index 73e29b76e56..bbe97c1e2e8 100644 --- a/ee/maintained-apps/outputs/spotify/windows.json +++ b/ee/maintained-apps/outputs/spotify/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.2.97.270.ge94a76a2", + "version": "1.2.98.301.gfcaeba72", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Spotify' AND publisher = 'Spotify AB';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Spotify' AND publisher = 'Spotify AB' AND version_compare(version, '1.2.97.270.ge94a76a2') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Spotify' AND publisher = 'Spotify AB' AND version_compare(version, '1.2.98.301.gfcaeba72') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) IN ('spotify.exe','spotifywebhelper.exe'));" }, "installer_url": "https://download.scdn.co/SpotifyFullSetupX64.exe", "install_script_ref": "7e4727ac", "uninstall_script_ref": "48d55e3d", - "sha256": "11712acbd5bff68c3d69c7906ae54eda89e13429791da535db841280fa44715a", + "sha256": "29022d43eb9020e355f88c7a5a2a0042e84f9df3ef6b566d66bdab3030855cb5", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/tableplus/windows.json b/ee/maintained-apps/outputs/tableplus/windows.json index bea6456509e..262937cca31 100644 --- a/ee/maintained-apps/outputs/tableplus/windows.json +++ b/ee/maintained-apps/outputs/tableplus/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "26.10.0", + "version": "26.10.1", "queries": { "exists": "SELECT 1 FROM programs WHERE name LIKE 'TablePlus%' AND publisher = 'TablePlus, Inc';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'TablePlus%' AND publisher = 'TablePlus, Inc' AND version_compare(version, '26.10.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'TablePlus%' AND publisher = 'TablePlus, Inc' AND version_compare(version, '26.10.1') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'tableplus.exe');" }, - "installer_url": "https://files.tableplus.com/windows/26.10.0/TablePlusSetup.exe", + "installer_url": "https://files.tableplus.com/windows/26.10.1/TablePlusSetup.exe", "install_script_ref": "052dc935", "uninstall_script_ref": "8bfcecd6", - "sha256": "a99d2412c94913495d1f611c41038c004315ecdda2042e0833ea28bbbadeae0c", + "sha256": "0f6793dd5b3e34ca25fa7416a1942ddab8376d9df9eece8913f906362e98f0c0", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/unity-hub/darwin.json b/ee/maintained-apps/outputs/unity-hub/darwin.json index 39e64f14f27..7b1318a2432 100644 --- a/ee/maintained-apps/outputs/unity-hub/darwin.json +++ b/ee/maintained-apps/outputs/unity-hub/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "3.21.0", + "version": "3.21.1", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.unity3d.unityhub';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.unity3d.unityhub' AND version_compare(bundle_short_version, '3.21.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.unity3d.unityhub' AND version_compare(bundle_short_version, '3.21.1') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.unity3d.unityhub' AND a.bundle_executable != '');" }, - "installer_url": "https://public-cdn.cloud.unity3d.com/hub/prod/3.21.0/UnityHubSetup-3.21.0-arm64.dmg", + "installer_url": "https://public-cdn.cloud.unity3d.com/hub/prod/3.21.1/UnityHubSetup-3.21.1-arm64.dmg", "install_script_ref": "f7867145", "uninstall_script_ref": "5b95ff58", - "sha256": "e4e6e913a9b24a670beff23f3838c2ca28aa826a57e4424b71d1cb2d5d12e5f0", + "sha256": "8aa37701d42db5acecf5fe89c34ff8a0ef2851582024755e7d47ab82cbeeb2e5", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/visual-studio-code/darwin.json b/ee/maintained-apps/outputs/visual-studio-code/darwin.json index e4ee79ab92e..bef8916e06e 100644 --- a/ee/maintained-apps/outputs/visual-studio-code/darwin.json +++ b/ee/maintained-apps/outputs/visual-studio-code/darwin.json @@ -1,13 +1,13 @@ { "versions": [ { - "version": "1.135.0", + "version": "1.136.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.VSCode';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.VSCode' AND version_compare(bundle_short_version, '1.135.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.VSCode' AND version_compare(bundle_short_version, '1.136.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.microsoft.VSCode' AND a.bundle_executable != '');" }, - "installer_url": "https://update.code.visualstudio.com/1.135.0/darwin-universal/stable", + "installer_url": "https://update.code.visualstudio.com/1.136.0/darwin-universal/stable", "install_script_ref": "58ade691", "uninstall_script_ref": "38d65803", "sha256": "no_check", diff --git a/ee/maintained-apps/outputs/visual-studio-code/windows.json b/ee/maintained-apps/outputs/visual-studio-code/windows.json index 6ca40b87a95..456b69028d8 100644 --- a/ee/maintained-apps/outputs/visual-studio-code/windows.json +++ b/ee/maintained-apps/outputs/visual-studio-code/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.135.0", + "version": "1.136.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Microsoft Visual Studio Code' AND publisher = 'Microsoft Corporation';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Microsoft Visual Studio Code' AND publisher = 'Microsoft Corporation' AND version_compare(version, '1.135.0') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Microsoft Visual Studio Code' AND publisher = 'Microsoft Corporation' AND version_compare(version, '1.136.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'code.exe');" }, - "installer_url": "https://vscode.download.prss.microsoft.com/dbazure/download/stable/08d4889f9ec4a1685d257b9b95de036c8e1ce1e5/VSCodeSetup-x64-1.135.0.exe", + "installer_url": "https://vscode.download.prss.microsoft.com/dbazure/download/stable/520fb30b2d3d324b4cb2342f6e88e2cd93751de1/VSCodeSetup-x64-1.136.0.exe", "install_script_ref": "49122823", "uninstall_script_ref": "e09509e2", - "sha256": "91cc59509d5d0e2f0829525fb39197f26289e9a3c1079ea0ee5ca848de083e5f", + "sha256": "a973b24b3f4479bf54ba2693a9f9e50e7254deab147220ea0e15ef974a66b098", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/wispr-flow/darwin.json b/ee/maintained-apps/outputs/wispr-flow/darwin.json index 951760f32e3..209d47c1665 100644 --- a/ee/maintained-apps/outputs/wispr-flow/darwin.json +++ b/ee/maintained-apps/outputs/wispr-flow/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.6.721", + "version": "1.6.765", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.wispr-flow';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.wispr-flow' AND version_compare(bundle_short_version, '1.6.721') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.wispr-flow' AND version_compare(bundle_short_version, '1.6.765') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.electron.wispr-flow' AND a.bundle_executable != '');" }, - "installer_url": "https://dl.wisprflow.com/wispr-flow/darwin/arm64/dmgs/Flow-v1.6.721.dmg", + "installer_url": "https://dl.wisprflow.com/wispr-flow/darwin/arm64/dmgs/Flow-v1.6.765.dmg", "install_script_ref": "a95fa7bb", "uninstall_script_ref": "e0cf2e96", - "sha256": "4da33ea4a6150ff142d963c566f238242f10f3c531683965d68cc68220f138d4", + "sha256": "13cf2d145716bd76edcc5fe900cc826c8afa142c0966fdb0ab473d492e03cb19", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/wrike/darwin.json b/ee/maintained-apps/outputs/wrike/darwin.json index 2ef680acc19..1aecb0caf05 100644 --- a/ee/maintained-apps/outputs/wrike/darwin.json +++ b/ee/maintained-apps/outputs/wrike/darwin.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "4.6.1", + "version": "4.6.2", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.wrike.Wrike';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.wrike.Wrike' AND version_compare(bundle_short_version, '4.6.1') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.wrike.Wrike' AND version_compare(bundle_short_version, '4.6.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps a JOIN processes p ON p.path = concat(a.path, '/Contents/MacOS/', a.bundle_executable) WHERE a.bundle_identifier = 'com.wrike.Wrike' AND a.bundle_executable != '');" }, - "installer_url": "https://dl.wrike.com/download/WrikeDesktopApp_ARM.v4.6.1.dmg", + "installer_url": "https://dl.wrike.com/download/WrikeDesktopApp_ARM.v4.6.2.dmg", "install_script_ref": "db0938a2", "uninstall_script_ref": "89651e32", - "sha256": "4bfe955f8421b5e44770a24481970402856c9f7b3408a89cbfc11495472577a2", + "sha256": "b8796829ac6d884df0bd65e9f5b399375c827852dbb51cfdd4420a091194c9bd", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/wrike/windows.json b/ee/maintained-apps/outputs/wrike/windows.json index ae6f9bf7f76..d3b91fb191e 100644 --- a/ee/maintained-apps/outputs/wrike/windows.json +++ b/ee/maintained-apps/outputs/wrike/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "4.6.1", + "version": "4.6.2", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Wrike for Windows (64 bit)' AND publisher = 'Wrike.com';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Wrike for Windows (64 bit)' AND publisher = 'Wrike.com' AND version_compare(version, '4.6.1') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Wrike for Windows (64 bit)' AND publisher = 'Wrike.com' AND version_compare(version, '4.6.2') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'wrike.exe');" }, - "installer_url": "https://dl.wrike.com/download/WrikeDesktopApp_64.v4.6.1.msi", + "installer_url": "https://dl.wrike.com/download/WrikeDesktopApp_64.v4.6.2.msi", "install_script_ref": "22e48c46", "uninstall_script_ref": "7675fa72", - "sha256": "6624ff075da777650d5cf72c25cd734d3ab75be38a4b858b0dec23cc4aa9e5da", + "sha256": "4acad0a8da31d549b05116e7511e54a78b550353dbdea9a24e62018cc1dfb2ba", "default_categories": [ "Productivity" ], diff --git a/ee/maintained-apps/outputs/zed/windows.json b/ee/maintained-apps/outputs/zed/windows.json index 9b758224cec..93cb00609e2 100644 --- a/ee/maintained-apps/outputs/zed/windows.json +++ b/ee/maintained-apps/outputs/zed/windows.json @@ -1,16 +1,16 @@ { "versions": [ { - "version": "1.17.2", + "version": "1.18.0", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Zed' AND publisher = 'Zed Industries';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Zed' AND publisher = 'Zed Industries' AND version_compare(version, '1.17.2') < 0);", + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Zed' AND publisher = 'Zed Industries' AND version_compare(version, '1.18.0') < 0);", "open": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM processes WHERE LOWER(name) = 'zed.exe');" }, - "installer_url": "https://github.com/zed-industries/zed/releases/download/v1.17.2/Zed-x86_64.exe", + "installer_url": "https://github.com/zed-industries/zed/releases/download/v1.18.0/Zed-x86_64.exe", "install_script_ref": "e5193bc1", "uninstall_script_ref": "3b164442", - "sha256": "4ece660b71e6b7904970027cda0c574b547555c9fb745972ed154f69c1ba3692", + "sha256": "375f5ab35d7d1ea974fac48de83967f5fad1c10be0b0bbe86dc70d52e2e81146", "default_categories": [ "Developer tools" ]