Fixed
- hs.image:colorAt() now takes into account scale #3185
- Fixed crash in hs.image.getExifFromPath() #3177
- Fix hs.spaces so it works when hs.spaces.screensHaveSeparateSpaces() is false #3196
- Fix two crash bugs in hs.camera #3211
- add DemoPro to SKIP_APPS_TRANSIENT_WINDOWS #3236
- Fix bug where window switcher does not go away when caps lock is on #3238
- Fix hs.application.get() always returning nil #3216
- Fix lua-objc mapping to handle high/low surrogate pairs in hs.styledtext #3356
- Spaces now finds Dock instead of Docker #3371
- Truncate Console scrollback history #3400
- Fix windowHints bugs with utf8 chars #3243
- Fix ICMP socket leak in hs.ping #3419
Changed
- Allow hs.chooser query to still be forwarded when no matching string exists #3232
- Bump minimum requirements to macOS 11.0 #3312
- Speed up window switching timers #3237
Added
- Added ability to save a hs.menubar position between reloads #3195
- Added functions to get application localization information #3191
- hs.http must follow redirects #1889 #3279
- Added hs.mouse.currentCursorType() #3265
- Added hs.serial:rts() and hs.serial:dtr() #3314
- feat(spaces): add force arg for moveWindowToSpace #3298
- hs.fnutils.reduce takes an optional initial value #3363
- Added support for Stream Deck Mini V2 #3378
- Added support for Stream Deck Plus #3383
- Add hs.streamdeck:imageSize() #3407
- Add support for Stream Deck Pedal #3409