0.9.77 - 27 Dec 2019
Core
- Hammerspoon’s Lua environments now pass in a high quality random number to
math.randomseed()
so it is no longer to manually call that function in your Lua configs - For new users, Hammerspoon now defaults to running without a dock icon
Extensions
- Fixed: hs.itunes extension now correctly talks to macOS 10.15’s Music.app
- Fixed: various bugs in hs.uielement
- Added: hs.screen:setOrigin()
- Added: hs.math with a couple of random number generation functions
- Added: hs.window.timeout()
- Added: hs.plist.readString()
- Changed: hs.image.imageFromURL() now supports asynchronous operation via a callback
0.9.76 - 07 Oct 2019
Minimum macOS version: 10.12
Core
- The minimum supported version of macOS is now 10.12.
- Hammerspoon is now Notarized to satisfy macOS Catalina requirements. Please report any issues you run into.
Extensions
- Removed: hs.drawing has been removed. Its API remains available via an emulation layer built on hs.canvas
- Fixed: A potential crash in js.json is now guarded against
- Fixed: A potential crash in hs.application:getMenus() is now guarded against
- Fixed: hs.http POST calls now work better with raw binary data
- Added: hs.hid.led
- Added: hs.bonjour
- Added: hs.window:isMaximizable()
- Added: hs.eventtap.event:getUnicodeString()/setUnicodeString()
- Added: hs.screen:getUUID()
- Added: hs.fs.pathToBookmark()
- Added: hs.webview.toolbar.uniqueName()
- Added: hs.webview:isVisible()
- Added: hs.mouse.count() and hs.mouse.names()
- Added: hs.host.locale.localizedString()
- Added: hs.microphoneState() and hs.cameraState()
- Added: hs.json.read() and hs.json.write()
- Changed: hs.doc has been optimised to reduce startup/reload times significantly
- Changed: hs.chooser’s UI has been updated and should now correctly return input focus to the previous app when it is dismissed
- Changed: hs.caffeinate.lockScreen() has been replaced with a new implementation that works more correctly. The old implementation is now available as hs.caffeinate.fastUserSwitch()
- Changed: hs.screen.find() can now search for screens by UUID
- Changed: hs.fs.getPathFromBookmark() is now hs.fs.pathFromBookmark()
- Changed: hs.eventtap.event.newMouseEvent() now accepts mouseMoved events
- Changed: hs.updateAvailable() now also returns the build number of an available version