Skip to content

Releases: root3nl/SupportApp

Support App 3.0.5

Choose a tag to compare

@lndjng lndjng released this 04 Aug 11:52
5f9cae1

What's changed/fixed

  • The LaunchAgent and LaunchDaemon property lists are now shipped as static files instead of being generated during installation. Some XDR/MDR security products could flag the previous behavior, where property lists were written to /Library/LaunchAgents and /Library/LaunchDaemons and quarantine attributes were removed, as suspicious. The install scripts now only copy the pre-packaged files into place, so nothing generates or modifies a property list on the Mac anymore
  • The launchd SpawnConstraint, which only allows launching binaries signed by Root3, is now always set instead of only on macOS 14 or higher

Support App 3.0.4

Choose a tag to compare

@lndjng lndjng released this 28 Jul 11:38
0c84578

What's new

  • Migrate Support App 2.x configurations to the 3.x schema: A new migration tool converts a Support App 2.x property list or configuration profile to the new Rows structure. It's available in the app from Configurator Mode under Advanced settings, and as a standalone migrate-support-2x-to-3x.sh script in the repository root. Refer to https://github.com/root3nl/SupportApp/wiki/Migrating-Support-2.x-to-3.x for more information
  • Dynamic Extension title: Extension now supports a dynamic title using the <ExtensionID>_title key, just like Symbol, ActionType and Action already do. Refer to https://github.com/root3nl/SupportApp/wiki/Extensions for more information and example preference keys

What's changed/fixed

  • Fixed an issue on macOS 27 or higher where the LaunchAgent and LaunchDaemon could not be loaded
  • Improved security of the LaunchAgent and LaunchDaemon to only allow launching binaries signed by Root3
  • Fixed an issue where the menu bar notifier badge stayed on after an Extension cleared its alert, until the app was restarted
  • ExtensionID must not contain a dot (.), as this prevents the menu bar notifier badge from updating. A warning is now shown in Configurator Mode when a dot is used
  • Fixed an issue where the menu bar context menu did not open when using a secondary click on macOS 27 or higher. A control-click now also opens the menu
  • Fixed an issue where a remote (https) StatusBarIcon could result in unnecessary status bar icon refreshes
  • Disabled the scheduled update check for App Catalog, as version 1.9.0 or higher automatically checks for updates
  • Added the macOS 27 marketing name

Support App 3.0.3

Choose a tag to compare

@jordywitteman jordywitteman released this 17 Apr 08:26
d264cd9

What's changed/fixed

  • Improvements and support for an upcoming release of App Catalog
  • Fixed an issue where hovering over items on macOS 26.4 or higher may result in unexpected UI glitches
  • Fixed an issue where the status bar badge was not respecting the active layout. This resulted in badges being triggered, even when the specific item was not part of the view layout
  • Fixed an issue where the Uptime item could not be removed while in Configurator Mode

Support App 3.0.2

Choose a tag to compare

@jordywitteman jordywitteman released this 18 Mar 12:19
7137cc6

What's changed/fixed

  • Fixed an issue where Support App could open the wrong System Settings pane for Background Security Improvements on non-English Macs. The app now uses language-independent software update metadata to identify these updates more reliably and open the Background Security Improvements pane

Support App 3.0.1

Choose a tag to compare

@jordywitteman jordywitteman released this 10 Feb 09:04
37490a3

What's changed/fixed

  • Added support for opening the new macOS Background Security Improvements in System Settings when there is one available.
  • Improved Extension to support dynamic updates using scripts and advanced workflows for Symbol, ActionType and Action. Refer to https://github.com/root3nl/SupportApp/wiki/Extensions for more information and example preference keys.
  • Fixed an issue for Button for Type to avoid showing an animation when hovering while no Subtitle is set
  • Fixed an issue for the storage bar to respect custom colors and change to orange/red to indicate StorageLimit or 90% is reached
  • Minor UI improvement to the back buttons to be perfectly circular

Support App 3.0

Choose a tag to compare

@jordywitteman jordywitteman released this 30 Oct 15:46
c18ea1a

What's New

  • New design for macOS 26 with Liquid Glass: Items have been reshaped to capsules with native glass effect, matching the new Control Center.
  • New row and item structure: How rows and items are defined have been completely restructured and adopt a modular approach. Add rows and items however you like. All (old) keys are deprecated, but still work without breaking changes unless the new structure with key Rows is specified. Check https://github.com/root3nl/SupportApp/wiki/Migrating-Support-2.x-to-3.x for all details and deprecated keys.
  • Configurator Mode: This new mode can be used by administrators to completely configure, visualize and test Support App right from within the app itself. The configuration can be exported to a property list or mobileconfig file. Configurator Mode can be blocked by setting the DisableConfiguratorMode key to true. Check https://github.com/root3nl/SupportApp/wiki/Configurator-Mode for more information.
  • Accessibility support: Native accessibility features for VoiceOver, Voice Control and more have been greatly enhanced so all users can benefit from it.
  • New small circular button: A new small button type is added which allows a row to support up to four buttons.
  • New icon: A new icon optimized for macOS 26 is added.
  • macOS 14 requirement: macOS 12 and 13 are no longer supported.
  • Other enhancements:
    • Custom menu bar icons can now show color using StatusBarIconAllowsColor.
    • Support for Privileged Scripts when deployed using Service Background Tasks (DDM) to a tamper protected location.
    • Every Extension can support its own OnAppearAction to fetch updated information.
  • Bug fixes and other improvements

All documentation is moved to the Wiki: https://github.com/root3nl/SupportApp/wiki

hero_dark_zoomed

Support 3.0 beta 4 (92)

Pre-release

Choose a tag to compare

@jordywitteman jordywitteman released this 20 Oct 21:55

What's changed/fixed

  • Fixed Medium Button not executing a Privileged Script when used in legacy structure
  • Swedish localization fixes
  • Medium Button text optimizations: text has slightly less spacing between characters. Additionally if text is too long, the font size will decrease. Both optimizations help preserving (larger) strings used in Support App 2.x without truncation, even though the string was already close to the edges without leaving any padding. Recommendation is to use shorter strings or larger buttons.
  • Minor preference change in Settings
  • Export to downloads folder by default

Support 3.0 Beta 3 (87)

Pre-release

Choose a tag to compare

@jordywitteman jordywitteman released this 13 Oct 14:09

What's changed/fixed

  • Fix for StatusBarIcon not loading when using a local image
  • Fix for Privileged Scripts not able to run in both new structure and legacy Extensions (A/B)
  • Fix for a duplicate remove button in medium sized buttons for macOS 14/15
  • Repositioning of the badges in items to avoid text overlays
  • Small button now also available for macOS 14/15
  • Restore original background NSVisualEffectView for macOS 14/15
  • Icon update!

Support 3.0 Beta 2 (84)

Pre-release

Choose a tag to compare

@jordywitteman jordywitteman released this 07 Oct 10:38

What's changed/fixed

  • Configurator Mode now shows additional hints and placeholders in Text fields to guide admins to valid input or point to limitations
  • Fixed an issue where Privileged Scripts would cause a crash when used in a Medium or Small button
  • Fixed an issue where the Title did not provide a default value
  • Fixed an issue where the remove button for items in Configurator Mode wasn't clickable outside of the item shape
  • The global OnAppearAction key was missing in Configurator Mode. This is now added
  • Removed too strict text truncation in Medium button as some existing text strings might be cutoff

Refer to https://github.com/root3nl/SupportApp/releases/tag/v3.0-beta1 for complete release notes

Support 3.0 Beta 1 (82)

Pre-release

Choose a tag to compare

@jordywitteman jordywitteman released this 02 Oct 19:09

What's New

  • New design for macOS 26 with Liquid Glass: Items have been reshaped to capsules with glass effect, matching the new Control Center.
  • New row and item structure: How rows and items are defined have been completely restructured and adopt a modular approach. Add rows and items however you like. All (old) hard coded keys are deprecated and still work unless the new structure with key Rows is specified. Check below for all deprecated keys.
  • Configurator Mode: This new mode can be used by administrators to completely configure, visualize and test Support App right from within the app itself. The configuration can be exported to a property list or mobileconfig file. Configurator Mode can be blocked using the DisableConfiguratorMode key.
  • Accessibility support: Native accessibility features for VoiceOver, Voice Control and more have been greatly enhanced so all users can benefit from it.
  • New small circular button: A new small circular button type is added which allows a row to support up to four buttons (macOS 26 and higher).
  • Color option for menu bar icon using StatusBarIconAllowsColor
  • Run Privileged Scripts when deployed using Service Background Tasks (DDM) to a tamper protected location
  • Every Extension can support its own OnAppearAction to fetch updated information

Test plan

If you’d like to help, here are some test steps:

  • Validate against your current configuration, for example buttons, extensions, branding etc
  • Test new Configurator Mode, recreate your current configuration, export plist or mobileconfig and distribute using your Device Management Service
  • When you are familiar with Accessibility features like VoiceOver or Voice Control, please validate if this works as expected and if this would pass internal accessibility assessments
  • If you use Extensions, this is a focus area as a lot has changed such as value observation. You may also test scripts deployed using Service Background Tasks (DDM) if you have access to these technologies.
  • Test on macOS 15 and/or macOS 26

How Extensions work with the new structure

Every Extension configured in the new structure needs a unique ExtensionID. This can be used in scripts to populate the Extension with the following keys based on the Extension ID:

  • EXTENSION_ID (string): the value with your output
  • EXTENSION_ID_alert (boolean): show alert/warning badge
  • EXTENSION_ID_loading (boolean): show loading indicator
    To populate/update the Extension, use the following commands in your privileged script:
extension_id="EXTENSION_ID_EXAMPLE"

# Start spinning indicator
defaults write "/Library/Preferences/nl.root3.support.plist" "${extension_id}_loading" -bool true

# Set value
defaults write "/Library/Preferences/nl.root3.support.plist" "${extension_id}" -string "YOUR_OUTPUT"

# Set alert/warning badge
defaults write "/Library/Preferences/nl.root3.support.plist" "${extension_id}_alert" -bool true

# Stop spinning indicator
defaults write "/Library/Preferences/nl.root3.support.plist" "${extension_id}_loading" -bool false

Deprecated keys

HideSecondRowInfoItems
HideThirdRowInfoItems
HideFirstRowButtons
HideSecondRowButtons
InfoItemOne
InfoItemTwo
InfoItemThree
InfoItemFour
InfoItemFive
InfoItemSix
FirstRowTitleLeft
FirstRowSubtitleLeft
FirstRowTypeLeft
FirstRowLinkLeft
FirstRowSymbolLeft
FirstRowTitleMiddle
FirstRowSubtitleMiddle
FirstRowTypeMiddle
FirstRowLinkMiddle
FirstRowSymbolMiddle
FirstRowTitleRight
FirstRowSubtitleRight
FirstRowTypeRight
FirstRowLinkRight
FirstRowSymbolRight
SecondRowTitleLeft
SecondRowSubtitleLeft
SecondRowTypeLeft
SecondRowLinkLeft
SecondRowSymbolLeft
SecondRowTitleMiddle
SecondRowSubtitleMiddle
SecondRowTypeMiddle
SecondRowLinkMiddle
SecondRowSymbolMiddle
SecondRowTitleRight
SecondRowSubtitleRight
SecondRowTypeRight
SecondRowLinkRight
SecondRowSymbolRight
ExtensionTitleA
ExtensionValueA
ExtensionSymbolA
ExtensionTypeA
ExtensionLinkA
ExtensionAlertA
ExtensionTitleB
ExtensionValueB
ExtensionSymbolB
ExtensionTypeB
ExtensionLinkB
ExtensionAlertB