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