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.
