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