Releases: root3nl/SupportApp
Releases · root3nl/SupportApp
Support App 3.0
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
Rowsis 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
DisableConfiguratorModekey totrue. 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.
- Custom menu bar icons can now show color using
- Bug fixes and other improvements
All documentation is moved to the Wiki: https://github.com/root3nl/SupportApp/wiki

Support 3.0 beta 4 (92)
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)
What's changed/fixed
- Fix for
StatusBarIconnot 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
NSVisualEffectViewfor macOS 14/15 - Icon update!
Support 3.0 Beta 2 (84)
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
Titledid 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
OnAppearActionkey 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)
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
Rowsis 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
DisableConfiguratorModekey. - 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 outputEXTENSION_ID_alert(boolean): show alert/warning badgeEXTENSION_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
Support 2.6.4
- macOS 26 marketing name added to show in the macOS version Info Item: "macOS Tahoe"
- An issue resolved on macOS 26 where a custom status bar icon using
StatusBarIconwould fail to apply and fallback to the default lifepreserver icon - Swedish localization is added. Thanks @daniarv!
- App Catalog integration improvements. This is now more efficient and previous risk of a data race is eliminated. A future update to App Catalog (1.7.3) will be required to fully use the new system
- Support is migrated to the SwiftUI lifecycle instead of Storyboard
Known issue
- When navigating between views on macOS 26, window resizing does not properly work or visible with delay. This will be addressed with the macOS 26 SDK once the release of macOS 26 is almost final.
Compatibility note
- This version will be the last to support macOS 12 and 13. The next (major) version will target macOS 14, 15 and 26 as a best practice and to reduce code complexity
Support 2.6.3
- App Catalog integration: Improved update handling and visualization. Users can now see which app is currently updating and other queued updates can be cancelled if needed. Please refer to https://changelog.appcatalog.cloud for more information.
Support 2.6.2
- Resolves an issue with macOS 15.4 where the number of available macOS software updates is incorrectly shown in the popover and menu bar icon.
Support 2.6.2 beta 1 (65)
- Resolves an issue with macOS 15.4 where the number of available macOS software updates is incorrectly shown in the popover and menu bar icon.
Support 2.6.1
- An issue resolved where the built-in variable
$LocalMacosVersionNamewould output the actual version number followed by "Name", for example "14.6.4Name". The variable name now produces the macOS marketing version name. - Localization improvements
- The code to get the logged in username (used with the built-in variable
$LocalUserName) is now simplified