From 9a743b056d4f001e13e4df99faa1e7d2c6e9e170 Mon Sep 17 00:00:00 2001 From: allenhouchins <32207388+allenhouchins@users.noreply.github.com> Date: Thu, 25 Jun 2026 20:43:51 +0000 Subject: [PATCH] Update Fleet-maintained apps. Generated automatically with cmd/maintained-apps. --- .../outputs/a-better-finder-rename/darwin.json | 4 ++-- .../outputs/adobe-acrobat-reader/windows.json | 8 ++++---- ee/maintained-apps/outputs/arc/darwin.json | 8 ++++---- ee/maintained-apps/outputs/bitwarden/darwin.json | 8 ++++---- .../outputs/citrix-workspace/darwin.json | 16 ++++++++-------- ee/maintained-apps/outputs/claude/darwin.json | 8 ++++---- ee/maintained-apps/outputs/codex-app/darwin.json | 8 ++++---- .../outputs/copilot-money/darwin.json | 8 ++++---- ee/maintained-apps/outputs/firefox/darwin.json | 8 ++++---- ee/maintained-apps/outputs/firefox/windows.json | 8 ++++---- ee/maintained-apps/outputs/github/darwin.json | 8 ++++---- ee/maintained-apps/outputs/granola/darwin.json | 8 ++++---- ee/maintained-apps/outputs/iina/darwin.json | 8 ++++---- .../outputs/libreoffice/darwin.json | 8 ++++---- .../outputs/modern-csv/darwin.json | 8 ++++---- ee/maintained-apps/outputs/webex/windows.json | 8 ++++---- ee/maintained-apps/outputs/workflowy/darwin.json | 8 ++++---- 17 files changed, 70 insertions(+), 70 deletions(-) diff --git a/ee/maintained-apps/outputs/a-better-finder-rename/darwin.json b/ee/maintained-apps/outputs/a-better-finder-rename/darwin.json index a307ffe6141..dad3b9dbcf5 100644 --- a/ee/maintained-apps/outputs/a-better-finder-rename/darwin.json +++ b/ee/maintained-apps/outputs/a-better-finder-rename/darwin.json @@ -1,10 +1,10 @@ { "versions": [ { - "version": "12.30", + "version": "12.31", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'net.publicspace.abfr12';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.publicspace.abfr12' AND version_compare(bundle_short_version, '12.30') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.publicspace.abfr12' AND version_compare(bundle_short_version, '12.31') < 0);" }, "installer_url": "https://www.publicspace.net/download/ABFRX12.dmg", "install_script_ref": "1cbc7e4f", diff --git a/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json b/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json index 7a9db4fc04f..b705999c0d6 100644 --- a/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json +++ b/ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "26.001.21677", + "version": "26.001.21691", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe' AND version_compare(version, '26.001.21677') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe' AND version_compare(version, '26.001.21691') < 0);" }, - "installer_url": "https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2600121677/AcroRdrDCx642600121677_MUI.exe", + "installer_url": "https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2600121691/AcroRdrDCx642600121691_MUI.exe", "install_script_ref": "7dc0b065", "uninstall_script_ref": "3bb10c80", - "sha256": "e5b9eba7ba9584b23291f0c8f8fedf999a6fe9a94fcaa4e6a7aac557b3222a10", + "sha256": "86e25bd91cdc40ce52742d779e02d1518f2a7af873ace35046c418183f8d62b0", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/arc/darwin.json b/ee/maintained-apps/outputs/arc/darwin.json index e2bdaed1f5c..81155aed758 100644 --- a/ee/maintained-apps/outputs/arc/darwin.json +++ b/ee/maintained-apps/outputs/arc/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.152.0", + "version": "1.153.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'company.thebrowser.Browser';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'company.thebrowser.Browser' AND version_compare(bundle_short_version, '1.152.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'company.thebrowser.Browser' AND version_compare(bundle_short_version, '1.153.0') < 0);" }, - "installer_url": "https://releases.arc.net/release/Arc-1.152.0-82313.zip", + "installer_url": "https://releases.arc.net/release/Arc-1.153.0-82581.zip", "install_script_ref": "bb0dd542", "uninstall_script_ref": "a19b04fa", - "sha256": "923c610615acca13969161cd33ec3927e05f57e51466d466a357b754b4283847", + "sha256": "186ebad1925a4869530bf6de30a44f3f5fe2834c1c22ea0e6f7a946826c3993b", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/bitwarden/darwin.json b/ee/maintained-apps/outputs/bitwarden/darwin.json index 2db6c15cf8a..c2356157d9e 100644 --- a/ee/maintained-apps/outputs/bitwarden/darwin.json +++ b/ee/maintained-apps/outputs/bitwarden/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2026.5.0", + "version": "2026.6.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.5.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.bitwarden.desktop' AND version_compare(bundle_short_version, '2026.6.0') < 0);" }, - "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.5.0/Bitwarden-2026.5.0-universal.dmg", + "installer_url": "https://github.com/bitwarden/clients/releases/download/desktop-v2026.6.0/Bitwarden-2026.6.0-universal.dmg", "install_script_ref": "40a6a399", "uninstall_script_ref": "9b010a8a", - "sha256": "4c73f5ae8f95996439ec96c8cb5c12eef01d667cf8bfbe3a54a62b26b76e64e3", + "sha256": "146d0c3670ed79f3aef1562c6b6be39492969acf0bbf3fe893bf1a91d93572ec", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/citrix-workspace/darwin.json b/ee/maintained-apps/outputs/citrix-workspace/darwin.json index 1840a394e2e..60be8c6f290 100644 --- a/ee/maintained-apps/outputs/citrix-workspace/darwin.json +++ b/ee/maintained-apps/outputs/citrix-workspace/darwin.json @@ -1,22 +1,22 @@ { "versions": [ { - "version": "26.03.0", + "version": "26.03.11", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.citrix.receiver.nomas';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.citrix.receiver.nomas' AND version_compare(bundle_short_version, '26.03.0') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.citrix.receiver.nomas' AND version_compare(bundle_short_version, '26.03.11') < 0);" }, - "installer_url": "https://downloadplugins.citrix.com/ReceiverUpdates/Prod/Receiver/Mac/CitrixWorkspaceAppUniversal26.03.0.49.pkg", - "install_script_ref": "fe7ba180", - "uninstall_script_ref": "ed152120", - "sha256": "a2a2d43c779a5b3c3b19f31b0483366acf2a3609a1f953d071c88f30d4c4fd9f", + "installer_url": "https://downloadplugins.citrix.com/ReceiverUpdates/Prod/Receiver/Mac/CitrixWorkspaceAppUniversal26.03.11.41.pkg", + "install_script_ref": "f4f3e7be", + "uninstall_script_ref": "a1c686b5", + "sha256": "cfdf300d8e5ebd90d7cdb7d4bbbc3c4cabfd1c9afe29dd89274736c65eaaf699", "default_categories": [ "Productivity" ] } ], "refs": { - "ed152120": "#!/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\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 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\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.citrix.AuthManager_Mac'\nremove_launchctl_service 'com.citrix.ctxusbd'\nremove_launchctl_service 'com.citrix.CtxWorkspaceHelperDaemon'\nremove_launchctl_service 'com.citrix.ctxworkspaceupdater'\nremove_launchctl_service 'com.citrix.devicetrust.launchagent'\nremove_launchctl_service 'com.citrix.ReceiverHelper'\nremove_launchctl_service 'com.citrix.ReceiverUninstallHelper'\nremove_launchctl_service 'com.citrix.safariadapter'\nremove_launchctl_service 'com.citrix.ServiceRecords'\nremove_launchctl_service 'com.citrix.UninstallMonitor'\nquit_application 'Citrix.ServiceRecords'\nquit_application 'com.citrix.CitrixReceiverLauncher'\nquit_application 'com.citrix.receiver.nomas'\nquit_application 'com.citrix.ReceiverHelper'\nremove_pkg_files 'com.citrix.common'\nforget_pkg 'com.citrix.common'\nremove_pkg_files 'com.citrix.devicetrust.client'\nforget_pkg 'com.citrix.devicetrust.client'\nremove_pkg_files 'com.citrix.devicetrust.client.ica'\nforget_pkg 'com.citrix.devicetrust.client.ica'\nremove_pkg_files 'com.citrix.enterprisebrowserinstaller'\nforget_pkg 'com.citrix.enterprisebrowserinstaller'\nremove_pkg_files 'com.citrix.ICAClient'\nforget_pkg 'com.citrix.ICAClient'\nremove_pkg_files 'com.citrix.ICAClientcwa'\nforget_pkg 'com.citrix.ICAClientcwa'\nremove_pkg_files 'com.citrix.ICAClienthdx'\nforget_pkg 'com.citrix.ICAClienthdx'\ntrash $LOGGED_IN_USER '~/Library/Application Support/Citrix Receiver'\ntrash $LOGGED_IN_USER '~/Library/Application Support/Citrix Workspace'\ntrash $LOGGED_IN_USER '~/Library/Application Support/Citrix'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.CitrixReceiverLauncher'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.HdxRtcEngine'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.receiver*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.ReceiverUpdater'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.citrix.receiver*'\ntrash $LOGGED_IN_USER '~/Library/HTTPStorages/com.citrix.CitrixReceiverLauncher'\ntrash $LOGGED_IN_USER '~/Library/HTTPStorages/com.citrix.receiver*'\ntrash $LOGGED_IN_USER '~/Library/Logs/Citrix Workspace'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.AuthManager.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.CitrixReceiverLauncher.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.HdxRtcEngine.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.receiver*.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.Receiver*.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.citrix.receiver.nomas.savedState'\ntrash $LOGGED_IN_USER '~/Library/WebKit/com.citrix.receiver.nomas'\n", - "fe7ba180": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.citrix.receiver.nomas'\nsudo installer -pkg \"$TMPDIR/CitrixWorkspaceAppUniversal26.03.0.49.pkg\" -target /\nrelaunch_application 'com.citrix.receiver.nomas'\n" + "a1c686b5": "#!/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\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 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\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.citrix.AuthManager_Mac'\nremove_launchctl_service 'com.citrix.ctxusbd'\nremove_launchctl_service 'com.citrix.CtxWorkspaceHelperDaemon'\nremove_launchctl_service 'com.citrix.ctxworkspaceupdater'\nremove_launchctl_service 'com.citrix.devicetrust.launchagent'\nremove_launchctl_service 'com.citrix.ReceiverHelper'\nremove_launchctl_service 'com.citrix.ReceiverUninstallHelper'\nremove_launchctl_service 'com.citrix.ReceiverUpdaterHelper'\nremove_launchctl_service 'com.citrix.safariadapter'\nremove_launchctl_service 'com.citrix.ServiceRecords'\nremove_launchctl_service 'com.citrix.UninstallMonitor'\nquit_application 'Citrix.ServiceRecords'\nquit_application 'com.citrix.CitrixReceiverLauncher'\nquit_application 'com.citrix.receiver.nomas'\nquit_application 'com.citrix.ReceiverHelper'\nremove_pkg_files 'com.citrix.common'\nforget_pkg 'com.citrix.common'\nremove_pkg_files 'com.citrix.devicetrust.client'\nforget_pkg 'com.citrix.devicetrust.client'\nremove_pkg_files 'com.citrix.devicetrust.client.ica'\nforget_pkg 'com.citrix.devicetrust.client.ica'\nremove_pkg_files 'com.citrix.enterprisebrowserinstaller'\nforget_pkg 'com.citrix.enterprisebrowserinstaller'\nremove_pkg_files 'com.citrix.ICAClient'\nforget_pkg 'com.citrix.ICAClient'\nremove_pkg_files 'com.citrix.ICAClientcwa'\nforget_pkg 'com.citrix.ICAClientcwa'\nremove_pkg_files 'com.citrix.ICAClienthdx'\nforget_pkg 'com.citrix.ICAClienthdx'\nremove_pkg_files 'com.citrix.receiver.bcr'\nforget_pkg 'com.citrix.receiver.bcr'\ntrash $LOGGED_IN_USER '~/Library/Application Support/Citrix Receiver'\ntrash $LOGGED_IN_USER '~/Library/Application Support/Citrix Workspace'\ntrash $LOGGED_IN_USER '~/Library/Application Support/Citrix'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.CitrixReceiverLauncher'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.HdxRtcEngine'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.receiver*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.citrix.ReceiverUpdater'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.citrix.receiver*'\ntrash $LOGGED_IN_USER '~/Library/HTTPStorages/com.citrix.CitrixReceiverLauncher'\ntrash $LOGGED_IN_USER '~/Library/HTTPStorages/com.citrix.receiver*'\ntrash $LOGGED_IN_USER '~/Library/Logs/Citrix Workspace'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.AuthManager.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.CitrixReceiverLauncher.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.HdxRtcEngine.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.receiver*.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.citrix.Receiver*.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.citrix.receiver.nomas.savedState'\ntrash $LOGGED_IN_USER '~/Library/WebKit/com.citrix.receiver.nomas'\n", + "f4f3e7be": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.citrix.receiver.nomas'\nsudo installer -pkg \"$TMPDIR/CitrixWorkspaceAppUniversal26.03.11.41.pkg\" -target /\nrelaunch_application 'com.citrix.receiver.nomas'\n" } } diff --git a/ee/maintained-apps/outputs/claude/darwin.json b/ee/maintained-apps/outputs/claude/darwin.json index 2f882de4a27..d6b71ff5e69 100644 --- a/ee/maintained-apps/outputs/claude/darwin.json +++ b/ee/maintained-apps/outputs/claude/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.15200.0", + "version": "1.15962.0", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop' AND version_compare(bundle_short_version, '1.15200.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.15962.0') < 0);" }, - "installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.15200.0/Claude-250bae744478f92cc2796a6dcc060a867d66cb85.zip", + "installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.15962.0/Claude-039543c96f820be3f47c6a5bcdb32d7278724ef1.zip", "install_script_ref": "8b957973", "uninstall_script_ref": "421baa98", - "sha256": "832c8d30efb84d8ecacffefc262eb628bb0e529137fa3825b2f43c77a187fbfd", + "sha256": "7fafab165cdf66834af243836a5f98495be985fca647bb732c87c0f9c99ae195", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/codex-app/darwin.json b/ee/maintained-apps/outputs/codex-app/darwin.json index 7e339d3f6fc..9d3467ee49c 100644 --- a/ee/maintained-apps/outputs/codex-app/darwin.json +++ b/ee/maintained-apps/outputs/codex-app/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "26.616.81150", + "version": "26.623.30605", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.codex';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.codex' AND version_compare(bundle_short_version, '26.616.81150') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.codex' AND version_compare(bundle_short_version, '26.623.30605') < 0);" }, - "installer_url": "https://persistent.oaistatic.com/codex-app-prod/Codex-darwin-arm64-26.616.81150.zip", + "installer_url": "https://persistent.oaistatic.com/codex-app-prod/Codex-darwin-arm64-26.623.30605.zip", "install_script_ref": "5e3efa57", "uninstall_script_ref": "a2b5ee81", - "sha256": "7325382f657b6f8221f5bdd5421e7f898a4d26cff7c9c2376e50f1000d35b6ef", + "sha256": "62d7133e9e754efae8a90831052c3ffe078c9628675c294c3b61146aea7d403d", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/copilot-money/darwin.json b/ee/maintained-apps/outputs/copilot-money/darwin.json index aa01cfd10c8..74a49303f6c 100644 --- a/ee/maintained-apps/outputs/copilot-money/darwin.json +++ b/ee/maintained-apps/outputs/copilot-money/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "6.4.2", + "version": "6.4.3", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.copilot.production';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.copilot.production' AND version_compare(bundle_short_version, '6.4.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.copilot.production' AND version_compare(bundle_short_version, '6.4.3') < 0);" }, - "installer_url": "https://storage.googleapis.com/copilot-mac-releases/images/Copilot-6.4.2-329-96369bfc.dmg", + "installer_url": "https://storage.googleapis.com/copilot-mac-releases/images/Copilot-6.4.3-330-ce1410d6.dmg", "install_script_ref": "662c3896", "uninstall_script_ref": "0034e8e3", - "sha256": "96369bfced5a9532c96ef54bb9f438597e828ab607ba47c3965a5d1941511cd6", + "sha256": "ce1410d6741c187d0e2fcb4b159f2cef7f4ff141fa3eec326cb19c9daf5d8491", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/firefox/darwin.json b/ee/maintained-apps/outputs/firefox/darwin.json index 60f3701d7e2..8cc2674e48e 100644 --- a/ee/maintained-apps/outputs/firefox/darwin.json +++ b/ee/maintained-apps/outputs/firefox/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "152.0.2", + "version": "152.0.3", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefox';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefox' AND version_compare(bundle_short_version, '152.0.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefox' AND version_compare(bundle_short_version, '152.0.3') < 0);" }, - "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/152.0.2/mac/en-US/Firefox%20152.0.2.dmg", + "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/152.0.3/mac/en-US/Firefox%20152.0.3.dmg", "install_script_ref": "b5e4c76e", "uninstall_script_ref": "b85c0267", - "sha256": "36820598ede2790d59fc18dae96d0b6f7982106f125cdf5e1799ee75e1fb5278", + "sha256": "5341a832935516be4f164d15021fb5a872668d6ebeddcdf35ae09ca599e717f0", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/firefox/windows.json b/ee/maintained-apps/outputs/firefox/windows.json index f52fbed23a7..cc1d48e39d9 100644 --- a/ee/maintained-apps/outputs/firefox/windows.json +++ b/ee/maintained-apps/outputs/firefox/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "152.0.2", + "version": "152.0.3", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Mozilla Firefox (x64 en-US)' AND publisher = 'Mozilla';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Mozilla Firefox (x64 en-US)' AND publisher = 'Mozilla' AND version_compare(version, '152.0.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Mozilla Firefox (x64 en-US)' AND publisher = 'Mozilla' AND version_compare(version, '152.0.3') < 0);" }, - "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/152.0.2/win64/en-US/Firefox%20Setup%20152.0.2.exe", + "installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/152.0.3/win64/en-US/Firefox%20Setup%20152.0.3.exe", "install_script_ref": "80fb9175", "uninstall_script_ref": "8b5e20e4", - "sha256": "fad4c3ec713a63866d7da88e03eb5a33f1a330159c9e1d8637f03d3df60b0646", + "sha256": "c0824d81db60a834ff647ca50f078c9c78f932d7e758855668fc24587f94a3d8", "default_categories": [ "Browsers" ] diff --git a/ee/maintained-apps/outputs/github/darwin.json b/ee/maintained-apps/outputs/github/darwin.json index f4bff8a4158..5c10788a125 100644 --- a/ee/maintained-apps/outputs/github/darwin.json +++ b/ee/maintained-apps/outputs/github/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "3.6.0", + "version": "3.6.1", "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.0') < 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.1') < 0);" }, - "installer_url": "https://desktop.githubusercontent.com/releases/3.6.0-2b2320f9/GitHubDesktop-arm64.zip", + "installer_url": "https://desktop.githubusercontent.com/releases/3.6.1-8fa814ac/GitHubDesktop-arm64.zip", "install_script_ref": "98ab6ed8", "uninstall_script_ref": "642b60ca", - "sha256": "1dad783c72c7c1ceca7f64cc7a06467bd376b5f8b88d3086fcadd2a03951a1f2", + "sha256": "d02a33ab60168e4978a3f18fadfef2bdf51df881e5613c550cc2b91c8dac9539", "default_categories": [ "Developer tools" ] diff --git a/ee/maintained-apps/outputs/granola/darwin.json b/ee/maintained-apps/outputs/granola/darwin.json index 123f5dde43a..84eda957a4e 100644 --- a/ee/maintained-apps/outputs/granola/darwin.json +++ b/ee/maintained-apps/outputs/granola/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "7.356.2", + "version": "7.372.1", "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.356.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.granola.app' AND version_compare(bundle_short_version, '7.372.1') < 0);" }, - "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.356.2/Granola-7.356.2-mac-universal.dmg", + "installer_url": "https://dr2v7l5emb758.cloudfront.net/7.372.1/Granola-7.372.1-mac-universal.dmg", "install_script_ref": "89a55638", "uninstall_script_ref": "7b9b9d06", - "sha256": "c2d3a58da8d90208e79a6014fee38238a83e5c77831869860fd362f80d8729fb", + "sha256": "92742c1e32d760304d8e214d2cd0562458cfe2dbb25dc5a55d4545b8bee3c040", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/iina/darwin.json b/ee/maintained-apps/outputs/iina/darwin.json index f47e155b264..62853d0e955 100644 --- a/ee/maintained-apps/outputs/iina/darwin.json +++ b/ee/maintained-apps/outputs/iina/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "1.4.3", + "version": "1.4.4", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.colliderli.iina';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.colliderli.iina' AND version_compare(bundle_short_version, '1.4.3') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.colliderli.iina' AND version_compare(bundle_short_version, '1.4.4') < 0);" }, - "installer_url": "https://dl.iina.io/IINA.v1.4.3.dmg", + "installer_url": "https://dl.iina.io/IINA.v1.4.4.dmg", "install_script_ref": "e0aa88c9", "uninstall_script_ref": "4fbcd88d", - "sha256": "899a15c3cee499d6e5d1a47bce02194a5a2709b3aa1c7ba82fb16a002fa81e02", + "sha256": "dd0fc0bd4b37fb57a1c8d30d6e3201b3a64bafd29959fe56953964613237beb1", "default_categories": [ "Utilities" ] diff --git a/ee/maintained-apps/outputs/libreoffice/darwin.json b/ee/maintained-apps/outputs/libreoffice/darwin.json index d0904aaf5aa..77c6f674633 100644 --- a/ee/maintained-apps/outputs/libreoffice/darwin.json +++ b/ee/maintained-apps/outputs/libreoffice/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "25.8.7", + "version": "26.2.4", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.libreoffice.script';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.libreoffice.script' AND version_compare(bundle_short_version, '25.8.7') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'org.libreoffice.script' AND version_compare(bundle_short_version, '26.2.4') < 0);" }, - "installer_url": "https://download.documentfoundation.org/libreoffice/stable/25.8.7/mac/aarch64/LibreOffice_25.8.7_MacOS_aarch64.dmg", + "installer_url": "https://download.documentfoundation.org/libreoffice/stable/26.2.4/mac/aarch64/LibreOffice_26.2.4_MacOS_aarch64.dmg", "install_script_ref": "cc2fb5e4", "uninstall_script_ref": "f1fecf0c", - "sha256": "e7556aa61e282f89578ebaf35afdb09c94dcf9d6ee7c137004377bee81a6e900", + "sha256": "64e0ad05564554eeee639d49b08b20908a38d4722ec95f1620d05c99bcbe9fb1", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/modern-csv/darwin.json b/ee/maintained-apps/outputs/modern-csv/darwin.json index 8b84b97a087..f69e944cf08 100644 --- a/ee/maintained-apps/outputs/modern-csv/darwin.json +++ b/ee/maintained-apps/outputs/modern-csv/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "2.4.2", + "version": "2.4.3", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'net.galliumdigital.Modern-CSV';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.galliumdigital.Modern-CSV' AND version_compare(bundle_short_version, '2.4.2') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'net.galliumdigital.Modern-CSV' AND version_compare(bundle_short_version, '2.4.3') < 0);" }, - "installer_url": "https://www.moderncsv.com/release/ModernCSV-Mac-v2.4.2.dmg", + "installer_url": "https://www.moderncsv.com/release/ModernCSV-Mac-v2.4.3.dmg", "install_script_ref": "bfa91515", "uninstall_script_ref": "3f855c52", - "sha256": "8949933a6e69fef39bb24a7d87881bc9e2196e3ae3405c01436cce19d983eae4", + "sha256": "37b0dd253a9c390b20da15518c4b2cd423fdc0a5e1edbe2266950e5fcca84433", "default_categories": [ "Productivity" ] diff --git a/ee/maintained-apps/outputs/webex/windows.json b/ee/maintained-apps/outputs/webex/windows.json index 4ac6df2ee64..7bfd1cee498 100644 --- a/ee/maintained-apps/outputs/webex/windows.json +++ b/ee/maintained-apps/outputs/webex/windows.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "46.6.0.35178", + "version": "46.6.1.35236", "queries": { "exists": "SELECT 1 FROM programs WHERE name = 'Cisco Webex' AND publisher = 'Cisco Systems, Inc';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cisco Webex' AND publisher = 'Cisco Systems, Inc' AND version_compare(version, '46.6.0.35178') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cisco Webex' AND publisher = 'Cisco Systems, Inc' AND version_compare(version, '46.6.1.35236') < 0);" }, - "installer_url": "https://binaries.webex.com/WebexDesktop-Win-64-Gold/20260616154350/Webex.msi", + "installer_url": "https://binaries.webex.com/WebexDesktop-Win-64-Gold/20260625091421/Webex.msi", "install_script_ref": "8959087b", "uninstall_script_ref": "9832a568", - "sha256": "fae7bdf4cf3274ce26b036a13164c9240058a3a95c8049e6e1b6a1c64d5faedf", + "sha256": "4326656a9ad32f1b33984f659c25219b24afeaf85f8b53998ab3c9127900f2db", "default_categories": [ "Communication" ], diff --git a/ee/maintained-apps/outputs/workflowy/darwin.json b/ee/maintained-apps/outputs/workflowy/darwin.json index 9a4df1a3395..823f1df034d 100644 --- a/ee/maintained-apps/outputs/workflowy/darwin.json +++ b/ee/maintained-apps/outputs/workflowy/darwin.json @@ -1,15 +1,15 @@ { "versions": [ { - "version": "4.3.2606230837", + "version": "4.3.2606251429", "queries": { "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.workflowy.desktop';", - "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.workflowy.desktop' AND version_compare(bundle_short_version, '4.3.2606230837') < 0);" + "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.workflowy.desktop' AND version_compare(bundle_short_version, '4.3.2606251429') < 0);" }, - "installer_url": "https://github.com/workflowy/desktop/releases/download/v4.3.2606230837/WorkFlowy.zip", + "installer_url": "https://github.com/workflowy/desktop/releases/download/v4.3.2606251429/WorkFlowy.zip", "install_script_ref": "467dafec", "uninstall_script_ref": "effe5345", - "sha256": "f442d6f73f8927aa188b56fddd6c6bfd559e892f8e03a9e3b37938c44772902a", + "sha256": "6b66fbb0350c9786ee012c3181ecbf2c8a06f3d50f53245977057cedd0a7bf08", "default_categories": [ "Productivity" ]