0.9.31 - 24 May 2015

Minimum OS X version: 10.8

Core

  • None

Extensions

  • Changed: hs.event.keyStroke() converts the character to lower-case. If you need upper-case, pass “shift” in the modifiers table
  • Added: hs.application.launchOrFocusByBundleID() to launch apps by their unique bundle identifier
  • Added: hs.brightness.ambient() to read lux values from the ambient light sensor in MacBooks
  • Added: hs.drawing.image() and hs.menubar:setIcon() now accept a special form of ASCII diagrams, which will be converted into an image

0.9.30 - 13 May 2015

Minimum OS X version: 10.8

Core

  • Crashlytics has been updated to the new Fabric framework, which Crashlytics is now part of. This should not affect users in any way
  • Fix various deficient extension credits, for extensions inherited from Hydra/Mjolnir

Extensions

  • Fixed: hs.eventtap.event.keyStrokes() is now more efficient
  • Fixed: hs.drawing.newText() no longer crashes if its optional parameters are not passed
  • Fixed: Various extensions are now more careful with string parameters, which could previously cause crashes
  • Fixed: hs.grid no longer emits errors for unusual windows that have no value for :screen()
  • Fixed: hs.drawing methods can no longer cause crashes by being called against the wrong type of drawing object
  • Fixed: hs.menubar dynamic menus no longer cause Hammerspoon to crash if the menu generator callback returns the wrong datatype
  • Fixed: hs.uielement is now more robust in the face of errors when creating an object
  • Fixed: hs.eventtap.event no longer leaks one CGEventSourceRef per event
  • Fixed: hs.drawing no longer renders objects in the wrong place on non-primary displays
  • Changed: hs.event.keyStroke() no longer supports sending multiple keystrokes (see hs.event.keyStrokes() for that)
  • Changed: hs.hints.windowHints() now supports a callback function
  • Added: hs.http for making simple and complex HTTP requests
  • Added: hs.usb.watcher for reacting to USB device insertions/removals
  • Added: hs.drawing:setTextFont() for changing the font of a drawing object
  • Added: hs.host for inspecting network address/name information