1.1.0 - 24 Dec 2025
Minimum macOS version: 13.0
Fixed
- hs.task arguments are now validated to all be strings. Closes #2337
- Early Lua setup will now create proper package.path entries with expanded tildes. Closes #3518
- hs.httpserver:start() now correctly handles websockets. Closes #3468
- Internal overrides of Lua’s print() function will no longer cause recursion when using hs.ipc
- hs.window.filter now tracks applications by PID rather than by name, preventing issues when multiple apps are running with the same name
- Stream Deck Mini v1 button callback is now functional. Closes #3766
- Resolved a situation where hs.window:application() could corrupt Lua’s stack after an application had terminated
- Resolved a crash where event handlers received an invalid PID after an application had terminated
Changed
- hs.urlevent callbacks will now always be sent scheme/host in lowercase. Closes #3686
- hs.menubar:setMenu() will no longer always recreate menus, allowing them to be modified while visible. Closes #1923
- hs.window:setFrame() is now aware of applications that use “Enhanced UI” features to animate their windows.
- hs.mouse.trackingSpeed() can now get/set trackpad speeds. Closes #3744
Added
- When acting as the default handler for http/https, Handoff URLs are now supported (PR #3635)
- hs.eventtap can now create smart magnify events. Closes #3282
- Added hs.audiodevice:thru() / hs.audiodevice:setThru() for monitoring audio from one device to another.
1.0.0 - 06 Aug 2024
Minimum macOS version: 12.0
Anniversary
This release comes after 100 releases of 0.9, and just two months shy of Hammerspoon’s 10th birthday.
Thank you all for your part in this project, it’s been a lot of fun!
Fixed
- Large amounts of Console window history should now consume less RAM and Hammerspoon should no longer hang when large amounts of text are written quickly to the window.
- hs.network.ping should now always call the didFinish callback
- hs.pasteboard.callbackWhenChanged() now correctly accepts nil for its first argument, as documented
- Moving a window to another Space is now fixed in macOS Sonoma
- Various typos/grammar/mistakes in docstrings have been fixed
Changed
- Lua has been updated to 5.4.7
- hs.urlevent callback now receives an extra parameter containing the full original URL
- When holding Cmd and Option at startup, the dialog for resetting preferences is now clearer
Added
- hs.spotify.getCurrentTrackArtworkURL()
- hs.streamdeck now supports the newer hardware variant of the Stream Deck XL