Version 0.1 - Jan 4 2009
	- First experimental release

Version 0.2 - Feb 14 2009
	- Adapt dbus-intf to the changed API of dbus-tcl version 0.8
	- Include all files needed for a full installable package

Version 0.3 - Dec 7 2009
	- Add the ability to invoke callbacks in named interpreters

Version 0.4 - Mar 3 2012
	- Run the body code in the namespace it was defined in

Version 1.0 - Aug 17 2013
	- Rename the package from dbus-intf to dbif, which allows it to be
	  easily turned into a Tcl module.
	- Install the package as a module instead of an old-fashioned package.
	- Global variable of a property is in the interp specified for body.
	- No more magic variables in a property script. The local variable has
	  the same name as the property.
	- Check if the value provided for a property matches the signature.
	- New "delete" subcommand to delete a node subtree.
	- Let dbif default return the current defaults.
	- If no defaults have been set up, set the default bus to the bus used
	  when connecting.
	- The introspect method now lists the GetAll method for properties.

Version 1.1 - Sep 6 2014
	- Add -id option to the signal subcommand to allow user specified
	  SignalID's.

Version 1.2 - Jun 18 2015
	- Implement the org.freedesktop.DBus.Properties.PropertiesChanged
	  signal.
	- Allow use of busses other than session and system.
	- Add -attributes option to specify annotations.
	- Adopt the [return -async 1] idiom from dbus 2.1.
	- Provide a way to add/replace methods and signals for standard
	  interfaces.
	- Completely clean up the old signal when reusing a signalID.
	- Clean up (array) variables when they are no longer needed.
	- Fix introspection when no objects have been defined.
	- Correctly handle signals without a handler.

Version 1.3 - Jun 21 2018
	- Adapt the code to changes introduced in dbus-tcl 2.2
	- Add a 'dbif pave' command for creating a path without any specific
	  methods or signals. This may be useful for paths that only contain
	  universal methods and/or signals.
	- Add a -single option to 'dbif delete' to only delete the specified
	  path and leave the underlying structure in place.
	- Undefine methods by specifying an empty body.
	- Pass the msgid to the property body code.
	- Change the error code for unknown properties from InvalidArgs to the
	  more apt UnknownProperty.
	- Simplify the generation of xml data for introspection.
	- Improve error reporting when property variables are set to a value
	  that doesn't match the signature.
	- Nodes without any methods, signals, or properties would prevent any
	  underlying nodes from being discovered via introspection.
	- Deleting a node should also delete any child nodes.
	- Fix error when a method deletes its own path.
	- The generate command doesn't always correctly determine whether the
	  result of the signal body should be interpreted as a single value or
	  a list.
	- Properly handle complex signatures for properties.

Version 1.4 - Sep 28 2018
	- Make the module compatible with version 3.0 of the dbus library.

Version 2.0 - Apr 13 2020
	- With version 3.0 of the dbus library, the module doesn't need to
	  handle multiple interps on the same connection anymore.
	- Support method overloading.

Version 2.1 - Jul 25 2022
	- Clean up variable traces when deleting properties
	- Remove dependency on Tcl 8.6

Version 2.2 - Sep 27 2023
	- Add a method to unsubscribe to signals (ticket [4c6352117d]).
	- Clean up when the connection is closed using `dbus close`.
	- Add a convenience procedure to close the dbus connection.
	- Reset the default bus setting when the current default bus is closed.
	- Check that a bustype that looks like a dbus handle is actually valid.
	- Generating signals with variant arguments causes infinite loop.

Version 3.0 - Sep 7 2023
	- Use the user specified bus type to initialize the default bus
	  setting on connect, rather than the dbus handle.
