Revision history for perl module Net::DBus
1.2.0 2019-12-16
- Avoid memory leak with timeouts in reactor
- Disable XML entity expansion in introspection XML docs
- Don't include GIT repo in dist
- Remove obsolete XML::Grove dep from spec
- Fix GIT repo location
- Fix misc typos in POD
- Make reactor robust to time going backwards
- Add GIT repo & bug tracker to Makefile.PL
- Fix basepath when enumerating subnodes
- Fix child paths in introspection XML to be relative
- Support passing UNIX file descriptors
- Fix encoding of properties via GetAll method
- Add return & param names for standard interface introspection
- Use org.freedesktop.DBus.Error.UnknownMethod error code
- Fix reactor add_exception method
- Enable exporting objects on the root node
- Fix introspection decode with zero parameters
- Validate parameters for standard methods
- Validate object interface against declared method
- Don't include MYMETA.* files in dist
- Fix passing nomainloop parameter to constructor
- Fix variant type in mock iterator
1.1.0 2015-03-16
- Support customizable timeouts on method calls
- Fix invocation of properties
- Fix example in object export tutorial
- Introduce a new Net::DBus:ProxyObject providing an alternative
approach for exporting objects
- Cache objects when casting to interfaces
- Treat NoReply as fatal when introspecting
- Add UNIX file descriptor passing
- Fix misc mistakes in POD docs
- Fix error when when requesting bus names
- Fix encoding of dict & variant types
- Fix decoding of signatures with nested arrays
- Update README to point to gitlab.com instead of gitorious.org
- Fix handling of select() return value
- Fix toggling of timeouts in reactor
- Add 'strict_exceptions' annotation
- Document missing constructor parameters.
1.0.0 2011-06-30
- Updated to require minimum dbus >= 1.0.0
- Automatically track change in ownership of bus names
for signal handlers
- Strict validation of method invocation against introspection
data on exported objects
- Improved error messages for invalid interfaces
- Add API for disconnecting an object from a signal
- Implement GetAll methods on properties interface
- Allow leading _ in interface names
- Other minor fixes
0.33.6 2008-02-20
- Fix introspection XML handling when exporting objects with child
objects
- Improve output of Net::DBus::Dumper
- Add support for providing parameter & return value names in
introspection XML
- Fixes to marshalling of variants
- Fix handling of compound data types within object properties
- Remove non-portable makefile rules
- Fix ref counting bugs in error path.
0.33.5 2007-07-18
- Added support for getting private bus connections for apps which
don't want to deal with a shared bus
- Fix test case to use a private connection
- On Perl builds where integers are 32-bits, the DBus 64 bit integer
types will be serialized to/from the Perl String type instead of
calling 'die'.
- Fix signature when marshalling dicts on newer DBus builds
- Fix calling of disconnect wrt to newer DBus semantics
- Make introspection much more tolerant of missing information
about methods/properties/signals.
- Fix use of magic values & added tests
- Export the Net::DBus::Dumper methods correctly.
0.33.4 2006-11-04
- Fixed service owner used for org.freedesktop.DBus object
to make signal handling on the bus work again
- Pass return value for signal handling callbacks all the
way back to DBus
- Fix multiple problems with marshalling of variant data
types
- Replace use of dbus_connection_disconnect with _close
when compiling against dbus >= 0.90
- Call dbus_connection_unref in the DESTROY method of
connection object
- Fix reference counting in connection & pending call
objects
- Added example of galago desktop notifications
- Fix test suite errors
- Added missing import statement
- Throw Net::DBus::Error if an async call fails
0.33.3 2006-07-05
- Fixed parsing of introspection data if there are processing
instructions, or other non-data nodes before the root element.
- Replace use of XML::Grove with XML::Twig when parsing the
introspection XML documents, since the former has not had any
updates / bug fixes since 1999(!), and several people have
reported problems using it on Perl 5.8.x
- Made all Perl scripts / modules / tests use 'strict' and
'warnings' pragmas
- Turn Net::DBus::Error into fully fledged object which services
can sub-class to allow explicit error handling by clients.
- In _dispatch method of Net::DBus::Object ensure that any
instances of Net::DBus::Error thrown by the method call
are explicitly serialized into DBus errors, rather than
a generic 'org.freedesktop.DBus.Failed'.
- Change re-distribution license from GPL, to GPL / Perl Artistic,
matching the terms of Perl itself.
- Add support for registering a callback on Net::DBus::ASyncReply
objects to allow notification of completion for asynchronous
method calls
0.33.2 2006-06-03
- Fixed handling of variants in introspection data
- Added binding for the DBusPendingCall C object
- Added some missing RPM dependancies on XML libs, and on minimum
required dbus version
- Added support for doing asynchronous method calls, and fire-and-
forgot calls for methods whose return status is not desired. Use
the constants in Net::DBus::Annotation module to indicate desired
call mode. Default is to do synchronous blocking calls.
- Added support for the 16-bit integer, signature and object path
data types
- Made introspection of root objects compliant with upsteam spec,
by calling introspect on the root object, "/", rather than a
Perl specific magic object path.
0.33.1 2006-02-03
- Constructor for Net::DBus::Object allows another Net::DBus::Object
to be passed instead of the Net::DBus::Service, to create child
objects specifying only a relative path.
- Updated minimum required DBus version to be 0.33 to gain access
to the unregister_object_path API
- Add a disconnect() method to Net::DBus::Object to make it possible
to unregister object from the bus & thus make it possible to destroy
objects which are no longer required / relevant.
- Unregister all child objects if we are unregistered ourselves
- Fix numerous POD errors identified by Test::Pod and podchecker
- Increase POD documentation to get 100% coverage of all APIs,
verified by Test::Pod::Coverage
0.32.3 2005-12-05
- 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.
0.32.2 2005-10-23
- 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
0.32.1 2005-09-29
- 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