D-Bus Python Bindings 1.2.4 (UNRELEASED)

...

D-Bus Python Bindings 1.2.2 (2016-02-22)

The “mind fray” release.

Versioning changes:

Dependencies:

Enhancements:

Fixes:

D-Bus Python Bindings 1.2.0 (2013-05-07)

The "compile like it's 1998" release.

Dependencies:

Enhancements:

Fixes:

D-Bus Python Bindings 1.1.1 (2012-06-25)

The "Lemonade Sky" release.

Dependencies:

Fixes:

D-Bus Python Bindings 1.1.0 (2012-05-09)

The “eaten by spiders” release.

Deprecations:

API changes:

Enhancements:

Fixes:

D-Bus Python Bindings 1.0.0 (2012-01-24)

The "never trust a .0 release?" release.

Dependencies:

API changes:

Enhancements:

Fixes:

D-Bus Python Bindings 0.84.0 (2011-05-25)

The "Comrade Bill Bartram's Egalitarian Anti-Imperialist Soviet Stout" release.

Enhancements:

Fixes:

D-Bus Python Bindings 0.83.2 (2010-12-02)

Dependencies:

Fixes:

D-Bus Python Bindings 0.83.1 (2010-02-18)

Fixes:

D-Bus Python Bindings 0.83.0 (2008-07-23)

Features:

Fixes:

D-Bus Python Bindings 0.82.4 (2007-12-10)

Fixes:

Licensing:

D-Bus Python Bindings 0.82.3 (2007-09-27)

Fixes:

Deprecations:

Licensing:

D-Bus Python Bindings 0.82.2 (2007-08-01)

Incompatibility with 0.82.1:

Features:

Fixes:

D-Bus Python Bindings 0.82.1 (2007-07-11)

The "double precision" release.

Fixes:

Deprecations:

D-Bus Python Bindings 0.82.0 (2007-06-19)

Features:

Fixes:

D-Bus Python Bindings 0.81.1 (4 June 2007)

Features:

Bug fixes:

D-Bus Python Bindings 0.81.0 (9 May 2007)

The 'series of tubes' release

This is a feature release with support for non-bus-daemon connections and improved GObject integration.

Features:

  • Bus has a superclass dbus.bus.BusConnection (a connection to a bus daemon, but without the shared-connection semantics or any deprecated API) for the benefit of those wanting to subclass bus daemon connections
  • BusConnection has a superclass dbus.connection.Connection (a connection without a bus daemon) for use in peer-to-peer situations, or distributed pseudo-bus situations without a bus daemon such as Telepathy's Tubes API
  • dbus.gobject_service.ExportedGObject is like dbus.service.Object, but is also a subclass of GObject (with the necessary metaclass magic to make this work). Until someone has verified that the GObject side of things works as expected too, I consider this API to be potentially subject to change!
  • Connection and BusConnection have gained a number of useful methods, including watch_name_owner (track name owner changes asynchronously, avoiding race conditions), call_blocking and call_async (blocking and asynchronous method calls without going via a proxy - note that these are semi-low-level interfaces which don't do introspection), and list_names, list_activatable_names and get_name_owner which are simple wrappers for the corresponding org.freedesktop.DBus methods
  • dbus.Interface (now also available at dbus.proxies.Interface) and dbus.proxies.ProxyObject now have some reasonably obvious properties.

Deprecations:

  • All keyword arguments called named_service are deprecated in favour of an argument called bus_name (to be compatible with both older and newer dbus-python, you should pass these positional arguments).
  • The bus keyword argument to dbus.proxies.ProxyObject is deprecated in favour of an argument called conn, because proxies will work on non-bus connections now (again, for maximum compatibility you should use a positional argument for this).
  • No warning is raised for this, but I consider calling any remote method on a ProxyObject or Interface whose name is either alllowercase or lower_case_with_underscores to be deprecated, and reserve the right to add properties or methods of this form in future releases - use ProxyObject.get_dbus_method if you must call a remote method named in this way. Methods named following TheUsualDBusConvention or theJavaConvention are safe.

Bugfixes:

  • Exceptions in signal handlers print a stack trace to stderr (this can be redirected elsewhere with Python's logging framework). Partially addresses fd.o #9980.
  • The reserved local interface and object path are properly checked for.
  • When you return a tuple that is not a Struct from a method with no out_signature, it's interpreted as multiple return values, not a single Struct (closes fd.o #10174).
  • If send_with_reply() returns TRUE but with pending call NULL, dbus-python no longer crashes. This can happen when unexpectedly disconnected.
  • Arguments are not examined for functions declared METH_NOARGS (this is unnecessary and can cause a crash).

Other notable changes:

  • dbus-python uses the standard Python logging framework throughout. The first time a WARNING or ERROR is generated, it will configure the logging framework to output to stderr, unless you have already configured logging in your application.
  • The tutorial now advocates the use of add_signal_receiver if all you want to do is listen for signals: this avoids undesired activation, e.g. of Listen or Rhythmbox (!). Addresses fd.o #10743, fd.o #10568.

D-Bus Python Bindings 0.80.2 (13 February 2007)

D-Bus Python Bindings 0.80.1 (24 January 2007)

D-Bus Python Bindings 0.80.0 (24 January 2007)

D-Bus Python Bindings 0.71 (24 July 2006)

D-Bus Python Bindings 0.70 (17 July 2006)