-D-Bus 1.5.10 (UNRELEASED)
+D-Bus 1.7.6 (UNRELEASED)
==
+Build-time configuration changes:
+
+• The DBUS_DISABLE_ASSERTS CMake option didn't actually disable most
+ assertions. It has been renamed to DBUS_DISABLE_ASSERT to be consistent
+ with the Autotools build system. (fd.o #66142, Chengwei Yang)
+
+Enhancements:
+
+• Be thread-safe by default on all platforms, even if
+ dbus_threads_init_default() has not been called. For compatibility with
+ older libdbus, library users should continue to call
+ dbus_threads_init_default(): it is harmless to do so.
+ (fd.o #54972, Simon McVittie)
+
+Fixes:
+
+• Don't crash on "dbus-send --session / x.y.z" which regressed in 1.7.4.
+ (fd.o #65923, Chengwei Yang)
+
+• If malloc() returns NULL in _dbus_string_init() or similar, don't free
+ an invalid pointer if the string is later freed (fd.o #65959, Chengwei Yang)
+
+• If malloc() returns NULL in dbus_set_error(), don't va_end() a va_list
+ that was never va_start()ed (fd.o #66300, Chengwei Yang)
+
+• fix build failure with --enable-stats (fd.o #66004, Chengwei Yang)
+
+• Unix-specific:
+ · dbus-run-session: compile on FreeBSD (fd.o #66197, Chengwei Yang)
+
+• Windows-specific:
+ · Remove unavailable command-line options from 'dbus-daemon --help'
+ (fd.o #42441, Ralf Habacker)
+
+• Internal changes:
+ · add DBUS_ENABLE_ASSERT, DBUS_ENABLE_CHECKS for less confusing
+ conditionals (fd.o #66142, Chengwei Yang)
+ · improve verbose-mode output (fd.o #63047, Colin Walters)
+ · consolidate Autotools and CMake build (fd.o #64875, Ralf Habacker)
+ · fix various unused variables, unusual build configurations
+ etc. (fd.o #65712, #65990, #66005; Chengwei Yang)
+
+D-Bus 1.7.4 (2013-06-13)
+==
+
+The “but is your thread-safety thread-safe?” release.
+
+Security fixes:
+
+• CVE-2013-2168: Fix misuse of va_list that could be used as a denial
+ of service for system services. Vulnerability reported by Alexandru Cornea.
+ (Simon)
+
+Dependencies:
+
+• The Windows version of libdbus now contains a C++ source file, used
+ to provide global initialization when the library is loaded.
+ gcc (mingw*) users should ensure that g++ is also installed.
+
+• The libxml2-based configuration reader (which hasn't worked for 2.5 years,
+ and was never the recommended option) has been removed. Expat is now a
+ hard dependency.
+
+Enhancements:
+
+• It should now be safe to call dbus_threads_init_default() from any thread,
+ at any time. Authors of loadable modules and plugins that use libdbus
+ should consider doing so during initialization.
+ (fd.o #54972, Simon McVittie)
+
+• Improve dbus-send documentation and command-line parsing (fd.o #65424,
+ Chengwei Yang)
+
+Other fixes:
+
+• In dbus-daemon, don't crash if a .service file starts with key=value
+ (fd.o #60853, Chengwei Yang)
+
+• Unix-specific:
+ · Fix a crash similar to CVE-2013-2168 the first time we try to use syslog
+ on a platform not defining LOG_PERROR, such as Solaris or QNX.
+ This regressed in 1.7.0. (Simon)
+ · Fix an assertion failure if we try to activate systemd services before
+ systemd connects to the bus (fd.o #50199, Chengwei Yang)
+ · Avoid compiler warnings for ignoring the return from write()
+ (Chengwei Yang)
+
+• Windows-specific:
+ · Under cmake, install runtime libraries (DLLs) into bin/ instead of lib/
+ so that Windows finds them (fd.o #59733, Ralf Habacker)
+
+D-Bus 1.7.2 (2013-04-25)
+==
+
+The “only partially opaque” release.
+
+Configuration changes:
+
+• On non-QNX Unix platforms, the default limit on fds per message in the
+ session bus configuration has reduced from 4096 to 1024. The default
+ limit used on the system bus was already 1024. On QNX, both limits are
+ reduced further, to 128.
+
+Enhancements:
+
+• D-Bus Specification 0.21
+ · Following Unicode Corrigendum #9, the noncharacters U+nFFFE, U+nFFFF,
+ U+FDD0..U+FDEF are allowed in UTF-8 strings again. (fd.o #63072,
+ Simon McVittie)
+
+Fixes:
+
+• Diagnose incorrect use of dbus_connection_get_data() with negative slot
+ (i.e. before allocating the slot) rather than returning junk
+ (fd.o #63127, Dan Williams)
+
+• Fix a cmake build regression since 1.7.0 (fd.o #63682; Ralf Habacker,
+ Simon McVittie)
+
+• Unix-specific:
+ · On Linux, link successfully with glibc 2.17 (fd.o #63166, Simon McVittie)
+ · Under systemd, log to syslog only, not stderr, avoiding duplication
+ (fd.o #61399, #39987; Colin Walters, Dagobert Michelsen)
+ · Under systemd, remove unnecessary dependency on syslog.socket
+ (fd.o #63531, Cristian Rodríguez)
+ · Include alloca.h for alloca() if available, fixing compilation on
+ Solaris 10 (fd.o #63071, Dagobert Michelsen)
+ · Allow use of systemd-logind without the rest of systemd
+ (fd.o #62585, Martin Pitt)
+ · When built with CMake, link to librt and use the right path for
+ meinproc's XSLT stylesheets (fd.o #61637, Ralf Habacker)
+ · Reduce the default limit on number of fds per message to 128 under
+ QNX, working around an arbitrary OS limit (fd.o #61176, Matt Fischer)
+
+• Windows-specific:
+ · Do not claim that all bus clients have the dbus-daemon's credentials;
+ pick up local TCPv4 clients' credentials (process ID and security
+ identifier, i.e. user) using GetExtendedTcpTable() (fd.o #61787,
+ Ralf Habacker)
+
+D-Bus 1.7.0 (2013-02-22)
+==
+
+The "Disingenuous Assertions" release.
+
+This is a new development release, starting the 1.7.x branch. D-Bus 1.6
+remains the recommended version for long-term-supported distributions
+or the upcoming GNOME 3.8 release.
+
+Build-time configuration changes:
+
+• The --with-dbus-session-bus-default-address configure option is no longer
+ supported. Use the new --with-dbus-session-bus-connect-address and
+ --with-dbus-session-bus-listen-address options instead. On Windows, you
+ usually want them to have the same argument; on Unix, the defaults are
+ usually correct.
+
+• Similarly, the DBUS_SESSION_BUS_DEFAULT_ADDRESS CMake variable is no longer
+ supported; use the new DBUS_SESSION_BUS_LISTEN_ADDRESS and
+ DBUS_SESSION_BUS_CONNECT_ADDRESS variables instead.
+
+• cmake/cross-compile.sh has been removed. Instead, please use a
+ cross-toolchain file (-DCMAKE_TOOLCHAIN_FILE) as documented at
+ <http://www.vtk.org/Wiki/CMake_Cross_Compiling>; or use Autotools
+ as documented in "info automake Cross-Compilation", and set
+ PKG_CONFIG_PATH appropriately.
+
+Requirements:
+
+• Man pages now require xmlto (or either xmlto or meinproc, if using CMake).
+• man2html is no longer used.
+
+Enhancements:
+
+• D-Bus Specification 0.20
+ · actually say that /org/freedesktop/DBus is the object that
+ implements o.fd.DBus (fd.o #51865, Colin Walters)
+ · various reorganisation for better clarity (fd.o #38252, Simon McVittie)
+ · stop claiming that all basic types work just like INT32 (strings don't!)
+
+• The "source code" for the man pages is now Docbook XML, eliminating
+ the outdated duplicate copies used when building with CMake.
+ (fd.o #59805; Ralf Habacker, Simon McVittie)
+
+Fixes:
+
+• In the activation helper, when compiled for tests, do not reset the system
+ bus address, fixing the regression tests. (fd.o #52202, Simon)
+
+• Fix building with Valgrind 3.8, at the cost of causing harmless warnings
+ with Valgrind 3.6 on some compilers (fd.o #55932, Arun Raghavan)
+
+• Merge <servicehelper> from system-local.conf if necessary (fd.o #51560,
+ Krzysztof Konopko)
+
+• Under CMake, prefer xmlto over meinproc (fd.o #59733, Ralf Habacker)
+
+• Stop duplicating CMake's own logic to find libexpat
+ (fd.o #59733, Ralf Habacker)
+
+• Don't assume CMake host and build system are the same (fd.o #59733,
+ Ralf Habacker)
+
+• Avoid deprecation warnings for GLib 2.35 (fd.o #59971, Simon McVittie)
+
+• Unix-specific:
+ · Check for functions in libpthread correctly, fixing compilation on
+ (at least) OpenBSD (fd.o #47239, Simon)
+ · Don't leak temporary fds pointing to /dev/null (fd.o #56927,
+ Michel HERMIER)
+ · Update sd-daemon.[ch] from systemd (fd.o #60681)
+ · Add partial support for QNX (fd.o #60339, fd.o #61176; Matt Fischer)
+
+• Windows-specific:
+ · The default session bus listening and connecting address is now
+ "autolaunch:", which makes D-Bus on Windows interoperate with itself
+ and GDBus "out of the box". Use the configure options and cmake variables
+ described above if you require a different autolaunch scope.
+ (fd.o #38201, Simon McVittie)
+ · Avoid a CMake warning under Cygwin (fd.o #59401, Ralf Habacker)
+
+• Create session.d, system.d directories under CMake (fd.o #41319,
+ Ralf Habacker)
+
+D-Bus 1.6.8 (2012-09-28)
+==
+
+The "Fix one thing, break another" release.
+
+• Follow up to CVE-2012-3524: The additional hardening
+ work to use __secure_getenv() as a followup to bug #52202
+ broke certain configurations of gnome-keyring. Given
+ the difficulty of making this work without extensive
+ changes to gnome-keyring, use of __secure_getenv() is
+ deferred.
+
+D-Bus 1.6.6 (2012-09-28)
+==
+
+The "Clear the environment in your setuid binaries, please" release.
+
+• CVE-2012-3524: Don't access environment variables (fd.o #52202)
+ Thanks to work and input from Colin Walters, Simon McVittie,
+ Geoffrey Thomas, and others.
+• Unix-specific:
+ · Fix compilation on Solaris (fd.o #53286, Jonathan Perkin)
+ · Work around interdependent headers on OpenBSD by including sys/types.h
+ before each use of sys/socket.h (fd.o #54418, Brad Smith)
+
+D-Bus 1.6.4 (2012-07-18)
+==
+
+• Detect that users are "at the console" correctly when configured with
+ a non-default path such as --enable-console-auth-dir=/run/console
+ (fd.o #51521, Dave Reisner)
+
+• Remove an incorrect assertion from DBusTransport (fd.o #51657,
+ Simon McVittie)
+
+• Make --enable-developer default to "no" (regression in 1.6.2;
+ fd.o #51657, Simon McVittie)
+
+• Windows-specific:
+ · Launch dbus-daemon correctly if its path contains a space
+ (fd.o #49450, Wolfgang Baron)
+
+D-Bus 1.6.2 (2012-06-27)
+==
+
+The "Ice Cabbage" release.
+
+• Change how we create /var/lib/dbus so it works under Automake >= 1.11.4
+ (fd.o #51406, Simon McVittie)
+
+• Don't return from dbus_pending_call_set_notify with a lock held on OOM
+ (fd.o #51032, Simon McVittie)
+
+• Disconnect "developer mode" (assertions, verbose mode etc.) from
+ Automake maintainer mode. D-Bus developers should now configure with
+ --enable-developer. Automake maintainer mode is now on by default;
+ distributions can disable it with --disable-maintainer-mode.
+ (fd.o #34671, Simon McVittie)
+
+• Automatically define DBUS_STATIC_BUILD in static-only Autotools builds,
+ fixing linking when targeting Windows (fd.o #33973; william, Simon McVittie)
+
+• Unix-specific:
+ · Check for libpthread under CMake on Unix (fd.o #47237, Simon McVittie)
+
+D-Bus 1.6.0 (2012-06-05)
+==
+
+The “soul of this machine has improved” release.
+
+This version starts a new stable branch of D-Bus: only bug fixes will
+be accepted into 1.6.x. Other changes will now go to the 1.7.x branch.
+
+Summary of changes since 1.4.x:
+
+• New requirements
+ · PTHREAD_MUTEX_RECURSIVE on Unix
+ · compiler support for 64-bit integers (int64_t or equivalent)
+
+• D-Bus Specification v0.19
+
+• New dbus-daemon features
+ · <allow own_prefix="com.example.Service"/> rules allow the service to
+ own names like com.example.Service.Instance3
+ · optional systemd integration when checking at_console policies
+ · --nopidfile option, mainly for use by systemd
+ · path_namespace and arg0namespace may appear in match rules
+ · eavesdropping is disabled unless the match rule contains eavesdrop=true
+
+• New public API
+ · functions to validate various string types (dbus_validate_path() etc.)
+ · dbus_type_is_valid()
+ · DBusBasicValue, a union of every basic type
+
+• Bug fixes
+ · removed an unsafe reimplementation of recursive mutexes
+ · dbus-daemon no longer busy-loops if it has far too many file descriptors
+ · dbus-daemon.exe --print-address works on Windows
+ · all the other bug fixes from 1.4.20
+
+• Other major implementation changes
+ · on Linux, dbus-daemon uses epoll if supported, for better scalability
+ · dbus_threads_init() ignores its argument and behaves like
+ dbus_threads_init_default() instead
+ · removed the per-connection link cache, improving dbus-daemon performance
+
+• Developer features
+ · optional Valgrind instrumentation (--with-valgrind)
+ · optional Stats interface on the dbus-daemon (--enable-stats)
+ · optionally abort whenever malloc() fails (--enable-embedded-tests
+ and export DBUS_MALLOC_CANNOT_FAIL=1)
+
+Changes since 1.5.12:
+
+• Be more careful about monotonic time vs. real time, fixing DBUS_COOKIE_SHA1
+ spec-compliance (fd.o #48580, David Zeuthen)
+
+• Don't use install(1) within the source/build trees, fixing the build as
+ non-root when using OpenBSD install(1) (fd.o #48217, Antoine Jacoutot)
+
+• Add missing commas in some tcp and nonce-tcp addresses, and remove
+ an unused duplicate copy of the nonce-tcp transport in Windows builds
+ (fd.o #45896, Simon McVittie)
+
+D-Bus 1.5.12 (2012-03-27)
+==
+
+The “Big Book of Science” release.
+
+• Add public API to validate various string types:
+ dbus_validate_path(), dbus_validate_interface(), dbus_validate_member(),
+ dbus_validate_error_name(), dbus_validate_bus_name(), dbus_validate_utf8()
+ (fd.o #39549, Simon McVittie)
+
+• Turn DBusBasicValue into public API so bindings don't need to invent their
+ own "union of everything" type (fd.o #11191, Simon McVittie)
+
+• Enumerate data files included in the build rather than using find(1)
+ (fd.o #33840, Simon McVittie)
+
+• Add support for policy rules like <allow own_prefix="com.example.Service"/>
+ in dbus-daemon (fd.o #46273, Alban Crequy)
+
+• Windows-specific:
+ · make dbus-daemon.exe --print-address (and --print-pid) work again
+ on Win32, but not on WinCE (fd.o #46049, Simon McVittie)
+ · fix duplicate case value when compiling against mingw-w64
+ (fd.o #47321, Andoni Morales Alastruey)
+
+D-Bus 1.5.10 (2012-02-21)
+==
+
+The "fire in Delerium" release.
+
+On Unix platforms, PTHREAD_MUTEX_RECURSIVE (as specified in POSIX 2008 Base
+and SUSv2) is now required.
+
• D-Bus Specification 0.19:
· Formally define unique connection names and well-known bus names,
and document best practices for interface, bus, member and error names,
Simon McVittie)
· Document the systemd transport (fd.o #35232, Lennart Poettering)
+• Make dbus_threads_init() use the same built-in threading implementation
+ as dbus_threads_init_default(); the user-specified primitives that it
+ takes as a parameter are now ignored (fd.o #43744, Simon McVittie)
+
• Allow all configured auth mechanisms, not just one (fd.o #45106,
Pavel Strashkin)
its command-line (fd.o #43875, Jack Nagel)
• Improve test coverage. To get even more coverage, run the tests with
- DBUS_TEST_SLOW=1 (fd.o #38285, Simon McVittie)
+ DBUS_TEST_SLOW=1 (fd.o #38285, #42811; Simon McVittie)
• Reduce the size of the shared library by moving functionality only used
by dbus-daemon, tests etc. into their internal library and deleting
• Make dbus-protocol.h compatible with C++11 (fd.o #46147, Marc Mutz)
+• If tests are enabled and DBUS_MALLOC_CANNOT_FAIL is set in the environment,
+ abort on failure to malloc() (like GLib does), to turn runaway memory leaks
+ into a debuggable core-dump if a resource limit is applied (fd.o #41048,
+ Simon McVittie)
+
+• Don't crash if realloc() returns NULL in a debug build (fd.o #41048,
+ Simon McVittie)
+
• Unix-specific:
+ · Replace our broken reimplementation of recursive mutexes, which has
+ been broken since 2006, with an ordinary pthreads recursive mutex
+ (fd.o #43744; Sigmund Augdal, Simon McVittie)
· Use epoll(7) for a more efficient main loop in Linux; equivalent patches
welcomed for other OSs' equivalents like kqueue, /dev/poll, or Solaris
- event ports (fd.o #33337, Simon McVittie)
+ event ports (fd.o #33337; Simon McVittie, Ralf Habacker)
· When running under systemd, use it instead of ConsoleKit to check
whether to apply at_console policies (fd.o #39609, Lennart Poettering)
· Avoid a highly unlikely fd leak (fd.o #29881, Simon McVittie)
• Windows-specific:
· Find the dbus-daemon executable next to the shared library (fd.o #41558;
Jesper Dam, Ralf Habacker)
+ · Remove the faulty implementation of _dbus_condvar_wake_all (fd.o #44609,
+ Simon McVittie)
D-Bus 1.5.8 (2011-09-21)
==