0.9.27 - 21 Mar 2015

Note

  • The hs.spotify extension is reported to not be working with the latest Spotify client, due to changes in their AppleScript support. This will be addressed in a future Hammerspoon release (possibly by removing hs.spotify, if it is no longer workable)

Core

  • Changed: Lua callbacks from C/ObjC extensions should now be unable to corrupt the Lua function registry if they are overfreed (which is a known bug in hs.notify)

Extensions

  • Changed: hs.itunes and hs.spotify no longer display an hs.alert for each operation.
  • Changed: hs.window.windowsTo{East,West,North,South} now attempt to take window z-order into account when ordering windows by proximity
  • Added: hs.urlevent for reacting to hammerspoon:// URLs being opened by other apps (i.e. this is another way to do IPC with Hammerspoon)

0.9.26 - 14 Mar 2015

Note

  • There are two API changes in this release, both in hs.eventtap. See the Extensions section below for more information

Core

  • Added: Preferences window now includes an option to disable sending crash reports, and a link to our privacy policy for crash reports. We would humbly request that you not disable the crash reports, as they are super helpful to us in improving Hammerspoon.
  • Added: Crash reports now include the location of C libraries loaded by Hammerspoon (we are trying to track down some crashes that make no sense and may be coming from stale on-disk libraries)

Extensions

  • Fixed: hs.notify should no longer cause crashes
  • Changed: hs.eventtap.newKeyEvent() modifier table has changed. Values are now inspected, rather than keys.
  • Changed: hs.eventtap.keyStrokes() has been replaced with a different implementation that no longer accepts a modifiers table. The old implementation (which was always more suited to sending single key strokes) is still available, as hs.eventtap.keyStroke()
  • Changed: hs.pasteboard functions can now work with named pasteboards (useful for integrating with other automation tools)
  • Added: hs.drawing objects can now be filled with linear gradients
  • Added: hs.drawing.rectangle() objects can now be rounded rects
  • Added: hs.drawing.image() for rendering simple pictures on-screen (including animated GIFs)
  • Added: hs.usb for enumerating currently attached USB devices (in a future release, this will also be able to watch device insertions/removals)