Repository navigation
Releases: husniadil/agent-profiles
Release list
Agent Profiles v0.7.1
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in docs/platform-status.md. Reports from those platforms are very welcome.
Agent Profiles v0.7.0
A Schedule tab. Your Mac wakes itself at a time you set and opens an app.
If you are running 0.6.2 or earlier, this arrives on its own.
Pick which weekdays are active and what time each one wakes at, choose the app to open, and the machine takes care of the rest. Slack at nine on weekdays, a browser at seven on Sunday, whatever you like — anything installed can be the target. It is not limited to agent profiles; this is the plain "wake the machine and open something" tool.
Waking works on battery as well as plugged in. A Mac that is fully shut down stays off, because powering one back on is unreliable enough that pretending otherwise would be worse than saying so. The app opens only if you are still logged in: a locked screen is fine, an actual logout is not. With the lid closed you will need an external display for the app to really appear.
The tab also tells you how many days of wakes are currently armed. Per-day times cannot use macOS's single repeating wake, so the schedule is a rolling batch of one-off wakes set a few weeks ahead and topped up in the background. That batch drains if you never open Agent Profiles, and a schedule that stops quietly would be the worst way for this to fail, so the number is on screen instead of something you have to trust. The top-up is the only step that asks for your administrator password.
Verified on real hardware before release: the Mac woke unattended at the scheduled time and the app launched.
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in docs/platform-status.md. Reports from those platforms are very welcome.
Agent Profiles v0.6.2
Three fixes. One of them stops an update taking your machine back after it had already handed it over, and one finally draws the row 0.6.0 promised.
If you are running 0.6.1, 0.6.0 or 0.5.0, this arrives on its own. Anything older has no updater and needs installing by hand.
Fixed
- An update could take back the hold it had just given up. Installing an update releases your machine first, then hands off to the installer — but the Keep Awake sweep went on running in that gap, and fifteen seconds is easily longer than the handoff. A tick could re-take the hold, and on Windows write the lid-close action back to "do nothing" behind the installer's back. The sweep is paused for the handoff now rather than stopped, so an install that fails without ending the app leaves Keep Awake working instead of dead for the rest of the run. An install that disappears without reporting back leaves the sweep paused, which is the safe direction: your machine is left free to sleep.
- An app you do not have is now greyed with the reason instead of vanishing. This is the half of the 0.6.0 note that never shipped, and the correction printed under 0.6.1 no longer applies. Beside an app that works, one you do not have was filtered out of both the tray and the window, so it looked exactly like an app this tool had never heard of. Both surfaces keep it now, at the length each can afford: the tray gives it one disabled row naming the product and saying it is not installed, and the window says the same thing with the path that was looked at. Nothing about the row is clickable — there is still nothing to launch — and it becomes a normal row the moment you install the app, with no relaunch.
- The security notes did not say what the update signature does not cover. Each bundle is verified against the key baked into the app, which is true and unchanged. What that does not cover is the choice of bundle: the manifest naming which one to fetch is trusted on TLS alone.
SECURITY.mdnow says so, and says what someone able to serve that response could and could not do with it.
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in docs/platform-status.md. Reports from those platforms are very welcome.
Agent Profiles v0.6.1
Six fixes. Two of them stop the app telling you something it never checked, and one hands your Mac back when you quit.
If you are running 0.6.0 or 0.5.0, this arrives on its own. Anything older has no updater and needs installing by hand.
Fixed
- A folder the app could not fully measure was reported as if it had been. 0.6.0 already skipped an entry it could not reach rather than withholding the whole total, but it never said so — a subdirectory that vanished mid-walk was absorbed in silence, and a total short by an arbitrary amount was presented as the answer. A figure known to be short is now marked
≥, reads "at least X on disk" to a screen reader, and says so in the delete confirmation, which is the last sentence you read before a folder stops existing. - A delete that failed removed the profile from the registry anyway. The entry vanished while the directory — credentials and all — stayed on disk, owned by nothing. The registry is rolled back now, so the list and the disk agree again. The error also stops claiming your data is intact: a failed removal often means part of the profile is already gone, and it says that instead of guessing.
- The registry is written atomically. A disk that filled up mid-write used to leave
profiles.jsonempty or half-finished, and the next launch read that as corruption and fell back to a single profile. It is written aside and renamed into place now. - Quitting hands the machine back. Nothing ran on the way out, so quitting while Keep Awake held the machine never released the hold. macOS and Linux got away with it by accident; Windows did not — its hold is a power-scheme write that outlives the app, so a quit left the lid-close action on "do nothing" until the next launch happened to notice. The release now runs on quit, on a Windows restart or update reboot, and before an update installs itself. The trigger you set is untouched: quitting is not switching Keep Awake off.
- The "held" clock counted time while a hold was paused. A pause on low battery or heat released the machine but kept adding to the figure beside it, so the window could report "held 1h 10m" for a machine that had been free to sleep for most of it. It freezes now, and resumes from where it stopped.
- The security notes promised something that stopped being true in 0.5.0.
SECURITY.mdsaid this app makes no network requests of its own. Auto-update is on by default and checks GitHub once per launch. The note says so now.
Correcting the 0.6.0 notes
0.6.0 said an app you do not have "appears greyed with the reason instead of vanishing". Half of that shipped. An uninstalled app is now resolvable — it is listed and counted when you have nothing installed, and it becomes usable the moment you install it, with no relaunch. But no greyed row with a reason is rendered: alongside an app that works, one you do not have is still filtered out of both the tray and the window. Whether to build that row or keep the current behaviour and say so plainly is open in #36.
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in the README. Two of the fixes above are Windows-only and have never been run on Windows by anyone — reports from those platforms are especially welcome.
Agent Profiles v0.6.0
Five fixes. Two of them stop a registry that was perfectly readable from being set aside, taking your profiles out of reach with it.
If you are running 0.5.0, this arrives on its own — it is the first release the updater actually delivers. Anything older has no updater and needs installing by hand.
Fixed
- A profile registry that could not be read was mistaken for a corrupt one. A
profiles.jsonthat was merely locked, on a disk that hiccuped, or restored with the wrong owner got moved aside and replaced with a registry holding one profile — silently. The profile directories stayed on disk with no way back to them through the app. Only a file whose contents cannot be parsed counts as corrupt now; one that could not be read is left exactly where it is, and the app says so. - A preserved registry was destroyed by the next one.
profiles.json.corruptwas one fixed name, so a second event overwrote the first copy — the one worth keeping. Later copies are numbered. - The "… on disk" total disappeared when a single file did. A running app rewrites files constantly, and one vanishing mid-measurement withheld the total for every profile. An entry that cannot be reached is skipped now.
- Windows: an app you do not have appears greyed with the reason instead of vanishing, and becomes usable the moment you install it, without a relaunch.
- Translated labels were clipped mid-word in five of the six languages. In Spanish the delete confirmation lost its verb. Both affected controls now size to the longest label in the language you are using.
Security
Every GitHub Actions step is pinned to a commit SHA, with Dependabot moving the pins weekly. The release job holds the updater's signing key, and a mutable tag means the code running next to that key can change without anything here changing.
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in the README. Reports from those platforms are very welcome.
Agent Profiles v0.5.0
A General tab, holding the two settings that belong to the app itself rather than to any profile.
Silent auto-update
Once per launch — and on demand from Check now — the app looks at this repository's releases, and if a newer one exists it downloads, installs and relaunches with no dialog in between. A tray app nobody opens is exactly the app that stops getting fixes, so this is on by default.
Off is a real off: no request is made to GitHub at any point, not a check whose result is discarded.
This version is the start of that chain, not a link in it. Every copy installed before 0.5.0 has no updater at all, so nothing upgrades into this release automatically — 0.5.0 has to be installed by hand, and updates arrive on their own from here onward.
Six languages
English, Bahasa Indonesia, 日本語, Deutsch, Español and Português, covering the window and the tray menu together. The default follows your operating system's language and falls back to English; an explicit choice overrides it and survives a restart. Switching takes effect immediately in both surfaces, with no restart.
Start at login moves into this tab too, next to the other two.
Fixed
- Windows: one declared-but-uninstalled app no longer stops the whole app from starting. It is skipped instead of listed as unavailable, which is tracked in #11.
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
The updater verifies its own minisign signature on every download. That is separate from OS code signing — it proves the file came from this project's release process, and it does not remove the warnings above.
Windows and Linux are unverified: see the platform checklists in the README. Reports from those platforms are very welcome.
Agent Profiles v0.4.0
Keep awake with the lid closed. A long-running agent used to die the moment the lid shut. Agent Profiles now holds the one lever that works on each system — pmset disablesleep on macOS, a logind inhibitor on Linux, the power scheme's lid-close action on Windows — for as long as an agent is actually working, and gives it back when it stops.
It is off by default and asks for nothing until you turn it on. On macOS it then asks for your admin password once per run, because the setting is system-wide and there is no user-level equivalent; Linux and Windows need no password at all. An unsigned app asking for an admin password is shaped like malware, so it is worth saying plainly what it buys and that you can decline it and lose nothing else.
Working is read from agent session transcripts rather than CPU, so an agent waiting on a slow network still counts — which is exactly when the process looks idle. A battery floor and a thermal guard release the hold on their own, and a run that dies holding the setting is reclaimed at the next launch.
Full detail in the changelog.
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in the README. Reports from those platforms are very welcome.
Agent Profiles v0.3.1
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in the README. Reports from those platforms are very welcome.
Agent Profiles v0.3.0
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in the README. Reports from those platforms are very welcome.
Agent Profiles v0.2.0
Unsigned builds. Your operating system will object, and its wording is misleading.
- macOS may say the app "is damaged". It is not — it is unsigned. Right-click the app and choose Open.
- Windows shows a SmartScreen warning. Choose More info → Run anyway.
Only trust builds downloaded from this page.
Windows and Linux are unverified: see the platform checklists in the README. Reports from those platforms are very welcome.