D-Bus is a messaging system that allows applications to communicate with one another in a straightforward manner.
The message bus is built on top of a general one-to-one message passing framework, which enables any two apps to communicate directly without going through the message bus daemon. Currently, D-Bus supports communicating applications on one computer or through unencrypted TCP/IP, which is suitable for use behind a firewall with shared NFS home directories. However, the transport mechanism is extensible, and there is a need for better remote transports.
The D-Bus low-level API and protocol have undergone rigorous testing over several years and are now deemed stable. Future changes will either be compatible or versioned appropriately. The low-level libdbus library has no required dependencies, and the bus daemon's only *required* dependence is an XML parser (either libxml or expat). Higher-level bindings specific to particular frameworks (Qt, GLib, Java, C#, Python, etc.) may add more dependencies but are much simpler to use.
The bindings evolve separately from the low-level libdbus, so some are more mature and ABI-stable than others. It is advisable to check the documentation for the binding you plan to use. Some exciting new features in the latest release include compiling under some older versions of glibc, support for compiling without X, and various Mac OS X build fixes. Other improvements include better checks for linker flag support, dict functionality corrected with dbus-send, and the inotify backend is now less aggressive.
In conclusion, D-Bus is a powerful message bus system that offers seamless interprocess communication and aids in the smooth functioning of applications and daemons. Its robust low-level API and protocol, combined with high-level bindings for various frameworks, make it easy to use for developers of different skill levels. The latest release has some improvements and bug fixes that improve the overall user experience.
Version 1.2.1: N/A