2005-01-28 Joe Shaw <joeshaw@novell.com>
[platform/upstream/dbus.git] / ChangeLog
index f85dd6b..1601539 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,688 @@
+2005-01-28  Joe Shaw  <joeshaw@novell.com>
+
+       * configure.in: Bump version up to 0.30.
+
+       * HACKING: Add a release item to bump the version number up after 
+       a release.
+
+2005-01-28  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-specification.xml: update to describe 16-bit types and
+       dict entries
+
+       * dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
+       assertion
+
+       * dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
+       type
+
+       * dbus/dbus-marshal-recursive.c: implement
+
+2005-01-27  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-arch-deps.h.in: add 16/32-bit types
+
+       * configure.in: find the right type for 16 and 32 bit ints as well
+       as 64
+
+       * dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
+       the 16-bit types so people don't have to stuff them in 32-bit or
+       byte arrays.
+
+2005-01-27  Havoc Pennington  <hp@redhat.com>
+
+        * dbus/dbus-message.c: byteswap the message if you init an
+       iterator to read/write from it
+       
+       * dbus/dbus-marshal-byteswap.c: new file implementing 
+       _dbus_marshal_byteswap()
+
+       * dbus/dbus-marshal-basic.c: add _dbus_swap_array()
+
+2005-01-26  Havoc Pennington  <hp@redhat.com>
+       
+       * dbus/dbus-marshal-validate-util.c: break this out (and fix
+       build, apparently - nobody noticed?)
+       
+2005-01-26  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-marshal-recursive.h: remove todo comment
+
+2005-01-25  Joe Shaw  <joeshaw@novell.com>
+
+       * Land the mono binding changes to conform to the new APIs.
+
+       * mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
+       DBusType/Dict.cs, and DBusType/Nil.cs from the build.
+
+       * mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
+       type code as a string.
+       (InitAppending): Rename dbus_message_append_iter_init() to
+       dbus_message_iter_init_append().
+
+       * mono/BusDriver.cs: Rename ServiceEventHandler to
+       NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
+       Rename ServiceOwnerChanged to NameOwnerChanged.
+
+       * mono/Connection.cs: Rename BaseService to UniqueName, and the
+       underlying C call.
+
+       * mono/Custom.cs: Removed.  The CUSTOM type has been removed.
+
+       * mono/Service.cs: Rename Exists to HasOwner, internally rename
+       dbus_bus_acquire_service() to dbus_bus_request_name().
+
+       * mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
+       of Type.UnderlyingSystemType to get the correct element type for
+       the array.
+       (ctor): Update code for new APIs: use dbus_message_iter_recurse(),
+       dbus_message_get_{element|arg}_type() instead of
+       dbus_message_iter_init_array_iterator().
+       (Append): Replace dbus_message_iter_append_array() with
+       dbus_message_iter_open_container() and
+       dbus_message_iter_close_container().
+
+       * mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
+       types have been removed.
+       
+       * mono/DBusType/*.cs: Replace calls of
+       dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
+       but specify the type in the DllImport extern declaration.  Ditto
+       for dbus_message_iter_append_[type]() ->
+       dbus_message_iter_append_basic().
+
+       * mono/example/BusListener.cs: Update for ServiceEventHandler ->
+       NameOwnerChangedHandler.
+
+2005-01-25  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/dbus_bindings.pyx.in: Rename of methods and bindings
+               - get_base_service -> get_unique_name
+               - bus_get_base_service -> bus_get_unique_name
+               - dbus_bus_get_base_service -> dbus_bus_get_unique_name
+               - ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 
+               - ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
+               - bus_activate_service -> bus_start_service_by_name
+               - dbus_bus_activate_service -> dbus_bus_start_service_by_name
+               - bus_acquire_service -> bus_request_name
+               - dbus_bus_acquire_service -> dbus_bus_request_name
+               - bus_service_exists -> bus_name_has_owner
+               - dbus_bus_service_exists -> dbus_bus_name_has_owner
+
+       * python/dbus.py: Rename of methods
+               - activate_service -> start_service_by_name
+               - bus_acquire_service -> bus_request_name
+               - ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 
+               - ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
+
+       
+2005-01-24  Joe Shaw  <joeshaw@novell.com>
+
+       * dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
+       signature for the method that can't be found.
+
+       * dbus/dbus-message.c (dbus_message_iter_init): To check to see if
+       the message has any arguments, we need to call
+       _dbus_type_reader_get_current_type(), not
+       _dbus_type_reader_has_next().
+
+2005-01-24  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message-factory.c: more testing of message validation
+
+       * dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
+       header
+
+2005-01-23  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 
+       get this all working, not many tests in the framework yet though
+
+2005-01-22  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
+       tutorial, based on work from David Wheeler.
+
+2005-01-21  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-bus.c: add more return_if_fail checks
+
+       * dbus/dbus-message.c (load_message): have the "no validation"
+       mode (have to edit the code to toggle the mode for now though)
+
+       * dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
+       skips all validation; I want to use this at least for benchmark
+       baseline, I'm not sure if it should be a publicly-available switch.
+
+2005-01-21  Havoc Pennington  <hp@redhat.com>
+
+       * glib/dbus-gmain.c: don't put the GLib bindings in the same
+       toplevel doxygen group as the low-level API stuff
+
+       * dbus/dbus.h: note that libdbus is the low-level API
+
+2005-01-20  Havoc Pennington  <hp@redhat.com>
+
+       * update-dbus-docs.sh: script to update docs on the web site, only
+       works for me though. neener.
+
+2005-01-20  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
+       code can reveal bugs in it
+
+2005-01-20  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
+       select() version, patches from Tor Lillqvist
+
+2005-01-20  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-tutorial.xml: replace > with &gt;
+
+       * bus/services.c (bus_registry_acquire_service): validate the name
+       and return a better error if it's no good.
+
+       * doc/dbus-specification.xml: note NO_AUTO_START change
+
+       * dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
+       from AUTO_START, we're toggling the default
+
+       * bus/dispatch.c: adapt the tests to change of auto-start default
+
+2005-01-18  Havoc Pennington  <hp@redhat.com>
+
+       * rename dbus-daemon-1 to dbus-daemon throughout
+
+2005-01-18  Havoc Pennington  <hp@redhat.com>
+
+        * Throughout, grand renaming to strip out the use of "service",
+       just say "name" instead (or "bus name" when ambiguous).  Did not
+       change the internal code of the message bus itself, only the
+       programmer-facing API and messages.
+       
+       * doc/dbus-specification.xml: further update the message bus section
+       
+       * bus/config-parser.c (all_are_equiv): fix bug using freed string
+       in error case
+
+2005-01-17  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-types.h: remove 16-bit types since we don't use them
+       ever
+
+       * dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
+       "invalid name character" not only non-ASCII
+
+       * doc/dbus-specification.xml: further update spec, message bus 
+       parts are still out-of-date but the marshaling etc. stuff is now
+       accurate-ish
+
+2005-01-17  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-specification.xml: partially update spec
+
+2005-01-17  Havoc Pennington  <hp@redhat.com>
+
+        * Throughout, align variant bodies according to the contained
+       type, rather than always to 8. Should save a fair bit of space in
+       message headers.
+       
+       * dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
+       fix handling of case where p == end
+
+       * doc/TODO: remove the dbus_bool_t item and variant alignment items
+
+2005-01-17  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
+
+       * Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
+       of an 8-bit type. Now dbus_bool_t is the type to use whenever you 
+       are marshaling/unmarshaling a boolean.
+
+2005-01-16  Havoc Pennington  <hp@redhat.com>
+
+        This is about it on what can be disabled/deleted from libdbus
+       easily, back below 150K anyhow. Deeper cuts are more work than 
+       just turning the code off as I've done here.
+       
+       * dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
+       signed int convenience funcs
+
+       * dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
+       verbose mode
+
+       * dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
+       things out of libdbus
+
+       * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
+       
+       * dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
+       tests-enabled-only, though it should probably be deleted)
+
+       * dbus/dbus-message-util.c: same stuff
+
+       * dbus/dbus-auth-util.c: same stuff
+
+2005-01-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
+
+       * dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
+       way for stripping down dbus-userdb.c stuff included in libdbus.
+       Rename _dbus_parse_uid for consistency.
+
+2005-01-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-internals.c (_dbus_real_assert): print the function
+       name the assertion failed in
+
+       * dbus/dbus-internals.h (_dbus_return_if_fail) 
+       (_dbus_return_val_if_fail): assert that the name of the function
+       containing the check doesn't start with '_', since we only want to 
+       use checks on public functions
+       
+       * dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
+       checks to assertions
+
+       * dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
+       change checks to asserts for private function
+
+       * dbus/dbus-message.c (_dbus_message_set_serial): checks
+       to asserts for private function
+
+       * dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
+       broken assertion that was breaking make check
+       (_dbus_type_reader_array_is_empty): remove this rather than fix
+       it, was only used in assertions
+
+2005-01-16  Havoc Pennington  <hp@redhat.com>
+
+       * test/unused-code-gc.py: hacky script to find code that's used
+       only by the bus (not libdbus) or used only by tests or not used at
+       all. It has some false alarms, but looks like we can clean up a
+       lot of size from libdbus.
+
+       * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
+       dbus/Makefile.am: initially move 10K of binary size out of libdbus
+       
+2005-01-16  Havoc Pennington  <hp@redhat.com>
+
+        * Add and fix docs according to Doxygen warnings throughout
+       source.
+       
+       * dbus/dbus-marshal-recursive.c
+       (_dbus_type_reader_array_is_empty): change this to just call
+       array_reader_get_array_len() and make it static
+
+       * dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
+       from get_array_type
+       (dbus_message_iter_init_append): rename from append_iter_init
+
+       * dbus/dbus-marshal-recursive.c
+       (_dbus_type_reader_get_element_type): rename from
+       _dbus_type_reader_get_array_type
+
+2005-01-15  Havoc Pennington  <hp@redhat.com>
+
+       * test/glib/test-profile.c (with_bus_server_filter): fix crash
+
+       * dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
+       when DBUS_DISABLE_ASSERT
+       (_dbus_marshal_set_basic): be sure we align for the string length
+
+       * dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
+       this look faster
+
+       * dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
+       inline macro version
+       (_dbus_string_set_byte): provide inline macro version
+
+2005-01-15  Havoc Pennington  <hp@redhat.com>
+
+       * Land the new message args API and type system.
+
+       This patch is huge, but the public API change is not 
+       really large. The set of D-BUS types has changed somewhat, 
+       and the arg "getters" are more geared toward language bindings;
+       they don't make a copy, etc.
+
+       There are also some known issues. See these emails for details
+       on this huge patch:
+       http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
+        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
+       
+       * dbus/dbus-marshal-*: all the new stuff
+
+       * dbus/dbus-message.c: basically rewritten
+
+       * dbus/dbus-memory.c (check_guards): with "guards" enabled, init
+       freed blocks to be all non-nul bytes so using freed memory is less
+       likely to work right
+
+       * dbus/dbus-internals.c (_dbus_test_oom_handling): add
+       DBUS_FAIL_MALLOC=N environment variable, so you can do
+       DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
+       DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
+       thorough.
+
+       * qt/message.cpp: port to the new message args API
+       (operator<<): use str.utf8() rather than str.unicode()
+       (pretty sure this is right from the Qt docs?)
+
+       * glib/dbus-gvalue.c: port to the new message args API
+
+       * bus/dispatch.c, bus/driver.c: port to the new message args API
+
+       * dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
+       "locked" flag to TRUE and align_offset to 0; I guess we never
+       looked at these anyhow, but seems cleaner.
+
+       * dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
+       move allocation padding macro to this header; use it to implement
+       (_DBUS_STRING_STATIC): ability to declare a static string.
+
+       * dbus/dbus-message.c (_dbus_message_has_type_interface_member):
+       change to return TRUE if the interface is not set.
+
+       * dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
+       to dbus-marshal-validate.[hc]
+
+       * dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
+       dbus-internals.c
+
+       * dbus/Makefile.am: cut over from dbus-marshal.[hc]
+       to dbus-marshal-*.[hc]
+
+       * dbus/dbus-object-tree.c (_dbus_decompose_path): move this
+       function here from dbus-marshal.c
+
+2005-01-12  Joe Shaw  <joeshaw@novell.com>
+
+       * NEWS: Update for 0.23.
+
+       * configure.in: Release 0.23.
+
+2005-01-12  Joe Shaw  <joeshaw@novell.com>
+
+       * mono/Makefile.am, mono/example/Makefile.am: Always build the 
+       dbus DLL with --debug.  Clean up after the .mdb files this leaves
+       behind.
+
+       * mono/doc/Makefile.am: Need to uninstall the docs on "make
+       uninstall"
+
+       * mono/Arguments.cs (GetDBusTypeConstructor): If the type
+       is an enum, get the enum's underlying type.  Another mono
+       1.1.3 fix.
+
+2005-01-11  Joe Shaw  <joeshaw@novell.com>
+
+       Patch from Sjoerd Simons <sjoerd@luon.net>
+
+       * mono/Makefile.am, mono/example/Makefile.am: Don't redefine
+       DESTDIR.  It breaks stuff.
+
+2005-01-11  Joe Shaw  <joeshaw@novell.com>
+
+       Patch from Tambet Ingo <tambet@ximian.com>
+
+       * mono/DBusType/Array.cs (Get): Get the underlying element type by
+       calling type.GetElementType().  The code previously depended on
+       broken Mono behavior, which was fixed in Mono 1.1.3.
+
+       * mono/DBusType/Dict.cs (constructor): Fix the parameters for
+       Activator.CreateInstance() so that the class's constructor is
+       called with the right parameters.
+
+2005-01-11  Joe Shaw  <joeshaw@novell.com>
+
+       Patch from Timo Teräs <ext-timo.teras@nokia.com>
+
+       * dbus/dbus-connection.c
+       (_dbus_connection_queue_received_message_link): Call
+       _dbus_connection_remove_timeout() instead of the _locked()
+       variant, since it's always called from
+       _dbus_connection_handle_watch(), which handles the locking.
+       Removed the _locked() variant since it's no longer used.
+
+2005-01-03  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
+       return
+       
+2004-12-26  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
+
+2005-01-03  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
+       floating point
+
+       * dbus/dbus-string.c (_dbus_string_insert_alignment): new function
+
+2005-01-02  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
+
+2005-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: add -Wfloat-equal
+
+2005-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 
+       for a variety of reasons '==' doesn't do this.
+
+2004-12-31  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-string.c (_dbus_string_equal_substrings): new function
+       I keep wishing I had
+
+2004-12-30  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
+
+2004-12-30  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
+       and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
+       dbus-protocol.h.  Because they are defines and not enums they are not
+       autogenerated.
+
+2004-12-26  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/dbus_bindings.pyx.in (bus_activate_service): Bind
+       dbus_bus_activate_service
+
+       * python/dbus.py (Bus.activate_service): activate a service on the
+       bus.
+
+2004-12-24  Havoc Pennington  <hp@redhat.com>
+
+       * test/decode-gcov.c: change to use .gcno and .gcda files, but the
+       file format has also changed and I haven't adapted to that yet
+       
+       * Makefile.am: load .gcno files from latest gcc
+
+2004-12-23  John (J5) Palmieri  <johnp@redhat.com>
+       * Patch from Rob Taylor <robtaylor@fastmail.fm>
+
+       * python/dbus_bindings.pyx.in (bus_get_unix_user): New
+       lowlevel binding
+
+       * python/dbus.py (get_unix_user): Added binding to 
+       call dbus_bindings.bus_get_unix_user
+
+       * python/extract.py: Modified the proto_pat regex to
+       handle unsigned long
+
+2004-12-21  Olivier Andrieu  <oliv__a@users.sourceforge.net>
+
+       * dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
+       better POSIX compliance.
+
+2004-12-19  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-string.c (_dbus_string_insert_4_aligned) 
+       (_dbus_string_insert_8_aligned): new functions
+
+       * dbus/dbus-string.c (_dbus_string_alloc_space): new function
+
+2004-12-18  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
+       macro
+
+       * dbus/dbus-message.c: fix a comment, and add a still-unused
+       not-implemented function
+
+       * dbus/dbus-marshal.h: fix comment
+
+       * dbus/dbus-internals.h (_DBUS_ISASCII): new macro
+
+2004-12-17  Joe Shaw  <joeshaw@novell.com>
+
+       * mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
+       mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
+       mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
+       Type.UnderlyingSystemType to get the actual system type
+       underneath.  This code previously depended on the broken Mono
+       behavior, which was fixed in 1.1.3.
+
+2004-11-27  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
+       are disabled
+       (_dbus_string_get_const_data): inline when asserts are disabled
+
+       * dbus/dbus-message.c: record the _dbus_current_generation of
+       creation so we can complain if dbus_shutdown() is used improperly.
+       Do this only if checks are enabled.
+
+       * dbus/dbus-connection.c: ditto
+       
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * test/glib/test-profile.c: add with_bus mode to profile echoes
+       that go through the bus.
+
+       * test/glib/run-test.sh: add ability to run test-profile
+
+       * bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
+       config file reload.
+
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * test/glib/test-profile.c: clean up how the fake_malloc_overhead
+       thing was implemented
+
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * test/glib/test-profile.c: tweak a bit, add support for some
+       made-up minimal malloc overhead with plain sockets, since in 
+       real life some sort of buffers are unavoidable thus we could 
+       count them in the theoretical best case
+
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
+       where I was trying to cache one too many messages
+
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c: reimplement message cache as an array which 
+       makes the cache about twice as fast and saves maybe 1.5% overall
+
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-threads.c (init_global_locks): forgot to put the
+       message cache lock here
+
+2004-11-26  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c (struct DBusMessage): put the locked bit and
+       the "char byte_order" next to each other to save 4 bytes
+       (dbus_message_new_empty_header): reduce preallocation, since the
+       message cache should achieve a similar effect
+       (dbus_message_cache_or_finalize, dbus_message_get_cached): add a
+       message cache that keeps a few DBusMessage around in a pool,
+       another 8% speedup or so.
+
+       * dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
+
+2004-11-25  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
+       to write, without reading or blocking, try it before the poll()
+       and skip the poll() if nothing remains to write. This is about a
+       3% speedup in the echo client/server
+
+2004-11-25  Havoc Pennington  <hp@redhat.com>
+
+        The primary change here is to always write() once before adding
+       the write watch, which gives us about a 10% performance increase.
+       
+       * dbus/dbus-transport-unix.c: a number of modifications to cope
+       with removing messages_pending
+       (check_write_watch): properly handle
+       DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
+       messages_pending stuff
+       (check_read_watch): properly handle WAITING_FOR_MEMORY and
+       AUTHENTICATED cases
+       (unix_handle_watch): after writing, see if the write watch can be
+       removed
+       (unix_do_iteration): assert that write_watch/read_watch are
+       non-NULL rather than testing that they aren't, since they 
+       aren't allowed to be NULL. check_write_watch() at the end so 
+       we add the watch if we did not finish writing (e.g. got EAGAIN)
+
+       * dbus/dbus-transport-protected.h: remove messages_pending call,
+       since it resulted in too much inefficient watch adding/removing; 
+       instead we now require that the transport user does an iteration 
+       after queueing outgoing messages, and after trying the first
+       write() we add a write watch if we got EAGAIN or exceeded our 
+       max bytes to write per iteration setting
+
+       * dbus/dbus-string.c (_dbus_string_validate_signature): add this
+       function
+
+       * dbus/dbus-server-unix.c (unix_finalize): the socket name was
+       freed and then accessed, valgrind flagged this bug, fix it
+
+       * dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
+       as the last valid field plus 1, where really it is equal to the
+       last valid field. Corrects some message corruption issues.
+
+       * dbus/dbus-mainloop.c: verbosity changes
+
+       * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
+       instead of aborting in one of the test codepaths
+
+       * dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
+       caused not printing the pid ever again if a verbose was missing
+       the newline at the end
+       (_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
+
+       * dbus/dbus-connection.c: verbosity changes; 
+       (dbus_connection_has_messages_to_send): new function
+       (_dbus_connection_message_sent): no longer call transport->messages_pending
+       (_dbus_connection_send_preallocated_unlocked): do one iteration to
+       try to write() immediately, so we can avoid the write watch. This
+       is the core purpose of this patchset
+       (_dbus_connection_get_dispatch_status_unlocked): if disconnected,
+       dump the outgoing message queue, so nobody will get confused
+       trying to send them or thinking stuff is pending to be sent
+
+       * bus/test.c: verbosity changes
+
+       * bus/driver.c: verbosity/assertion changes
+
+       * bus/dispatch.c: a bunch of little tweaks to get it working again
+       because this patchset changes when/where you need to block.
+
 2004-11-23  Havoc Pennington  <hp@redhat.com>
 
        * test/glib/test-profile.c: modify to accept a plain_sockets