2006-10-21 Havoc Pennington <hp@redhat.com>
[platform/upstream/dbus.git] / NEWS
1 D-Bus 1.0 RC 2 (0.94) (14 October 2006)
2 ==
3 - dbus-uuidgen binary added for future remote machine identification
4   packagers should call dbus-uuidgen --ensure in their post
5 - GetMachineId peer method added to the bus API
6 - dbus_connection_set_route_peer_messages API added to let the bus send
7   peer messages directly to an app
8 - Autolaunch abilities added to dbus-launch with the --autolaunch flag
9   This feature allows libdbus to start a session bus if none can be found
10   This is an internal feature and should not be used by scripts
11   DBUS_SESSION_BUS_ADDRESS is still the correct way to specify a session bus
12 - dbus-launch now prints out a simple key value pairs instead of shell scripts
13   if one of the shell flags aren't used
14 - support DBUS_BLOCK_ON_ABORT env variable to cause blocking waiting for gdb
15 - weak ref are now held for shared connections so the right things happen
16   this fixes some pretty major bugs with the way connections were handled
17 - Some refactoring for Windows (doesn't effect Unix)
18 - Solaris build fixes
19 - MacOSX build fixes
20 - Cross compile build fixes.  We now assume getpwnam_r is posix and va_lists
21   can be copied by value since we can't check this in a cross compile.  If
22   this is not true for a particular target is up to the developer to patch.
23 - Bug fixing all around
24
25 D-Bus 1.0 RC 1 (0.93) (14 September 2006)
26 ==
27 - dbus_threads_init_default added for initalizing threads without the need for
28   bindings
29 - Filters are now properly removed
30 - dbus_connection_open now holds a hard ref to shared connections
31 - We now print out a warning and do nothing when someone tries to close a 
32   shared connection
33 - The --introspect switch has been added to the bus for printing out 
34   introspection data without actually running the bus
35 - LOCAL_CREDS socket credentials are now supported for systems which 
36   support it such as NetBSD
37 - Generalize kqueue support so it works with NetBSD as well as FreeBSD
38 - Numerous bug fixes and memory leaks patched
39
40 D-Bus 0.92 (18 August 2006)
41 ==
42 - Proper thread locking added to pending calls
43 - Threading semantics changed from init early to init before the second thread
44   is started
45 - Correctly error out when an application tries to acquire or release the
46   org.freedesktop.DBus name instead of sending false result codes
47 - kqueue directory watching code can now be used to monitor config file changes
48   on FreeBSD
49 - --with-dbus-daemondir configure switch added so the daemon can be installed
50   separate from the user binaries
51 - Makefiles fixed for cygwin 
52 - Various fixes for the ongoing Windows port 
53 - Fixed docs and comments to use the D-Bus spelling instead of D-BUS
54 - Many memleaks and bugs fixed
55
56 D-Bus 0.91 (24 July 2006)
57 ==
58 - Remove some lingering bits left over from the bindings split
59 - Fix assertion causing D-Bus applications to crash when checks are enabled
60 - Fix a timeout bug which would block applications from being auto started
61
62 D-Bus 0.90 (17 July 2006)
63 ==
64 - API/ABI freeze for 1.0
65 - Bindings are now split out into seperate packages
66 - ListActivatableNames added as a method on the bus
67 - Removed deprecated dbus_connection_disconnect (use dbus_connection_close)
68 - Shared connections are now unreffed on disconnect
69 - Fixed pending calls for threaded enviornments
70 - Pending calls get timed out on connection disconnect
71 - dbus_connection_send_with_reply returns TRUE and a NULL pending call
72   if you call it on a connection object which has been disconnected already
73   (it returns FALSE on Out of Memory errors only)
74 - dbus-monitor now correctly catches methods, not just signals
75 - dbus-monitor now prints object paths 
76
77 D-BUS 0.62 (12 June 2006)
78 ==
79 - Doc fixes
80 - Added support for all data-types for the dbus tools
81 - Fixed eavesdropping on method calls (dbus-monitor)
82 - Fixed silent dropping of method calls with interface=NULL
83 - Fixed console ownership problems in Solaris
84 - Fixed installation of dbus-signature.h and #include it in dbus/dbus.h
85 - Flush the user database cache on config reload
86 - GLib bindings:
87   - Fix memory leaks
88   - Fix properties in DBusGProxy so that they can be given in any
89     order
90   - Added lots of assertions to ensure correct use
91   - Remove duplicated code
92   - Fix static string pointer uses in GPtrArray-based collections
93 - Python bindings:
94   - Remove reference to sys/cdefs.h
95 - Qt4 bindings:
96   - Code reorganized
97   - Added the dbusidl2cpp, dbuscpp2xml and dbus tools
98   - Added example programs (ping-pong, complex ping-pong, listnames, chat)
99   - Updated selftests
100   - Fixed compilation and .moc- and .ui-file processing and cleaning
101   - Made central classes derive from QObject
102   - Enhance error reporting
103   - Many bugfixes
104 - Mono bindings:
105   - Minor bugfixes
106
107 D-BUS 0.61 (24 Febuary 2006)
108 ==
109 - Documentation all around
110 - dbus-launch now produces correct sh and csh syntax
111 - Nested arrays now work correctly
112 - GLib bindings:
113   - Inheriting from DBusGProxy is now possible
114   - GPtrArrays can now be marshalled
115   - org.freedesktop.DBus.GLib.ClientCSymbol annotation added
116   - Openning connections to arbitrary addresses now supported
117 - Python bindings:
118   - sender_keyword and path_keyword keywords added to signal listener API
119   - Byte types now demarshal to unsigned char
120   - calling methods now do the correct thing
121 - Qt bindings:
122   - both Qt3 and Qt4 bindings can be built at the same time
123   - Use the standard org.freedesktop.DBus.Method.NoReply annotation 
124     for the "async" calls instead of creating one for us.
125 - Mono bindings:
126   - 64bit arch fixes
127 - Massive bug fixing all around
128
129 D-BUS 0.60 (30 November 2005)
130 ==
131
132 - major ABI/API changes - sonames changed
133 - RequestName queuing behavior has changed (refer to dbus-specification)
134   - DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT has been removed and
135     DBUS_NAME_FLAG_ALLOW_REPLACEMENT has been added to the flags
136 - signals emitted by the bus now show up in the introspect data
137 - auth EXTERNAL now supported on BSD varients
138 - ReleaseName method added to the bus to allow a service
139   to remove itself as owner of a bus name
140 - dbus_connection_read_write added for getting messages off the bus 
141   in the absence of a mainloop
142 - Qt4 bindings added and the Qt3 bindings have been depricated
143 - python bindings:
144   - marshal using introspect data if available
145   - better exception handling and propigation
146   - private connections are now supported
147   - UTF-8 cleanups
148   - out_signature added to method decorators for specifying
149     how the return values should be marshaled
150   - sender_keyword added to method decorators for specifying
151     and argument to provide the unique name of the method caller
152   - async_callbacks added to method decorators 
153   - multiple inheritance of classes now supported 
154 - GLib bindings:
155   - respect NoReply annotations
156   - dbus_g_method_return_get_reply and dbus_g_method_return_send_reply
157     added to the lowlevel code for use when the dbus-glib marshalling
158     code is not adiquate
159 - numerous bug fixes all around
160
161 D-BUS 0.50 (06 September 2005)
162 ===
163 This is a minor release from 0.36.2.  The series number has changed 
164 not because of any technical reasons but as an indication that we
165 are moving closer to 1.0.  It is hoped that this will be the last
166 series to see major changes, most of which will be isolated to the
167 GLib and Python bindings, as we transition to concentrate more on
168 bug busting and code auditing.
169
170 - D-Bus builds on the Cygwin platform
171 - Makefile cleanups
172 - Various bug fixes
173 - Optimization of the dbus object tree 
174 - Memleaks and GIL crasher bugs have been fixed in the Python bindings
175
176 D-BUS 0.36.2 (29 August 2005)
177 ===
178 - Security: Restrict other users from connecting to another users 
179   session bus
180
181 D-BUS 0.36.1 (24 August 2005)
182 ===
183 - Python Bindings:
184   - fixed to work with hal-device-manager
185   - For 64bit builds everything is installed to lib64/python2.4/
186     since Python can't handle multilib
187
188 D-BUS 0.36 (23 August 2005)
189 ===
190 - Maximum sized of cached messages have been reduced to 10K
191 - Match rules now allow matching on arguments inside the message
192 - introspect.xsl XSLT style sheet added for formatting introspection
193   data into XHTML for analysis
194 - Python bindings:
195   - now have working type objects for explicit
196     typecasting
197   - Variant type has been added
198   - Dictionaries, Variants and Arrays can all be passed the signiture or
199     type(s) of their children
200   - the optional timeout= keyword has been added when making method calls
201   - match on args has been implemented
202   - a .pth file has been added for dealing with libraries and python files
203     being in different directories such as in 64bit installs
204   - various bug fixes
205 - GLib bindings:
206   - deeply recursive types now supported
207   - many symbols are no longer exported as part of the public API
208   - various memleak and other bug fixes
209
210 D-BUS 0.35.2 (17 July 2005)
211 ===
212 - Rename Unix Security Context to SELinux Security Context in API
213 - Fixed more dist errors that distcheck didn't pick up on
214 - Fixed various bugs in the python bindings that prevented them from working
215
216 D-BUS 0.35.1 (16 July 2005)
217 ===
218 - Fixed dist error where python/dbus_bindings.pxd was being shipped 
219   instead of dbus_bindings.pxd.in
220 - Use this instead of the 0.35 tarball 
221
222 D-BUS 0.35 (15 July 2005)
223 ===
224 - --with-dbus-user added to the configure scripts for configuring the 
225   user the system bus runs on
226 - --with-console-auth-dir added to configure scripts for configuring the
227   directory to look in for console user locks
228 - service files for auto-starting D-Bus services now has the ability to pass
229   in command line arguments to the executable
230 - Huge auto-start bug squashed which caused some services not to start when
231   requested in rapid succession
232 - SE-Linux security contexts can now be appended to messages for inspection
233   by services that enforce their own security policies
234 - Colin says the GLib binding are ready for general consumption
235 - New GLib tutorial
236 - New GLib example code
237 - Python bindings are now version (0,42,0)
238 - Python bindings API has changed on the service side
239 - dbus.service has been split out as a seperate module
240 - dbus.service.Service is renamed to dbus.service.BusName
241 - dbus.service.Object has swapped the bus_name and object_path constructor
242   parameters to make it easier to do inheritance over the bus
243 - dbus.glib has been seperated out in order to lessen the dependency on glib
244   and to allow other mainloops to be integrated with the bindings including
245   a planned generic mainloop for non-gui apps.
246 - Python bindings now aquire the GIL when calling back into the python
247   interpreter.  Fixes crashes when using threading and other random segfaults.
248 - New Python tutorial
249 - Numerous D-Bus bug fixes all around
250
251 D-BUS 0.34 (15 June 2005)
252 ===
253 - dbus_connection_disconnect is deprecated in favor of dbus_connection_close
254 - The bus can now use D_NOTIFY (if available) to check when configuration files 
255   have changed and reload them
256 - New dbus_message_has_path/member/interface API added
257 - The Ping message from the org.freedesktop.DBus.Peer interface is now handled
258 - Complete glib bindings overhaul (and are still under construction)
259 - Tutorial now has an updated GLib section 
260 - GLib bindings can now send/receive hash tables, arrays and other complex types
261 - Python bindings overhaul (most public facing API's done)
262 - Python bindings have been split up into separate files
263 - Python added new type classes for hinting to the marshaler what type
264   to send over the wire
265 - Python bindings now have decorators for specifying exported methods and signals
266 - Numerous bug fixes
267
268 D-BUS 0.33 (25 Apr 2005)
269 ===
270
271 - downgrade requirement from GTK+-2.6 to 2.4 for building gtk components
272 - python binding API's have been overhalled to be more "pythonic" and cleaner
273 - python bindings now export dbus.version which is set to (0,40,0)
274 - python bindings now implement the org.freedesktop.DBus.Introspectable interface
275 - python binding match rules are now more flexable
276 - make check has been fixed
277 - many, many major bug fixes
278
279 D-BUS 0.32 (29 Mar 2005)
280 ===
281
282 - mono bindings now compiles correctly
283 - mono binding cleanups
284 - glib bindings generates wrappers for bus methods in dbus-glib-bindings.h
285 - glib binding cleanus
286 - users and groups can now be specified by UID and GID in config files
287 - numerous memory leak fixes
288 - various other fixes
289
290 D-BUS 0.31 (07 Mar 2005)
291 ===
292
293 - land the new message args API and recursive type system
294 - add docs and fixed Doxygen warnings throught source
295 - split out some functions not needed in libdbus to *-util.c source files
296 - take out type convienience functions
297 - libdbus now back below 150K
298 - booleans are now 32-bit instead of 8-bit
299 - specification updated
300 - grand renaming to strip out the use of "service"
301   just say "name" instead (or "bus name" when ambiguous)
302 - rename dbus-daemon-1 to dbus-daemon throughout
303 - rename activation to auto-start
304 - auto-start on by default now
305 - note that libdbus is the low-level API
306 - python bindings updated to the new API
307 - mono bindings updated to the new API
308 - add 16 bit types
309 - dictionaries are now ARRAYS of DICT_ENTRY
310 - dbus-glib-tool renamed to dbus-binding-tool
311 - massive rewrite of the glib bindings
312 - saner names for the dbus interface, object path and service defines
313 - new functions for handling type signitures
314 - bump sonames for libdbus and libdbus-glib
315 - various small fixes
316
317 D-BUS 0.23 (11 Jan 2005)
318 ===
319
320 - add setgroups() to drop supplementary groups
321 - updated SELinux support
322 - add an "at console" security policy
323 - fix a bug where org.freedesktop.DBus wasn't recognized as an existing
324   service.
325 - error out if --enable-mono is explicitly set and mono libs can't be found
326 - set the max_match_rules_per_connection limit from the config file.
327 - removed dbus_bug_get_with_g_main since it's been replaced by
328   dbus_g_bus_get
329 - fix fd leaks in socket code
330 - lots and lots of mono binding updates, including fixes to make it
331   compatible with Mono 1.1.3
332 - added --nofork option to override config file setting at runtime
333 - added support for int64 and uint64 to the python bindings
334 - lots of python binding updates
335 - config file DTD updates
336 - use SerivceOwnerChanges signal instead of ServiceCreated and
337   ServiceDeleted
338 - fixes to the authentication code
339 - new init script for Slackware
340 - print out the pid even when --fork is passed
341 - increase preallocation sizes in DBusMessage to heavily reduce
342   reallocs
343 - lots of performance enhancements
344 - lots more small bug fixes
345
346 D-BUS 0.22
347 ===
348
349 - add --reply-timeout to dbus-send
350 - fix a memleak
351 - fix Solaris/Forte build
352 - switch to AFL 2.1 rather than 2.0 to address patent termination clause 
353   concerns
354 - add SELinux support
355 - mostly repair libxml backend for config parser, still doesn't 
356   pass out of memory tests
357 - fix distcheck to include language bindings
358 - add GetConnectionUnixUser method on bus driver
359 - also for UnixProcessID
360 - lots of Python, Mono, other binding fixes
361 - change GLib bindings to not include dbus/dbus.h (fully encapsulate libdbus)
362 - pass paths as strings, not arrays of string
363 - add message signature header field
364 - cleanups to marshaling code
365 - clean up authentication code
366 - reload conf files on SIGHUP
367 - rename SERVICE/SENDER_SERVICE to DESTINATION/SENDER
368 - fix circular conf file inclusion
369 - allow empty arrays
370 - tons of other small bugfixes
371
372 D-BUS 0.21
373 ===
374
375 - implement "auto activation" flag on messages, so the destination 
376   service can be launched automatically
377 - fix a bug in custom type marshaling
378 - optimize case where multiple apps activate the same service
379   (avoid "thundering herd")
380 - add dynamic service file discovery/reloading
381 - fix a busy loop when blocking for a reply
382 - fix a 64-bit crash involving varargs
383 - fix a bus crash when processing an AcquireService
384 - allow appending TYPE_BYTE via append_args_valist
385 - fix dicts-inside-dicts
386 - enhancements to Python and Qt bindings
387
388 D-BUS 0.20
389 ===
390
391 This release lands some very large API changes and numerous bugfixes.
392 The list of changes is too large to fully document here; please refer
393 to the documentation, and message-bus-list archives.
394
395 D-BUS 0.13
396 ===
397
398 This is probably the last release before landing the large API changes
399 on the "dbus-object-names" branch.
400
401 - fix system bus to always use filesystem socket; anyone 
402   can create any abstract socket, which isn't secure 
403   since if you can crash the system bus you'd be able
404   to replace it.
405 - add DTD for configuration file
406 - improve specification a bit
407
408 D-BUS 0.12
409 ===
410
411 - fix "service messagebus status" on Red Hat
412 - fix demarshaling of DBUS_TYPE_NAMED
413 - fix "eval `dbus-launch --exit-with-session`" to exit properly
414 - fix build without --prefix
415 - useless fooling with Mono bindings
416 - useless fooling with gcj bindings
417 - fix srcdir != builddir
418 - fix various compiler warnings and other issues
419 - add get/set data to DBusMessage
420 - fix headers for C++
421 - OS X build fixes
422 - abstract domain sockets support (Linux only)
423 - add dbus-cleanup-sockets utility for people
424   not using linux
425 - be consistent about defaulting to --session/--system 
426   with command line tools
427 - merge in policies from included config files
428 - fix build on non-x86
429 - docs updates
430 - lots of other bugfixes
431
432 D-BUS 0.11
433 ===
434
435 - add --enable-docs to turn off/on the docbook stuff
436   (doesn't cover doxygen stuff yet)
437 - make people define DBUS_API_SUBJECT_TO_CHANGE
438   and read warning in README so they don't 
439   expect the API to be frozen already
440 - rename .pc files to "dbus-1.pc" instead of 
441   "dbus-1.0.pc" etc. - this will require changing 
442   pkg-config invocations
443 - some docs cleanups
444 - add man pages for all executables
445 - allow send to/from bus driver in the default system.conf
446 - fix user lookup bug
447 - implement dbus-launch to launch the session message bus
448 - fix some thread deadlocks
449 - some performance profiling/optimization
450 - add dbus_bus_activate_service() function
451 - fix some minor bugs here and there
452 - install Red Hat initscript in the right place
453
454 D-BUS 0.10
455 ===
456
457 - reversed order of args to dbus_message_new()
458 - renamed dbus_message_name_is() and some other
459   functions
460 - change DBusWatch to have dbus_watch_handle() 
461   similar to dbus_timeout_handle(), drop 
462   connection/server-specific handle routines
463 - change message serials to be unsigned
464 - implemented <allow>/<deny>/<limit> features for 
465   config file; system bus now has a deny-all policy 
466   by default.
467 - system.conf has <includedir>system.d</includedir>
468   so packages can install additions to the default 
469   policy to <allow> the messages they need. e.g.
470   CUPS might install a cups.conf - see 
471   test/data/valid-config-files/system.d/test.conf 
472   for an example.
473 - add timeouts for authentication, activation
474 - add glib-style "checks" on public API, enable 
475   those by default, disable assertions by default
476 - add GMainContext argument to GLib setup functions, 
477   can be NULL for default context. Needed for threads.
478 - add 64-bit integer type
479 - validate type of standard message header fields
480 - consider messages in the org.freedesktop.Local
481   namespace to be invalid (to avoid fake disconnect 
482   messages for example)
483 - fix assorted memory leaks and other bugs in 
484   the SHA-1 auth mechanism
485 - cache user database information (groups user is 
486   in, etc.) helps a lot with NIS
487 - always store uid_t, pid_t, gid_t in "ulong" 
488   rather than "int"
489 - implement config file settings for which 
490   users can connect
491 - SHA-1 unit test
492 - dbus-send, dbus-monitor command line utilities
493 - fixed lots of misc crashes and other bugs
494
495 D-BUS 0.9
496 ===
497
498 - implemented a test case for service activation,
499   and fixed many bugs exposed by that
500 - implemented recursive argument marshaling/demarshaling 
501   for messages, allowing multidimensional arrays
502 - fixed up integration of message dispatch with 
503   main loop by adding a callback on change of 
504   dispatch status
505 - add a pidfile feature to daemon
506 - some build fixes
507 - clean up unix domain sockets on exit
508 - add --print-address and the ability 
509   to create a random server address 
510   in a temporary directory
511
512 D-BUS 0.8
513 ===
514
515 - fix dumb bug in 0.7
516
517 D-BUS 0.7
518 ===
519
520 - implement configuration file used to control bus characteristics
521 - implement daemon mode, changing user ID, and other system
522   bus features
523 - add init scripts for systemwide bus
524 - add "make check-coverage" target to check test coverage
525 - more test suite additions
526 - many, many bugfixes
527 - many API changes/fixes
528
529 D-BUS 0.6
530 ===
531 - Vastly improved bus daemon test suite
532 - Lots of misc. bugfixes and memory leak fixes
533 - Support for marshalling key/value data
534 - Activation improvements.
535
536 D-BUS 0.5
537 ===
538
539 - Specification updates
540 - port to OS X and other BSD variants
541 - port to Solaris
542 - Partial work on cookie-based authentication
543 - Thread safety fixes
544 - Lots of misc. bugfixes
545 - Support for more array types
546 - Add data slots to DBusServer
547 - DBusString security audit fixes
548 - Fix for systems (or valgrind) with unaligned malloc blocks
549
550 D-BUS 0.4
551 ===
552
553 - Preliminary activation support.
554 - Better authentication test suite
555 - Bus test program
556 - Specification updates
557 - Thread safety
558 - Bug fixes
559
560 D-BUS 0.3
561 ===
562
563  - Preliminary limitations 
564  - Message sending works
565  - Bus client
566  - Array marshalling/demarshalling
567  - Services
568  - Better OOM handling in the bus
569  - In-proc debug transport
570  - Transport/server address support
571
572 D-BUS 0.2
573 ===
574
575  - Include test code in the tarball.
576
577 D-BUS 0.1
578 ===
579
580  - Initial release.