Skip to content

Releases

v1.1.3 - Dashboard Version Display & Build Automation

Choose a tag to compare

@himanzero himanzero released this 06 Nov 15:23

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), and Japanese).

⚙️ 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

  1. Download SleepControl-v1.1.3.zip from this release.
  2. Unzip it and drag SleepControl.app into your /Applications folder.
  3. 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

Choose a tag to compare

@himanzero himanzero released this 06 Nov 05:44

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's AppleClamshellState directly via IOKit (<0.2ms latency, zero Mach port leak).
  • Native Demanded Sleep: Calls unprivileged native IOPMSleepSystem immediately 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.preferencechanged Darwin notifications. Telemetry updates instantly upon external pmset changes with 0.0% background idle CPU.
  • On-Demand Privilege Check: Decoupled sudo -n -l validation 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 clears disablesleep 1 back to 0 on clean application quit to prevent lingering sleep-disabled states.
  • Boot-time Abnormal Exit Recovery: Automatically detects and restores disablesleep 0 if 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.app

v1.1.1 — Dynamic Activity Log Localization

Choose a tag to compare

@himanzero himanzero released this 01 Nov 17:55

🐱 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 ActivityLogItem from 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

Choose a tag to compare

@himanzero himanzero released this 01 Nov 15:22

🐱 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 sleep z Z particles, 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 AuroraAmbientBackdrop with 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

Choose a tag to compare

@himanzero himanzero released this 01 Nov 09:00
- 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