0.9.39 - 01 Sep 2015

Core

  • The build system for extensions has changed from our custom Makefile/script setup, to Xcode. This should not produce any noticeable changes for users, but if it does, please file issues at GitHub!
  • Almost all extensions are now making extensive use of our LuaSkin framework for registering their functions with Lua, and calling Lua callbacks. This should also not produce any noticeable changes for users, but if it does, please file issues at GitHub!
  • Many of the userdata objects created by extensions, now have __tostring methods, which makes inspecting them in the Hammerspoon Console, easier.

Extensions

  • Fixed: hs.base64.encode() no longer truncates its output
  • Fixed: hs.ipc no longer leaks CFMessagePortRefs
  • Fixed: hs.spaces.watcher no longer leaks window lists
  • Fixed: hs.menubar crash with nil menu item names
  • Fixed: Console window output should now be more UTF8-safe
  • Changed: hs.windowfilter has seen numerous improvements and has been renamed to hs.window.filter
  • Changed: Various hs.fnutils iterators have slightly changed their behaviours
  • Changed: hs.grid will now use hs.window.frontmostWindow() instead of hs.window.focusedWindow(), which should be more intuitive for users
  • Changed: hs.timer timers will now stop firing if the Lua callback generates an error (although this behaviour can be overridden)
  • Changed: hs.notify has been partially rewritten and should be more reliable
  • Changed: Object methods in hs.caffeinate and hs.eventtap.event now return their object (i.e. to enable method chaining)
  • Changed: hs.geometry is now significantly more powerful
  • Changed: hs.grid.show() can now be used to iterate through multiple windows
  • Added: hs.screen.primaryScreen(), hs.screen.screenPositions(), hs.screen:position()
  • Added: hs.drawing.setTextStyle(), hs.drawing.getTextDrawingSize()
  • Added: hs.timer:nextTrigger()
  • Added: hs.audiodevice can now operate on input devices as well as output devices.
  • Added: hs.expose
  • Added: hs.screen.find() and hs.screen:fromUnitRect()

0.9.38 - 05 Aug 2015

Core

  • This release is happening quickly after 0.9.37 to correct an issue with Crashlytics symbols, apologies for the churn!

Extensions

  • Fixed: potential crash in hs.drawing.setBehaviour()
  • Changed: hs.mouse.get/set (deprecated) now warn when they are used.
  • Added: hs.host.interfaceStyle(), hs.host.uuid(), hs.host.globallyUniqueString()
  • Added: hs.fs.temporaryDirectory()
  • Added: various helper functions in hs.timer