Changes since 0.32.2
- Introspection data is used only as hint, so if an object
exports many methods, but only provides partial introspection
data, remote calls fallback to regular typing rules
- Re-add dbus_XXX convenience methods to Net::DBus to allow
clients to do explicit type casting. Must be requested at
export time, using 'Net::DBus qw(:typing)'.
- Update all example programs to run against session bus,
since there are no security rules to enable them to work
on system bus.
- Print out warning upon use, if a method, signal, or property
is annotated with the 'org.freedesktop.DBus.Deprecated' flag.
- Do not wait for a method reply if the method is annotated
with the 'org.freedesktop.DBus.Method.NoReply' flag.
- Extend Net::DBus::Exporter to enable methods, signals, and
properties to be annotated.
- Add support for 'org.freedesktop.DBus.Method.NoReply' and
'org.freedesktop.DBus.Deprecated' annotations when exporting
objects
- Add a pure in-memory bus implementation for facilitating
creation of unit tests which would otherwise require making
a connection to a 'live' message bus. Can be accessed via:
Net::DBus->test
- Add an *EXPERIMENTAL* mock object to faciltate creation of
unit tests which need to communicate with other objects on
the bus. See Net::DBus::Test::MockObject for further info.
Changes since 0.32.1
- Fix unit tests broken in previous build
- Added patch to avoid leaking memory when throwing dbus
errors from the XS layer
- Added support for org.freedesktop.DBus.Properties
in exported & remote objects.
- Added support for getting the unique name of the client's
connection to the bus
- Added support for getting the unique name of the client
owning a service on the bus
- RemoteService object constructor gains an extra parameter
for the owner of the service at the time it was aquired to
deal with issues where a service is replaced.
- Cache RemoteService objects to avoid creating multiple
instances for the same service name.
- Fix caching of objects by the service to avoid caching
objects cast to a specific interface
- Make add_signal_receiver method on Net::DBus private
- Use introspection data for hinting only, not absolute truth
since Python bindings don't provide complete data.
- Adding correct handling for (de)marshalling variant data
type to fix interaction with python bindings
- Added magic 'caller' and 'serial' data types for requesting
that data about method caller be passed into a method
- Lots more POD documentation
- Added 'lshal.pl' demo script for listing HAL devices
- Made example scripts interoperate correctly with example
scripts from Python & GLib bindings
Changes since 0.32.0
- The order of 'service_name' and 'bus' parameter to the
Net::DBus::Service constructor is reversed to match
that of Net::DBus::RemoteService
- The order of 'service' and 'object_path' parameter to the
Net::DBus::Object constructor is reversed to match
that of Net::DBus::RemoteObject
- No longer neccessary to construct an explicit Net::DBus::Service
object - one is constructed & returned by the 'export_service'
method on Net::DBus
- The 'find' method on Net::DBus will search for & attach to
a suitable bus, so no longer neccessary to hard code either
system or session bus
- Introspection data is no longer provided via the
Net::DBus::Object constructor. Consult the manual pages
for Net::DBus::OBject and Net::DBus::Exporter for details
of new approach to defining introspection data.
- The Net::DBus::Introspector class is no longer for public
use.
- The Net::DBus::Dumper class can be used to display a dump
of an object's exported API cf examples/dump-object.pl
- Signal handler callbacks now get the actual signal params
passed in, rather than low level bind info
- The Net::DBus objects are automatically registered with
the default reactor mainloop, unless 'nomainloop => 1'
is passed into constructor