What's new in pyatspi 2.38.1:

* Add sanity checks to getPath and findAncestor so that we don't
  hang if an accessible returns itself as its own parent (#6, #7).

What's new in pyatspi 2.37.90:

* Tests: use libatspi's dbus-gmain implementation, eliminating
  dependency on dbus-glib (!4).

* Migrate to gtk 3 (!23).

* Add support for the mode-changed signal (!24).

What's new in pyatspi 2.35.1:

* Fix dead link in README.

* Adjust accepted test results for python 3.8 compatibility (!21).

* Add ROLE_MARK and ROLE_SUGGESTION (!22).

What's new in pyatspi 2.34.0:

* Updated doap, and include it in the tarball.

What's new in pyatspi 2.33.92:

* Several test fixes (thanks to Samuel THibault).
* Add license header on some test files.

What's new in pyatspi 2.33.90:

* Fix typo in get_imageLocale.

* event.str(): show event sender.

* Remove wrapper for atspi_text_notify_reading_position, as the function has
  been removed from at-spi2-core.

* events: replace object:text:reading-position with
  screen-reader:region-changed.

* Add wrapper for atspi_set_reference_window.

What's new in pyatspi 2.33.2:

* Add support for ROLE_CONTENT_DELETION and ROLE_CONTENT_INSERTION.

What's new in pyatspi 2.33.1:

* Fix arguments in text.addSelection.

* Fix default kind value for registerKeystrokeListener.

* Document that extents are only meaningful when the accessible is both
  visible and showing.

* Add accessibleId property.

* Add text.notifyReadingPosition.

* Fix print usage in example, for python 3 compatibility.

What's new in pyatspi 2.31.2:

* Add ScrollSubstringTo and ScrollSubstringToPoint text interfaces.

What's new in pyatspi 2.31.1:

* Add support for locking/unlocking modifiers.

What's new in pyatspi 2.29.1:

* Add ScrollTo and ScrollToPoint component interfaces.

What's new in pyatspi 2.25.90:

* registry: Rename async keyword for compatibility with Python 3.7.

* Add missing XY_PARENT export.

What's new in pyatspi 2.25.3:

* Add error-message, error-for, details, and details-for relation types

What's new in pyatspi 2.25.2:

* Add some missing roles to correspond with atk (description list,
  description term, description value, and footnote).

What's new in pyatspi 2.24.0:

* Fix an invalid escape sequence.

* Rename enum class to atspienum to avoid name conflict; fixes build with
  python 3.6.

What's new in pyatspi 2.20.2:

* Update STATE_LAST_DEFINED so that STATE_READ_ONLY is recognized
  (bgo#766121).

What's new in pyatspi 2.20.1:

* gettext: Don't modify endOffset (bgo#721860).

What's new in pyatspi 2.19.91:

* Fix text.getDefaultAttributeSet (bgo#752928).

What's new in pyatspi 2.17.90:

* Call gi.require_version() before import

What's new in pyatspi 2.15.90:

* Add new roles for fractions, roots, subscripts, and superscripts (bgo#743413).

What's new in pyatspi 2.15.4:

* Support ATSPI_STATE_READ_ONLY (bgo#690108).

What's new in pyatspi 2.15.3:

* Add ROLE_STATIC (bgo#740364).
    
What's new in pyatspi 2.14.0:

* Test fixes.

What's new in pyatspi 2.11.92:

*Fix a traceback when removing a text selection.

What's new in pyatspi 2.11.90:

* Add AtspiTableCell, tracking the new atk interface.

What's new in pyatspi 2.11.3:

* document: add support to current page and page count (BGO#719508).

What's new in pyatspi 2.11.2:

* Add new roles and states to track atk (BGO#710464, BGO#712608, BGO#712609).

What's new in pyatspi 2.9.92:

* Handle attribute lists with multiple accepted values for the same key
  when creating a collection match rule (BGO#700865).

What's new in pyatspi 2.9.90:

* Added getStringAtOffset.

What's new in pyatspi 2.9.3:

* Add some examples (Magdalen Berns, BGO#701063).

* Removed setting of AT_SPI_CLIENT, as it is no longer used as of
  at-spi2-core 2.9.3.

What's new in pyatspi 2.9.2:

* Update for libatspi API changes (BGO#700243).

What's new in pyatspi 2.7.91:

* Add objectLocale property (BGO#694368).

* Stop using a deprecated method.

* Don't install the example, since it isn't compatible with Python 3.

What's new in pyatspi 2.7.5:

* Support new levelbar role.

What's new in pyatspi 2.7.2:

* Add a --with-python option to configure.ac.

* Fix getCharacterAtOffset.

What's new in pyatspi 2.7.1:

* Export application class in the Accessibility namespace, for
  backwards compatibility.

What's new in pyatspi 2.6.0:

* Install caret focus tracker into $bindir, rather than $pythondir/examples.

* Fix incorrect FSF address in file headers.

What's new in pyatspi 2.5.92:

* Fix for bug #683302 - Missing argument for set_current_value method

* Include interim focus tracker as an example.

What's new in pyatspi 2.5.91:

* Fix autogen.sh for non-sourcedir build.
    
What's new in pyatspi 2.5.5:

* Add getLocalizedName for actions.

What's new in pyatspi 2.5.4:

* Wrap all interfaces (BGO#679044).

What's new in pyatspi 2.5.3:

* Fix truth evaluation for accessibles in Python 3.

* Fix for bug #678497 - dict.iteritems() is no longer supported in Python 3

* Re-add setTimeout (it seems that it was lost among the Python 3 updates).

What's new in pyatspi 2.5.2:

* More Python 3 fixes.

* Fix getStates regression (BGO#677070)

What's new in pyatspi 2.5.1:

* Add setTimeout.

* Some clean-ups for Python 3.

What's new in pyatspi 2.3.92:

* Another fix for --enable-tests.

What's new in pyatspi 2.3.91:

* Fix --enable-tests.

What's new in pyatspi 2.3.5:

* Fix for BGO#660826: Drop unneeded pygtk check.

* Remove exception wrapping - pyatspi will now return the real exception
  as translated by pygi, rather than LookupError. This means that it is now
  necessary to catch, eg, RuntimeError rather than LookupError if one wishes
  to catch exceptions, but it is now possible to see the original error.

What's new in pyatspi 2.3.4:

* Fix for BGO#666871: deregisterKeystrokeListener was broken.

What's new in pyatspi 2.2.1:

* Use hasattr rather than a try in registerEventListener, for performance.

* Fix for BGO#661613: getOffsetAtPoint now works.

What's new in pyatspi 2.1.91:

* Fix for BGO#658343: Have configure check for pygobject-3.0

What's new in pyatspi 2.1.90:

* Fix getTextBeforeOffset.

* Remove legacy pygtk dependency.

What's new in pyatspi 2.1.5:

* Remove support for relocated pyatspi-corba.

* Fix getTextBeforeOffset.

What's new in pyatspi 2.1.4:

* Update to handle libatspi API changes.

* Fix for BGO#653874 - new ATK roles.

What's new in pyatspi 2.1.3:

* BGO#644393: Remove document:content-changed from EVENT_TREE

What's new in pyatspi 2.1.2:

* Fix traceback when creating match rules with attribute sets

* Add atspiVersion().

* Fix several table functions

* Fix makeSyncType to generate a proper enum (will be needed when enum-types
  branch of at-spi2-core is merged).

* Add clearCache().

* Cache eventTypes in events for performance reasons.

* Add GPL2 license because a couple of test files are licensed under it.

What's new in pyatspi2 2.1.1:

* Fix traceback when calling document functions

What's new in pyatspi2 2.0.1:

* Fix for BGO#645644: Throw LookupError rather than RUntimeError

* Add id property

* Add a work-around for getStates failing on 64-bit systems with pygobject
  2.28.3 and earlier.

What's new in pyatspi2 2.0.0:

* Removed some unused files.

What's new in pyatspi2 1.91.92:

* Added some missing __str__ functions for events and accessibles.

What's new in pyatspi2 1.91.91:

* Fix for BGO#643384: registerKeystrokeListener should pass a bit mask, not an
  enum.

What's new in pyatspi2 1.91.90:

* Refactor EditableText so that text methods can be called from it.

* Make state accessible through pyatspi.constants.

* Fix selection interface.

* Fix for BGO#641869: Remove --enable-relocate option.

What's new in pyatspi2 1.91.6:

* Added source_name and source_role to events.

* Call gconftool-2 to check the value of /desktop/gnome/interface/at-spi-corba
rather than importing gconf, since the latter can cause problems if new and
old versions of the Python bindings are mixed.

* Added setExtents, setSize, and setPosition for components.

* Added setCacheMask.

What's new in pyatspi2 1.91.5:

* Fixed generateKeyboardEvent, description, and allModifiers.

* Added a dummy stateset.unref function for backwards compatibility.

* Added a pumpQueuedEvents stub.

* Added RELATION_EMBEDDED_BY.

* Hide children attribute since it is currently broken and caused a crash
  with Accerciser.

* Wrap event type so that sub-fields can be accessed.

What's new in pyatspi2 1.91.4:

* Added a dummy freeMatchRule function.

* Attribute fixes.

* __getitem__ now supports negative indices.

* Fixed some properties, relationToString, listInterfaces, various text
  methods.

* Raise notImplementedError when querying unimplemented interfaces.

What's new in pyatspi2 1.91.3:

* This is a major refactor using the C-based libatspi as a core.  This should
  significantly improve performance.  However, this release is very buggy and
  is more of a development snapshot than a usable release.

What's new in pyatspi2 1.91.1:

    * Add configure check for python-xlib

    * Have calls on the async bus time out after 2 seconds

    * Added a LRU cache for objects that use the soft cache

What's new in pyatspi2 1.91.0:

* --disable-relocate is the default again.

* Added a "soft cache" to try to avoid repeatedly querying for information
in cases where we never received an AccessibleAdded signal for an object.

What's new in pyatspi2 0.3.91:

* Enable relocate by default for now.

* Ensure that queued events are delivered when calling registry.stop().

* If an unexpected exception is thrown when checking for the accessibility bus
(ie, python-xlib is missing), throw the exception rather than silently
reverting to the session bus.

What's new in pyatspi2 0.3.90:

* Have registerEventListener an deregisterEventListener notify the registry,
as is now needed.

* Avoid raising an event multiple times if EVENT_TREE is used to register for
all events.

What's new in pyatspi2 0.3.6:

* Some thread safety fixes; should no longer deadlock when listening for
events using Strongwind.

What's new in pyatspi2 0.3.4:

* Listen for AddAccessible and RemoveAccessible at the DesktopCache level.
This fixes a regression with Firefox for instance that was introduced in v0.3.3.

What's new in pyatspi2 0.3.3:

* Hyperlink fixes.

* When an object's parent is set to null, remove it from the parent in
the cache.

* Fix an issue where a state-changed handler can be called before the
cache received the signal and updated the state.

* Only range check for __getitem__, not getChildAtIndex.  This is
pyatspi-corba's behavior and should improve performance in some cases.

* Fix tracebacks when checking some event properties.

* Fix a traceback when simulating a defunct state for an object that has
gone away.

* Fix traceback when calling queryDocument.getAttributes(),
queryText().getCharacterExtents(), and queryValue().setCurrentValue().

* Fix handling of some ChildrenChanged signals sent by Firefox.

What's new in pyatspi2 0.3.2:

* Remove double deletion of application from the desktop cache handler.
Was causing a mostly harmless exception when an application shut down.

* Role changes now update the cache.

* Avoid throwing an exception in getState() if an object no longer exists.
This avoids potentially throwing an eception where at-spi-corba may not.

* Do not use the cache if registry.start() has not been called; allows
simple scripts without a main loop to work better.

What's new in pyatspi2 0.3.1.1:

Install to $PYTHONDIR again, since we have no arch-specific dependencies.

* Do not dispatch events while waiting for a reply from a method call.
What's new in pyatspi2 0.3.1:

* Fixed GetLink, GetColumnHeader, getAccessibleAtPoint, and possibly others.

* Fix children-changed, property-change::accessible-parent, and
active-descendant-changed events.

* Update an accessible's StateSet when a StateChanged signal is received.

* Properly fetch children of MANAGES_DESCENDANTS objects (ie, do not use cache)

* The desktop's role is now set to ROLE_DESKTOP_FRAME.

* Use pyexecdir as a base rather than pythondir.

* Disable relocation by default.
