AXElements/accessibility_core

View on GitHub
History.markdown

Summary

Maintainability
Test Coverage
# 0.7.1 - Fix building on Rubygems 2.6

  * Fix compiling extensions with Rubygems 2.6+

# 0.7.0 - Fix building on Sierra

  * Update deprecated constant uses (@asterix23)
  * Update some documentation for Ruby 2.4
  * Update test environment for Xcode 8.2 on macOS Sierra

# 0.6.2 - Fix building on The Captain

  * Update AXValue constants for OS X 10.11 changes (@fjwagner)
  * Update test app for most recent Swift changes

# 0.6.1 - Fix Screen Shooting

  * Fix building of the ScreenShooter extension

# 0.6.0 - Screen Shooting

  * Add a ScreenShooter module for taking screenshots

# 0.5.0 - Yosemite Compatability

  * Fix various warnings that show up when compiling against Yosemite system ruby
  * Remove MacRuby support
  * Convert test app to Swift

# 0.4.3 - Oops, -Werror

  * Fix a C warning generated in the Sea Lion compatability code path


# 0.4.2 - Sea Lion Compatability

  * Print notice to standard out when AX access is required for an app (@tbartelmess)
  * Added `CGRect#to_point`
  * `Highlighter` now accepts bounds object that responds to `#to_rect`

  * Disable keyboard events on Sea Lion (@tbartelmess)

  * Remove development dependencies from gemspec, keep them in the Gemfile


# 0.4.1 - Polish

  * Plug various memory leaks in `core.c`
  * Improved error messages for `accessibility/core` on MRI


# 0.4.0 - Fill in the gaps and other dubious requirements

  * Add `Object#load_plist` to match MacRuby's `Object#load_plist`
  * Add `URI::Generic#lastPathComponent` to match `NSURL#lastPathComponent`
  * Add `URI::Generic#pathExtension` to match `NSURL#pathExtension`
  * Add a 50% drop-in replacement for `NSData`
  * Add a 50% drop-in replacement for `NSAttributedString`
  * Add `Object#description` as a freedom patch on MRI
    `NSObject#description` is the Objective-C equivalent to `Object#inspect` in Ruby.
    While the intention is the same, the exact behaviour cannot be mimicked.

  * Fixed some bugs related to converting arrays from Cocoa to Ruby


# 0.3.5 - Add some missing bits for MRI

  * Add `Range#relative_to` to convert ranges to positive indicies
  * Wrap all strings from Cocoa as UTF8
  * Unwrap all ruby strings to Cocoa as UTF8


# 0.3.4 - More adjustments for AXElements

  * Add `NSContainsRect()` for MRI
  * Add `CGRect#contains?` as equivalent of `NSContainsRect()`
  * Change `Object#spin` to use `NSRunLoop` instead of `CFRunLoop`
    (they are not as equivalent as the docs led me to believe)
  * Change `Object#spin` to take a default argument of 0 seconds


# 0.3.3 - The real 0.3.2 release

  * Release the real 0.3.2 gem, none of this non-regenerating gem bull


# 0.3.2 - Adjustments for AXElements

  * Fix `Element#children` raising when AXAPI returns failure error code
  * Conditionally defined `CGPoint`/`CGSize`/`CGRect` on MRI
  * Tweak various bits of documentation related to Cocoa mappings
  * Calculate `NSString` length properly when wrapping in the C extension
  * Add a 10% drop-in replacement for `NSBundle` for AXElements
  * Add `wrap_dictionary` to wrap `NSDictionary` objects
  * Force `CGPoint`/`CGSize` attrs to be `Float` type at initialize time
  * Add `Object#to_ruby` and `Array#to_ruby` when running on MRI


# 0.3.1 - Fix it up

  * Fix C extensions being installed to the wrong location
  * Fix Accessibility module not always being defined at the appropriate time


# 0.3.0 - Merge accessibility\_bridge

  * Merge in `accessibility_bridge` v0.2.0

    - Add the `Battery` module for collecting information about the battery status
    - Add the `Accessibility::Highilghter` module to highlight rectangles on the screen
    - Add `NSScreen.wakeup` method as a freedom patch to wake sleeping screens

    - Add a 99% drop-in replacement for `NSRunningApplication`
    - Add a 20% drop-in replacement for `NSWorkspace` to complement `NSRunningApplication`
    - Add a 66% drop-in replacement for `NSProcessInfo` for collecting  process info
    - Add a 66% drop-in-replacement for `NSHost` for collecting host info
    - Add a 20% drop-in replacement for `NSScreen` to help the highlighter
    - Add a 33% drop-in replacement for `NSColor` to help the highlighter

    - Various bugs fixed (wrapping strings, URLs, rectangles...)
    - Various memory leaks plugged

    __NOTE__: Percentages are somewhat arbitrary based on my personal usage.


# 0.2.0 - Update accessibility\_bridge

  * Update bridge dependency to v0.2.0


# 0.1.2 - Fix some bridging stuff

  * Update bridge dependency to get a fix


# 0.1.1 - Fix the silly things release

  * Fix documentation not being generated
  * Fix C extension not being installed to the proper location
  * Remove redundant core extensions provided by `accessibility_bridge`


# 0.1.0 - Initial Release

  * CRuby and MacRuby compatible

  * Added `Accessibility` namespace
  * Added `Accessibility::Element` class/module as wrapper for `AXUIElementRef` structs

  * Added `Accessibility::Element.application_for` that takes a pid and returns an app reference
  * Added `Accessibility::Element.system_wide` which returns the reference for the system wide reference
  * Added `Accessibility::Element.element_at` which returns the reference for the element at the given co-ordinates
  * Added `Accessibility::Element.key_rate` for querying the typing speed
  * Added `Accessibility::Element.key_rate=` for setting the typing speed

  * Added `Accessibility::Element#attributes` for getting a list of the elements's plain attributes
  * Added `Accessibility::Element#attribute` for getting the value of an attribute
  * Added `Accessibility::Element#size_of` for getting the size of an array attribute
  * Added `Accessibility::Element#writable?` for checking writability of an attribute
  * Added `Accessibility::Element#set` for setting the value of an attribute
  * Added `Accessibility::Element#role` for getting the value of the role attribute
  * Added `Accessibility::Element#subrole` for getting the value of the subrole attribute
  * Added `Accessibility::Element#parent` for getting the value of the parent attribute
  * Added `Accessibility::Element#children` for getting the value of the children attribute
  * Added `Accessibility::Element#value` for getting the value of the value attribute
  * Added `Accessibility::Element#pid` for getting the process identifier for the app for an element
  * Added `Accessibility::Element#parameterized_attributes` for getting the list of the element's parameterized attributes
  * Added `Accessibility::Element#parameterized_attribute` for getting the value of a parameterized attribute
  * Added `Accessibility::Element#actions` for getting the list of actions an element can perform
  * Added `Accessibility::Element#perform` for telling an element to perform an action
  * Added `Accessibility::Element#post` for posting key events to an application
  * Added `Accessibility::Element#invalid?` for checking if an element is alive or dead
  * Added `Accessibility::Element#set_timeout_to` for overriding the default messaging timeout
  * Added `Accessibility::Element#application` for getting the toplevel element for an arbitrary element
  * Added `Accessibility::Element#element_at` for getting app specific element at arbitrary co-ordinates
  * Added `Accessibility::Element#==` for testing equality of elements

  * Depend on `accessibility_bridge` for bridging needs and core extensions