Skip to content

Commit 175b67f

Browse files
authored
Merge pull request #75 from macadmins/tahoe
v2.3.0
2 parents 6da56f1 + 731a141 commit 175b67f

38 files changed

+421
-128
lines changed

.github/workflows/build_supportcompanion.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ permissions:
1919

2020
jobs:
2121
build:
22-
runs-on: macos-14
22+
runs-on: macos-26
2323

2424
steps:
2525
- name: Checkout repo

.github/workflows/build_supportcompanion_manual.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ permissions:
1010

1111
jobs:
1212
build:
13-
runs-on: macos-14
13+
runs-on: macos-26
1414

1515
steps:
1616
- name: Checkout repo
@@ -82,4 +82,4 @@ jobs:
8282
uses: actions/[email protected]
8383
with:
8484
name: packages
85-
path: release/
85+
path: release/

.github/workflows/build_supportcompanion_prerelease.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ permissions:
1010

1111
jobs:
1212
build:
13-
runs-on: macos-14
13+
runs-on: macos-26
1414

1515
steps:
1616
- name: Checkout repo
32.7 KB
Loading

AppIcon.icon/icon.json

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
"fill" : {
3+
"linear-gradient" : [
4+
"extended-srgb:0.68627,0.32157,0.87059,1.00000",
5+
"extended-srgb:0.00000,0.47843,1.00000,1.00000"
6+
]
7+
},
8+
"groups" : [
9+
{
10+
"blend-mode-specializations" : [
11+
{
12+
"value" : "overlay"
13+
},
14+
{
15+
"appearance" : "dark",
16+
"value" : "lighten"
17+
},
18+
{
19+
"appearance" : "tinted",
20+
"value" : "normal"
21+
}
22+
],
23+
"blur-material" : null,
24+
"layers" : [
25+
{
26+
"blend-mode-specializations" : [
27+
{
28+
"value" : "normal"
29+
},
30+
{
31+
"appearance" : "tinted",
32+
"value" : "normal"
33+
}
34+
],
35+
"fill-specializations" : [
36+
{
37+
"appearance" : "tinted",
38+
"value" : "automatic"
39+
}
40+
],
41+
"glass" : true,
42+
"hidden" : false,
43+
"image-name" : "support_agent_800dp_E3E3E3_FILL0_wght400_GRAD0_opsz48.png",
44+
"name" : "support_agent_800dp_E3E3E3_FILL0_wght400_GRAD0_opsz48",
45+
"opacity-specializations" : [
46+
{
47+
"value" : 1
48+
},
49+
{
50+
"appearance" : "tinted",
51+
"value" : 0.7
52+
}
53+
]
54+
}
55+
],
56+
"lighting" : "individual",
57+
"opacity-specializations" : [
58+
{
59+
"value" : 1
60+
},
61+
{
62+
"appearance" : "dark",
63+
"value" : 0.7
64+
},
65+
{
66+
"appearance" : "tinted",
67+
"value" : 0.72
68+
}
69+
],
70+
"position" : {
71+
"scale" : 1,
72+
"translation-in-points" : [
73+
0,
74+
0
75+
]
76+
},
77+
"shadow" : {
78+
"kind" : "neutral",
79+
"opacity" : 0.5
80+
},
81+
"translucency" : {
82+
"enabled" : false,
83+
"value" : 0.5
84+
}
85+
}
86+
],
87+
"supported-platforms" : {
88+
"squares" : [
89+
"macOS"
90+
]
91+
}
92+
}

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [2.3.0] - 2025-09-18
8+
### Changed
9+
- Updated UI elements to match the new look introduced in macOS 26 (Tahoe).
10+
- Cards now use the liquid glass effect and updated corner radius to better align with the new design language.
11+
- Moved the dark/light mode toggle and support info button to the top-right toolbar.
12+
- Added reboot reminder notifications, turned off by default and can be enabled using the key `RebootReminderDays`. Example configuration,
13+
```xml
14+
<key>RebootReminderDays</key>
15+
<integer>7</integer>
16+
```
17+
- Minor UI tweaks for cards, removed shadows for text.
18+
- Removed entitlements from helper to reduce attack surface.
19+
20+
## [2.2.2] - 2025-06-13
21+
### Fixed
22+
- Last restart now correctly displays the time since last restart in the correct format when copying device information to the clipboard.
23+
24+
### Added
25+
- A new option to exclude certain folders from log collection. This allows for admins to exclude certain folders from being collected when the user runs the log collection action. This can be useful for excluding large folders that are not relevant to the support case or for excluding folders that contain sensitive information. Example configuration:
26+
```xml
27+
<key>ExcludedLogFolders</key>
28+
<array>
29+
<string>/Library/Logs/Microsoft/mdatp</string>
30+
</array>
31+
```
32+
733
## [2.2.1] - 2025-02-26
834
### Fixed
935
- Even if `SoftwareUpdates` or `PendingAppUpdates` were hidden, the badge would still be displayed in the tray menu and dock. This has been fixed by checking if the widget is hidden before displaying the badge.

Helper/Helper.entitlements

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
4-
<dict>
5-
<key>com.apple.security.inherit</key>
6-
<true/>
7-
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
8-
<true/>
9-
<key>com.apple.security.cs.allow-jit</key>
10-
<true/>
11-
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
12-
<true/>
13-
<key>com.apple.security.cs.disable-executable-page-protection</key>
14-
<true/>
15-
<key>com.apple.security.cs.disable-library-validation</key>
16-
<true/>
17-
</dict>
4+
<dict/>
185
</plist>

SupportCompanion.xcodeproj/project.pbxproj

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/* Begin PBXBuildFile section */
1010
F60FAB742CE8D40A00ECAC53 /* AlertToast in Frameworks */ = {isa = PBXBuildFile; productRef = F60FAB732CE8D40A00ECAC53 /* AlertToast */; };
1111
F60FAB872CEA108A00ECAC53 /* SidebarConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = F60FAB862CEA108A00ECAC53 /* SidebarConfig.swift */; };
12+
F627CBCB2E0AF1DF00164680 /* AppIcon.icon in Resources */ = {isa = PBXBuildFile; fileRef = F627CBCA2E0AF1DF00164680 /* AppIcon.icon */; };
1213
F64927372CF9EA8D00C34D90 /* com.github.macadmins.SupportCompanion.helper in CopyFiles */ = {isa = PBXBuildFile; fileRef = F6F8AE7D2CE345A8009B0A1F /* com.github.macadmins.SupportCompanion.helper */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
1314
F6575A992D117108007DBC83 /* ExecutionService.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6F8AE9C2CE34E54009B0A1F /* ExecutionService.swift */; };
1415
F6575A9A2D117114007DBC83 /* HelperRemoteProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6F8AE9E2CE34E72009B0A1F /* HelperRemoteProvider.swift */; };
@@ -74,6 +75,7 @@
7475

7576
/* Begin PBXFileReference section */
7677
F60FAB862CEA108A00ECAC53 /* SidebarConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarConfig.swift; sourceTree = "<group>"; };
78+
F627CBCA2E0AF1DF00164680 /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = AppIcon.icon; sourceTree = "<group>"; };
7779
F649273D2CF9FFD600C34D90 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
7880
F64928192CFA02AD00C34D90 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
7981
F6890EE22CFF308F00244985 /* SupportCompanionCLI */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = SupportCompanionCLI; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -166,6 +168,7 @@
166168
F68910C62D009DB500244985 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
167169
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
168170
membershipExceptions = (
171+
AppIcon.icns,
169172
MenuIcon.png,
170173
);
171174
target = F6F3BEB82CE1E7BA0036ADB9 /* SupportCompanion */;
@@ -288,6 +291,7 @@
288291
F60ED7952CEB278400960264 /* Frameworks */,
289292
F6F3BEBA2CE1E7BA0036ADB9 /* Products */,
290293
F69455982CF6076100B887F8 /* build.zsh */,
294+
F627CBCA2E0AF1DF00164680 /* AppIcon.icon */,
291295
);
292296
sourceTree = "<group>";
293297
};
@@ -491,6 +495,7 @@
491495
files = (
492496
F6F3BEC12CE1E7BB0036ADB9 /* Assets.xcassets in Resources */,
493497
F6A4E0FA2CEC9FFB002B4D74 /* Localizable.xcstrings in Resources */,
498+
F627CBCB2E0AF1DF00164680 /* AppIcon.icon in Resources */,
494499
);
495500
runOnlyForDeploymentPostprocessing = 0;
496501
};
@@ -626,7 +631,7 @@
626631
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
627632
MTL_FAST_MATH = YES;
628633
ONLY_ACTIVE_ARCH = YES;
629-
SDKROOT = macosx;
634+
SDKROOT = macosx26.0;
630635
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
631636
SWIFT_EMIT_LOC_STRINGS = YES;
632637
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -685,7 +690,7 @@
685690
MTL_ENABLE_DEBUG_INFO = NO;
686691
MTL_FAST_MATH = YES;
687692
ONLY_ACTIVE_ARCH = NO;
688-
SDKROOT = macosx;
693+
SDKROOT = macosx26.0;
689694
SWIFT_COMPILATION_MODE = wholemodule;
690695
SWIFT_EMIT_LOC_STRINGS = YES;
691696
};
@@ -722,6 +727,7 @@
722727
PRODUCT_BUNDLE_IDENTIFIER = com.github.macadmins.SupportCompanion;
723728
PRODUCT_NAME = "$(TARGET_NAME)";
724729
PROVISIONING_PROFILE_SPECIFIER = "";
730+
SDKROOT = macosx;
725731
SWIFT_EMIT_LOC_STRINGS = YES;
726732
SWIFT_VERSION = 5.0;
727733
TEAM_ID = H92SB6Z7S4;
@@ -759,6 +765,7 @@
759765
PRODUCT_BUNDLE_IDENTIFIER = com.github.macadmins.SupportCompanion;
760766
PRODUCT_NAME = "$(TARGET_NAME)";
761767
PROVISIONING_PROFILE_SPECIFIER = "";
768+
SDKROOT = macosx;
762769
SWIFT_EMIT_LOC_STRINGS = YES;
763770
SWIFT_VERSION = 5.0;
764771
TEAM_ID = T4SK8ZXCXG;

SupportCompanion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SupportCompanion/Constants.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ enum Constants {
3636

3737
enum General {
3838
static let days = String(localized: "General.Days", defaultValue: "Days", comment: "Number of days")
39+
static let day = String(localized: "General.Day", defaultValue: "Day", comment: "Number of day")
3940
static let dayAgo = String(localized: "General.DayAgo", defaultValue: "Day Ago", comment: "Number of day ago")
4041
static let daysAgo = String(localized: "General.DaysAgo", defaultValue: "Days Ago", comment: "Number of days ago")
4142
static let hours = String(localized: "General.Hours", defaultValue: "Hours", comment: "Number of hours")
@@ -88,6 +89,10 @@ enum Constants {
8889
static let ElevationHalfwayMessage = String(localized: "Notification.ElevationHalfway", defaultValue: "Your elevated privileges will be demoted in", comment: "Notification message when half the time has passed")
8990
static let ElevationDemotedMessage = String(localized: "Notification.ElevationDemoted", defaultValue: "Your elevated privileges have been demoted.", comment: "Notification message when the elevation is demoted")
9091
}
92+
93+
enum Reboot {
94+
static let RebootMessage = String(localized: "Notification.RebootReminder", defaultValue: "Your device was last restarted %lld %@ ago. Please reboot your device to ensure optimal performance and security.", comment: "Notification message reminding the user to reboot their device")
95+
}
9196
}
9297

9398
enum Errors {

0 commit comments

Comments
 (0)