0.9.37 - 04 Aug 2015

Minimum OS X version: 10.8

Core

  • The About window now shows acknowledgements for third party libraries, including their licenses
  • API documentation formatting is now much tidier
  • Hammerspoon preferences can now (mostly) be interacted with from Lua

Extensions

  • Fixed: Various hs.windowfilter bugs have been fixed
  • Fixed: hs.menu submenus can how have items enabled or disabled
  • Changed: hs.image/hs.application/hs.window objects can now be print()ed in the Console, to get more information about them
  • Changed: hs.grid overlay hints now work up to 10x10 (previously 5x5)
  • Changed: hs.windowfilter:notify() now has an optional parameter to cause callbacks to be called immediately
  • Changed: hs.image objects can now be directly compared for equality
  • Changed: hs.drawing objects can now respond to mouseDown events and middle/right mouse button events
  • Changed: hs.image.imageFromASCII() now has an optional parameter to define metadata about the drawing styles to be used
  • Added: hs.menubar:title() and hs.menubar:icon()
  • Added: hs.httpserver
  • Added: hs.screen.findByID()
  • Added: hs.logger.defaultLogLevel is now explicitly defined and configurable

0.9.36 - 30 Jul 2015

Minimum OS X version: 10.8

Core

  • None

Extensions

  • Fixed: hs.window:snapshot() works more reliably for hidden/minimized windows
  • Changed: Various improvements to hs.doc and help()
  • Changed: hs.utf8 is mostly backed onto the UTF8 library in Lua 5.3
  • Added: hs.windowfilter (NOTE: This is considered experimental at this stage, please test it!)
  • Added: hs.appfinder.windowFromWindowTitlePattern()
  • Added: hs.grid.toggleShow()
  • Added: hs.battery.psuSerial()
  • Added: hs.pasteboard.contentTypes() and hs.pasteboard.pasteboardTypes()
  • Added: hs.host.operatingSystemVersion() and hs.host.operatingSystemVersionString()
  • Added: hs.utf8.registeredLabels()
  • Added: hs.menubar menus can now be presented as popup menus anywhere on the screen
  • Added: hs.eventtap.scrollWheel() and hs.eventtap.event.newScrollWheelEvent()
  • Added: hs.window.snapshotForID()