Imported Upstream version 1.0.0
[platform/upstream/perl-Net-DBus.git] / CHANGES
1
2 New in 1.0.0:
3
4  - Updated to require minimum dbus >= 1.0.0
5  - Automatically track change in ownership of bus names
6    for signal handlers
7  - Strict validation of method invocation against introspection
8    data on exported objects
9  - Improved error messages for invalid interfaces
10  - Add API for disconnecting an object from a signal
11  - Implement GetAll methods on properties interface
12  - Allow leading _ in interface names
13  - Other minor fixes
14
15 Changes since 0.33.5
16
17  - Fix introspection XML handling when exporting objects with child
18    objects
19
20  - Improve output of Net::DBus::Dumper
21
22  - Add support for providing parameter & return value names in
23    introspection XML
24
25  - Fixes to marshalling of variants
26
27  - Fix handling of compound data types within object properties
28
29  - Remove non-portable makefile rules
30
31  - Fix ref counting bugs in error path.
32
33 Changes since 0.33.4
34
35  - Added support for getting private bus connections for apps which
36    don't want to deal with a shared bus
37
38  - Fix test case to use a private connection
39
40  - On Perl builds where integers are 32-bits, the DBus 64 bit integer
41    types will be serialized to/from the Perl String type instead of
42    calling 'die'.
43
44  - Fix signature when marshalling dicts on newer DBus builds
45
46  - Fix calling of disconnect wrt to newer DBus semantics
47
48  - Make introspection much more tolerant of missing information
49    about methods/properties/signals.
50
51  - Fix use of magic values & added tests
52
53  - Export the Net::DBus::Dumper methods correctly.
54
55 Changes since 0.33.3
56
57  - Fixed service owner used for org.freedesktop.DBus object
58    to make signal handling on the bus work again
59
60  - Pass return value for signal handling callbacks all the
61    way back to DBus
62
63  - Fix multiple problems with marshalling of variant data
64    types
65
66  - Replace use of dbus_connection_disconnect with _close
67    when compiling against dbus >= 0.90
68
69  - Call dbus_connection_unref in the DESTROY method of
70    connection object
71
72  - Fix reference counting in connection & pending call
73    objects
74
75  - Added example of galago desktop notifications
76
77  - Fix test suite errors
78
79  - Added missing import statement
80
81  - Throw Net::DBus::Error if an async call fails
82
83 Changes since 0.33.2
84
85  - Fixed parsing of introspection data if there are processing
86    instructions, or other non-data nodes before the root element.
87
88  - Replace use of XML::Grove with XML::Twig when parsing the 
89    introspection XML documents, since the former has not had any
90    updates / bug fixes since 1999(!), and several people have 
91    reported problems using it on Perl 5.8.x 
92
93  - Made all Perl scripts / modules / tests use 'strict' and
94    'warnings' pragmas
95
96  - Turn Net::DBus::Error into fully fledged object which services
97    can sub-class to allow explicit error handling by clients.
98
99  - In _dispatch method of Net::DBus::Object ensure that any 
100    instances of Net::DBus::Error thrown by the method call
101    are explicitly serialized into DBus errors, rather than 
102    a generic 'org.freedesktop.DBus.Failed'.
103
104  - Change re-distribution license from GPL, to GPL / Perl Artistic,
105    matching the terms of Perl itself.
106
107  - Add support for registering a callback on Net::DBus::ASyncReply
108    objects to allow notification of completion for asynchronous
109    method calls
110
111 Changes since 0.33.1
112
113  - Fixed handling of variants in introspection data
114
115  - Added binding for the DBusPendingCall C object
116
117  - Added some missing RPM dependancies on XML libs, and on minimum
118    required dbus version
119
120  - Added support for doing asynchronous method calls, and fire-and-
121    forgot calls for methods whose return status is not desired. Use
122    the constants in Net::DBus::Annotation module to indicate desired
123    call mode. Default is to do synchronous blocking calls.
124
125  - Added support for the 16-bit integer, signature and object path
126    data types
127
128  - Made introspection of root objects compliant with upsteam spec,
129    by calling introspect on the root object, "/", rather than a 
130    Perl specific magic object path.
131
132 Changes since 0.32.3
133
134  - Constructor for Net::DBus::Object allows another Net::DBus::Object
135    to be passed instead of the Net::DBus::Service, to create child
136    objects specifying only a relative path.
137
138  - Updated minimum required DBus version to be 0.33 to gain access
139    to the unregister_object_path API
140
141  - Add a disconnect() method to Net::DBus::Object to make it possible 
142    to unregister object from the bus & thus make it possible to destroy 
143    objects which are no longer required / relevant.
144
145  - Unregister all child objects if we are unregistered ourselves
146
147  - Fix numerous POD errors identified by Test::Pod and podchecker
148
149  - Increase POD documentation to get 100% coverage of all APIs,
150    verified by Test::Pod::Coverage
151
152 Changes since 0.32.2
153
154  - Introspection data is used only as hint, so if an object
155    exports many methods, but only provides partial introspection
156    data, remote calls fallback to regular typing rules
157
158  - Re-add dbus_XXX convenience methods to Net::DBus to allow
159    clients to do explicit type casting. Must be requested at
160    export time, using 'Net::DBus qw(:typing)'.
161
162  - Update all example programs to run against session bus,
163    since there are no security rules to enable them to work
164    on system bus.
165
166  - Print out warning upon use, if a method, signal, or property
167    is annotated with the 'org.freedesktop.DBus.Deprecated' flag.
168
169  - Do not wait for a method reply if the method is annotated
170    with the 'org.freedesktop.DBus.Method.NoReply' flag.
171
172  - Extend Net::DBus::Exporter to enable methods, signals, and
173    properties to be annotated.
174
175  - Add support for 'org.freedesktop.DBus.Method.NoReply' and
176    'org.freedesktop.DBus.Deprecated' annotations when exporting
177    objects
178
179  - Add a pure in-memory bus implementation for facilitating
180    creation of unit tests which would otherwise require making
181    a connection to a 'live' message bus. Can be accessed via:
182  
183       Net::DBus->test
184
185  - Add an *EXPERIMENTAL* mock object to faciltate creation of
186    unit tests which need to communicate with other objects on
187    the bus. See Net::DBus::Test::MockObject for further info.
188
189 Changes since 0.32.1
190
191  - Fix unit tests broken in previous build
192
193  - Added patch to avoid leaking memory when throwing dbus
194    errors from the XS layer
195
196  - Added support for org.freedesktop.DBus.Properties
197    in exported & remote objects.
198
199  - Added support for getting the unique name of the client's
200    connection to the bus
201
202  - Added support for getting the unique name of the client
203    owning a service on the bus
204
205  - RemoteService object constructor gains an extra parameter
206    for the owner of the service at the time it was aquired to
207    deal with issues where a service is replaced.
208
209  - Cache RemoteService objects to avoid creating multiple
210    instances for the same service name.
211
212  - Fix caching of objects by the service to avoid caching
213    objects cast to a specific interface
214
215  - Make add_signal_receiver method on Net::DBus private
216
217  - Use introspection data for hinting only, not absolute truth
218    since Python bindings don't provide complete data.
219
220  - Adding correct handling for (de)marshalling variant data
221    type to fix interaction with python bindings
222
223  - Added magic 'caller' and 'serial' data types for requesting
224    that data about method caller be passed into a method
225
226  - Lots more POD documentation
227
228  - Added 'lshal.pl' demo script for listing HAL devices
229
230  - Made example scripts interoperate correctly with example
231    scripts from Python & GLib bindings
232
233 Changes since 0.32.0
234
235  - The order of 'service_name' and 'bus' parameter to the
236    Net::DBus::Service constructor is reversed to match
237    that of Net::DBus::RemoteService
238
239  - The order of 'service' and 'object_path' parameter to the
240    Net::DBus::Object constructor is reversed to match
241    that of Net::DBus::RemoteObject
242
243  - No longer neccessary to construct an explicit Net::DBus::Service
244    object - one is constructed & returned by the 'export_service'
245    method on Net::DBus
246
247  - The 'find' method on Net::DBus will search for & attach to
248    a suitable bus, so no longer neccessary to hard code either
249    system or session bus
250
251  - Introspection data is no longer provided via the
252    Net::DBus::Object constructor. Consult the manual pages
253    for Net::DBus::OBject and Net::DBus::Exporter for details
254    of new approach to defining introspection data.
255
256  - The Net::DBus::Introspector class is no longer for public
257    use.
258
259  - The Net::DBus::Dumper class can be used to display a dump
260    of an object's exported API cf examples/dump-object.pl
261
262  - Signal handler callbacks now get the actual signal params
263    passed in, rather than low level bind info
264
265  - The Net::DBus objects are automatically registered with
266    the default reactor mainloop, unless 'nomainloop => 1'
267    is passed into constructor