Repository navigation
Releases
Releases · himanzero/macos-sleep-control
v1.1.3 - Dashboard Version Display & Build Automation
What's Changed in v1.1.3
🎨 UI & Design
- Subtle Version Display: Added a clean, muted, and elegant static version indicator in the bottom-left corner of the main dashboard (
v1.1.3). - Zero-Distraction Interaction: Rendered with
.allowsHitTesting(false)to ensure static presentation without click or hover interception over neighboring controls. - Full Internationalization: Complete string coverage across all 5 supported locales (
English,Simplified Chinese,Traditional Chinese (TW),Traditional Chinese (HK), andJapanese).
⚙️ Build & Engineering Automation
- Dynamic Version Resolution (
AppVersion.swift): The app bundle dynamically resolves its marketing version (CFBundleShortVersionString) at runtime with robust tiered fallbacks. - Automated Packaging (
build_app.sh): Packaging workflow automatically derives the version string from Git tags and build numbers from commit counts.
Verification
- Artifact:
SleepControl-v1.1.3.zip - SHA-256 Checksum:
75fe83083e2ecf0d7ef1dc674aedc7478f38f0413585b6995da2b770157dc59d
Installation
- Download
SleepControl-v1.1.3.zipfrom this release. - Unzip it and drag
SleepControl.appinto your/Applicationsfolder. - If macOS displays a gatekeeper warning on first launch, open System Settings → Privacy & Security and click Open Anyway.
v1.1.2: Hardware Clamshell Detection & Zero-Polling Power Events
What's Changed in v1.1.2
⚡️ Critical Fix: Unplugging AC with Lid Closed Now Reliably Sleeps
Previously, when the laptop lid was closed while on AC power and then unplugged, a kernel-level race condition in macOS powerd would drop the clamshell sleep evaluation before disablesleep 0 finished executing, leaving the Mac awake indefinitely with the lid closed.
- IOKit Clamshell Detection: Native query of
IOPMrootDomain'sAppleClamshellStatedirectly via IOKit (<0.2ms latency, zero Mach port leak). - Native Demanded Sleep: Calls unprivileged native
IOPMSleepSystemimmediately upon AC disconnect if the lid is closed, instantly triggering sleep and lock screen engagement.
🍃 0.0% Idle CPU: Zero-Polling Event-Driven Architecture
- Darwin Notification Listener: Completely eliminated the 4.0-second background polling timer in favor of macOS system-wide
com.apple.powermanagement.preferencechangedDarwin notifications. Telemetry updates instantly upon externalpmsetchanges with 0.0% background idle CPU. - On-Demand Privilege Check: Decoupled
sudo -n -lvalidation from background loops; privilege checks now execute strictly on-demand when opening the status panel or dashboard.
🛡 Dual Lifecycle Recovery
- Safe App Exit (
applicationWillTerminate): Synchronously clearsdisablesleep 1back to0on clean application quit to prevent lingering sleep-disabled states. - Boot-time Abnormal Exit Recovery: Automatically detects and restores
disablesleep 0if the app starts on battery power with lingering disabled sleep from a previous hard crash or power-off.
🌐 i18n & Quality Assurance
- Fully localized new telemetry and log entries across all 5 supported languages (
en,zh-Hans,zh-Hant-TW,zh-Hant-HK,ja). - Expanded automated unit test suite (
Tests/SleepControlTests/ActivityLogTests.swift) to 17 test cases, passing in 0.024s.
📦 Assets & Verification
| Asset | Size | SHA-256 Checksum |
|---|---|---|
SleepControl-v1.1.2-macos.zip |
3.4 MB | f9fbd6af15fef73d6b84a1a5ea1c8b8d9581a4f5c3fb07cb552be7b4079049c2 |
Installation Note
If macOS Gatekeeper blocks opening the app on first launch, run:
xattr -cr /Applications/SleepControl.appv1.1.1 — Dynamic Activity Log Localization
🐱 What's New in v1.1.1
This release fixes the Dynamic i18n Engine for activity logs!
🌐 Dynamic Activity Log Localization & Hot-Switching
- Full Dynamic i18n Engine: Refactored
ActivityLogItemfrom static strings to parameterized localization keys. - Zero-Restart Language Hot-Switching: Switching languages now instantly re-localizes both historical and newly generated activity logs across all 5 supported locales (
English,简体中文,繁體中文 (台灣),繁體中文 (香港),日本語) without data loss. - Log Retention & Pruning: Automated 30-day and 30-entry capacity pruning with future timestamp drift protection.
🧪 Automated Quality Assurance
- Integrated a comprehensive 16-case unit test suite (
swift test) verifying multi-locale dictionary resolution, concurrent thread-safe language switching, and log retention boundaries.
📦 Checksum (SHA-256)
df92b9b1399e873ec99c06af59aaba084fdad4550d982ade8fc3f6622eb4003d SleepControl-v1.1.1-macos.zip
v1.1.0 — Living Cat Companion & Aurora Glass Upgrade
🐱 What's New in v1.1.0
✨ Living Cat Companion Stage
- High-Res Mascot Artwork: Extracted retina-grade companion assets preserving full 3D fur shading, inner ears, whiskers, and crescent moon.
- Ambient Scene Orbs: Dynamic Golden Sunrise glow when keeping Mac awake (
disablesleep 1) vs. Starry Night Nebula when sleep is allowed (disablesleep 0). - Living Micro-Animations: Smooth breathing scale/elevation powered by
TimelineView, floating sleepz Zparticles, twinkling stars, and alert sparkles. - Interactive Petting: Click the cat avatar or the speech bubble to pet Kitty — triggers a playful spring bounce, a floating pink heart, and cycles through cute first-person companion quotes!
🌌 Aurora Glass Aesthetics
- Multi-layer
AuroraAmbientBackdropwith drifting amber/indigo color nebula orbs inside the Dashboard and Menu Bar Popover. - Resizable, screen-adaptive floating status bar panel (
370pt-540pt) with zero screen edge clipping.
🌐 Companion Copywriting (5 Languages)
- Added localized companion mood badges, interactive pet hints, companion speech quotes, and hardware AC plug/unplug notification banners across
English,简体中文,繁體中文 (台灣),繁體中文 (香港), and日本語.
📦 Checksum (SHA-256)
Release v1.0.0 - SleepControl for macOS
- Native macOS utility managing pmset disablesleep with SwiftUI + AppKit + IOKit - Smart AC power automation (zero-polling hardware events via IOKit.ps) - One-click safe passwordless authorization via visudo -cf - Full i18n localization across 5 languages (en, zh-Hans, zh-Hant-TW, zh-Hant-HK, ja) - Adaptive, resizable, and movable frosted-glass status bar control panel - Custom cute cat status icons and AppIcon.icns - MIT open source license and installation guide