Changelog¶
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
1.3.1 - 2026-08-11¶
Fixed¶
- Scheduled power action never fired. The warning dialog built its message
label with
pady=(18, 6)— a 2-tuple is only valid on.pack(), so Tk raisedbad screen distancebefore the widgets and countdown were created. The result was an empty "Power action" window and no Sleep/Hibernate/Shutdown at any duration, on both Windows and macOS. - Windows hibernate is now reliable. Uses
shutdown /hinstead ofSetSuspendState(1, 1, 0), which can silently fall back to sleep on some machines. Falls back to the power API if the command is unavailable.
Added¶
- Documentation site built with MkDocs Material, published to GitHub Pages at https://mahanteshimath.github.io/do-not-lock-my-system/.
tests/test_power_actions.py— covers the Windows and macOS power actions and the warning-dialog render/execute flow that regressed above.
Removed¶
- The redundant
dont_lock_pc.pylegacy launcher shim; usedontlockpcorpython -m dontlockpc.
1.3.0 - 2026-07-26¶
Added¶
- Scheduled power action — a "Then … after …" control to Sleep, Hibernate
(Windows), or Shut down the machine once a timer elapses (minutes or a
HH:MMclock time). The countdown is armed while keep-awake is running, releases keep-awake first, and shows a 30-second cancelable warning before acting. Backed by a newpower_actions/power_actioncapability on the backend interface (Windows: Sleep/Hibernate/Shutdown · macOS: Sleep/Shutdown).
1.2.2 - 2026-07-13¶
Changed¶
- Polished the developer credit line: crisp red heart, bold underlined name, and a hover highlight on the link.
1.2.1 - 2026-07-13¶
Added¶
- Developer credit — a footer credit line with a clickable link.
Removed¶
- Unused color constants (
SURFACE,BLUE) from the UI palette.
1.2.0 - 2026-07-13¶
Added¶
- Stay awake with the lid closed (Windows) — an optional toggle that
overrides the active power plan's lid-close action to Do nothing while
keep-alive is running, and restores the original setting on STOP/exit. Backed
by a new
prevent_lid_sleep/restore_lid_sleepcapability on the backend interface (lid_close_supported). Not available on macOS, where clamshell sleep requiressudo pmset.
1.1.1 - 2026-07-13¶
Added¶
- Automated release builds — a GitHub Actions
Releaseworkflow that, on everyv*tag, builds the standaloneDontLockMyPC.exe(Windows) andDontLockMyPC.app(macOS) with PyInstaller, zips them, and attaches them to the published GitHub Release.
1.1.0 - 2026-07-13¶
Added¶
- Start at login — an in-app "Start automatically at login" toggle backed by
a new cross-platform
autostartmodule (WindowsRunregistry key / macOS LaunchAgent). - Standalone build — a checked-in
dontlockpc.specfor PyInstaller that produces a windowedDontLockMyPC.exe(Windows) orDontLockMyPC.app(macOS);pyinstalleradded to the dev extras. - UI preview —
docs/screenshot.svgembedded in the README.
Changed¶
- Repositioned the app around its core use case: keeping the system awake and unlocked while long-running AI agents work. Updated README, in-app subtitle, and package metadata accordingly.
- Close button (✕) now fully exits the app; the minimize button (─) hides to the system tray.
1.0.0 - 2026-07-13¶
Added¶
- Cross-platform support for Windows and macOS via a pluggable
keep-awake backend abstraction (
KeepAwakeBackend). - macOS backend using the built-in
caffeinateutility plus QuartzCGEventmouse/F15 input synthesis. - Proper
src/package layout (dontlockpc) withpython -m dontlockpcand adontlockpcconsole entry point. - Packaging via
pyproject.toml, platform-marked dependencies, and a development extras group. - System-tray wrapper that degrades gracefully where a background-thread tray is unavailable (e.g. macOS → minimize to Dock).
- GitHub Actions CI (lint + import smoke on Windows and macOS), issue/PR
templates,
CONTRIBUTING.md,CODE_OF_CONDUCT.md, and tests.
Changed¶
- Extracted the original single-file Windows script into a package; the
Windows Win32 logic now lives in
backends/windows.py. - UI now uses platform-appropriate fonts and a native title bar on macOS.
Full commit history and release downloads are on GitHub Releases.