Opened 3 years ago

Closed 3 years ago

#5017 closed enhancement (fixed)

dbus-1.14.0

Reported by: Douglas R. Reno Owned by: Xi Ruoyao
Priority: normal Milestone: 11.2
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New point version

Change History (5)

comment:1 by Xi Ruoyao, 3 years ago

No security changes (at least, no disclosed ones yet).

Fixes:

  • On Linux, when using traditional (non-systemd) service activation, don't log warnings about failing to reset OOM score adjustment if the process is already more susceptible to the OOM killer, as user processes usually are with systemd ≥ 250. (dbus#374, Debian#1004543; Simon McVittie)
  • On Linux, when using traditional (non-systemd) system bus activation, reset the OOM score adjustment to 0 as intended. If the system dbus-daemon is protected from the OOM killer, this avoids that protection unintentionally being inherited by every system service. (dbus#378, Simon McVittie)
  • Avoid malloc() after fork on non-GNU libc (dbus!181, Jean-Louis Fuchs)
  • Fix build with clang 13 by using Standard C offsetof where available (dbus!237, Simon McVittie)
  • Fix build of tests on FreeBSD (dbus!167, Simon McVittie)
  • Make documentation build more reproducible (dbus!189, dbus!238; Arnout Engelen, Simon McVittie)
  • On Unix, make X11 autolaunch cope with slashes in DISPLAY (dbus#8, dbus#311; William Earley)
  • Don't try to raise RLIMIT_NOFILE beyond OPEN_MAX on macOS (dbus#309, William Earley)
  • Fix compilation if embedded tests are enabled but verbose mode and stats are both disabled (Marc-André Lureau)
  • On Linux, fix a race condition in the integration test for transient services (Debian#1005889, dbus!256; Simon McVittie)

Internal changes:

  • CI updates

comment:2 by Douglas R. Reno, 3 years ago

Summary: dbus-1.12.22dbus-1.14.0

Now 1.14.0

comment:3 by Xi Ruoyao, 3 years ago

Owner: changed from lfs-book to Xi Ruoyao
Status: newassigned

comment:4 by Xi Ruoyao, 3 years ago

dbus 1.14.0 (2022-02-28)

1.14.x is a new stable branch, superseding 1.12.x.

Summary of major changes between 1.12.x and 1.14.0


Dependencies:

  • dbus now requires at least a basic level of support for C99 variadic macros, as implemented in gcc >= 3, all versions of Clang, and MSVC >= 2005. In practice this requirement has existed since version 1.9.2, but it is now official.
  • dbus now requires a C99-compatible va_copy() macro (or a __va_copy() macro with the same behaviour), except when building for Windows using MSVC and CMake.
  • On Unix platforms, if getpwnam_r() and getgrnam_r() are implemented, they must be POSIX-conformant. The non-POSIX signature seen in ancient Solaris versions will no longer work.
  • All Windows builds now require Windows Vista or later. (Note that we do not recommend or support use of dbus on operating systems outside their vendor's security support lifetime, such as Vista.)
  • GLib >= 2.38 is required if full test coverage is enabled (reduced from 2.40 in dbus 1.12.x.)
  • Building using CMake now requires CMake 3.4.
  • Building documentation using CMake now requires xsltproc, Docbook DTDs (for example docbook-xml on Debian derivatives), and Docbook XSLT stylesheets (for example docbook-xsl on Debian derivatives). Using KDE's meinproc4 documentation processor is no longer supported.

Build-time configuration changes:

  • Move CMake build system to top level, matching normal practice for CMake projects

Deprecations:

  • Third-party software should install default dbus policies for the system bus into ${datadir}/dbus-1/system.d (this has been supported since dbus 1.10, released in August 2015). Installing default dbus policies in ${sysconfdir}/dbus-1/system.d is now considered to be deprecated. Policy files in ${sysconfdir}/dbus-1/system.d continue to be read, but this directory should only be used by system administrators wishing to override the default policies.

The ${datadir} applicable to dbus is usually /usr/share and the ${sysconfdir} is usually /etc.

  • A similar pattern applies to the session bus policies in session.d.
  • The dbus-send(1) man page now documents --bus and --peer instead of the old --address synonym for --peer, which has been deprecated since the introduction of --bus and --peer in 1.7.6
  • The dbus-daemon man page now has scarier warnings about <allow_anonymous/> and non-local TCP, which are insecure and should not be used, particularly for the standard system and session buses
  • DBusServer (and hence the dbus-daemon) no longer accepts usernames (login names) for the recommended EXTERNAL authentication mechanism, only numeric user IDs or the empty string. See 1.13.0 release notes for full details.

New features:

  • On Linux 4.13 or later when built against a suitable glibc version, GetConnectionCredentials() now includes UnixGroupIDs, the effective group IDs of the initiator of the connection, taken from SO_PEERGROUPS.
  • On Linux 4.13 or later, <policy group="…"> now uses the SO_PEERGROUPS credentials-passing socket option to get the effective group IDs of the initiator of the connection. See 1.13.4 release notes for details.
  • Add a --sender option to dbus-send, which requests a name and holds it until the signal has been sent
  • dbus-daemon <allow> and <deny> rules can now specify a send_destination_prefix attribute, which is like a combination of send_destination and the arg0namespace keyword in match rules. See 1.13.12 release notes for more details
  • The dbus-daemon now filters the messages that it relays, removing header fields that it does not understand. Clients must not rely on this behaviour unless they have confirmed that they are connected to a suitable message bus implementation, for example by querying its Features property.
  • The dbus-daemon now emits a signal, ActivatableServicesChanged, when the list of activatable services may have changed. Support for this signal can be discovered by querying the Features property.
  • It is now possible to disable traditional (non-systemd) service activation at build-time (Autotools: --disable-traditional-activation, CMake: -DENABLE_TRADITIONAL_ACTIVATION=OFF). See 1.13.10 release notes for details.
  • The API reference manual can be built as a Qt compiled help file if qhelpgenerator(-qt5) is available. See 1.13.16 release notes for details.

Miscellaneous behaviour changes:

  • When using the "user bus" (--enable-user-session), put the dbus-daemon in the session slice
  • Several environment variables set by systemd are no longer passed on to activated services
  • If the dbus-daemon is compiled for Linux with systemd support, it now informs systemd that it is ready for use via the sd_notify() mechanism
  • Tarball releases no longer contain pre-2007 changelogs and are now compressed with xz, making them around 35% smaller.

comment:5 by Xi Ruoyao, 3 years ago

Resolution: fixed
Status: assignedclosed

fixed at 3522efe0.

Note: See TracTickets for help on using tickets.