Skip to content

Releases: dunst-project/dunst

Dunst v1.13.0

04 Aug 14:58
628779f

Choose a tag to compare

Since the last release there have been many contributions. While most of the
changes were "behind the scenes", there are still some new features.

For users:

With the new remove_current action, you will be able to close and directly remove
from history a notification.
Now you can set a pause level at startup with the default_pause_level setting.
The Wayland support has seen several improvements (special thanks to @pslldq).

For maintainers:

Meson build system was added alongside the existing Makefile.
While support for make will be kept for future releases, we might eventually
transitioning fully to the new system.
Meson support is still considered experimental and may still have issues.

Take a look at the changelog for all the bug fixes and improvements.

Added

  • Add meson build system (#1226, #1224)
  • Add remove_current action (close and remove from history) (#1491)
  • Support xdg-shell as a fallback on Wayland (#1433)
  • Add default_pause_level settings (#1487, #1484)
  • Add an .editorconfig file (#1461)
  • Add format options (%c, %U)

Changed

  • Improve Makefile and build flags (#1456, #1457)
  • Change the way icons are cached (#1473, #1471)
  • Improve deinit and init for Wayland (#1458)
  • Rework logging for tests

Fixed

  • When no graphical output is detected, exit qietly (#1466, #1095)
  • Fix dunstctl reload on Wayland (#1434, #1458)
  • Fix a use-after-free (#1486)

New Contributors

Full Changelog: v1.12.2...v1.13.0

Dunst v1.12.2

05 Mar 10:37
fc78b9f

Choose a tag to compare

This is the first release of 2025 and comes with an important fix to
dunstify. With the roll out of libnotify v0.8.4, older version of dunstify
started to not compile or crash when using the -r flag.

If your distribution has updated libnotify, you should update dunstify as soon
as possible to resolve these issues.

Other changes include the addition of three dbus signals, the --category
option for dunstify, the use of SOURCE_DATE_EPOCH for reproducible builds.

For more details take a look at the changelog for all the fixes and improvements.

Added

  • Add urgency, stack_tag and urls to dunstctl history (#1425, #1426)
  • Add --category to dunstify (also change -c behaviour) (#1429)
  • Add dbus signals NotificationHistoryRemoved, NotificationHistoryCleared and ConfigReloaded (#1405, #1277)

Changed

  • Allow to override build date with SOURCE_DATE_EPOCH (#1435)
  • Flush after printing id in dunstify

Fixed

  • IMPORTANT: Resolve incompatibility between dunstify and libnotify-0.8.4 (#1443, #1445, #1449)
  • Fix mixup of bool and gboolean that caused problems in s390x (#1421, #1422)
  • Fix some printf warnings and int/gint/size_t mixed uses (#1424)
  • Fix the scaling of the progress bar gradient (#1447)
  • Actually reload old config files upon dunstctl reload (#1447)

New Contributors

Full Changelog: v1.12.1...v1.12.2

Dunst v1.12.1

17 Dec 12:33
49ec05a

Choose a tag to compare

This release patches a regression in the height calculation (that caused tall characters to mess up the layout)
and improper memory management upon settings reloading.

Also, the height syntax has been changed to be backward compatible.
height = 300
Is again equal to
height = (0, 300)

For a fixed height you have to use
height = (300, 300)

Changed

  • Improve man pages and add dunstify(1)
  • Accept old height syntax again (with notice) (#1412)
  • Add history-clear and history-rm zsh completions (#1418)

Fixed

  • Memory corruption when reloading (#1413)
  • Fix height calculation regression (#1411)
  • Handle correctly file uri icons (#1409)
  • Fix typos in docs (#1415)

New Contributors

Full Changelog: v1.12.0...v1.12.1

Dunst v1.12.0

30 Nov 15:24
42d2bf8

Choose a tag to compare

There have been many important contributions in the last few months.
Some notable changes are: adding hot-reload for the configuration, exporting
rules via dunstctl, adding color gradients, removing default hard-coded icons.
For detailed information consult the changelog.

Important notice for all users:

The behaviour of the setting height has been changed in a breaking way.
Before you could specify a single value that would be used as the max height
of a notification. In this release the dynamic height was implemented to make
this settings behave more similarly to width.
Now the values accepted are either a single number (for a fixed height) or
a tuple of numbers (for a min/max range).

The way of specifying a maximum height before was:
height = 300

The equivalent way now is:
height = (0, 300)

Furthermore the preferred syntax for the offset settings has been changed
from NxN to (N,N). The old syntax is supported nevertheless.

If you are a maintainer it would be helpful to include the message above when
an user updates from an older version of dunst.

Take a look at the changelog for all the bug fixes and improvements.

Added

  • Export rules via dbus with dunstctl rules [--json] (#1212)
  • Added checks and messages for missing DBUS_SESSION_BUS_ADDRESS (#1389)
  • Add -e/--exit flag to dunstctl is-paused to exit with 1 when paused (#1378)
  • Add color gradients for the progress bar (by providing a list of colors instead of one) (#1370)
  • Use TESTDIR env var as the base for the test program (#1376)
  • Add dunstctl reload to hot reload the configuration (#1350)
  • Add an optional id to dunstctl close (#1351)
  • Print compile-time options in dunst --version (#1336)

Changed

  • BREAKING: Implement dynamic height (changes the the height setting, see manual) (#1342)
  • Change the preferred syntax of offset from NxN to (N,N) (#1330)
  • Install the systemd service file in the session.slice (#1397)
  • Open url with dunstctl action if no action is present (#1345,#1395)
  • Remove default icons (now no icons are hard-coded) (#1365,#1358)
  • Various updates to documentation and test suite

Fixed

  • Order of context menu was reversed (#1394,#1375)
  • Resolve ~ and $HOME in icon_path (#1383,#1371)
  • Fix broken link to freedesktop's notification specs in man page (#1381)
  • Remove the message about shortcuts deprecation (#1353)
  • Fix vertical padding behaviour (#1342)
  • Fix bash completion (#1347)
  • Fix file suffix for fish completions during installation (#1339)

New Contributors

Full Changelog: v1.11.0...v1.12.0

Dunst v1.11.0

15 Apr 20:49
13a74dd

Choose a tag to compare

This release hopefully marks the start of a new period of active development and
contributions and a shift away from the previous lower maintenance mode.

For users:

This is the perfect time to engage with the project and other dunst users.
Some of the features and changes to include in the v2 release are starting to
be proposed or implemented. Everyone's opinion is important, so feel free
to participate in the issues proposing new features (or redesigns of the old ones).

This version mainly contains bug fixes and QoL improvements, and can be considered
a preparatory release for the various things that will come in the future
(overhaul of the rule syntax, multiple windows support, aesthetic and customization
options, refactor of the drawing system, etc).

For maintainers:

X11 support is now optional and can be disabled in build by setting the X11 make
flag to 0. This means that you can offer Wayland-only builds.

Shell completions are now considered official and can be installed/uninstalled from
the Makefile. By default they are installed and can be disabled by setting the
COMPLETIONS flag to 0.

Take a look at the changelog for all the bug fixes and improvements.

Added

  • Add corners, progress_bar_corners and icon_corners options to control which corners to round (#1268)
  • Support GTK/CSS cursor names on Wayland (#1276)
  • Make dunst more portable (#1288)
  • Print detected monitors names (X11) (#1332)

Changed

  • Make X11 optional in build (this allows wayland-only dunst) (#1290)
  • Shell completions are now official and can be installed from the Makefile (#1262, #1263)
  • Don't search for icon path if icons are disabled (#1301)
  • Eagerly parse and cache colors (#1306)
  • Update dunstctl manpage (#1298)
  • Update documentation (#1315, #1334)

Fixed

  • Fix settings initialization (this prevented --print and --startup_notification from working) (#1299)
  • Rework timer logic and fix error about Glib source ID for good (#1308, #1196)
  • Prevent memory corruption in XrmSetDatabase (#1256, #1291)
  • Don't try to print NULL strings (#1323)
  • Do not resolve icon paths twice (#1307, #1314)
  • Don't crash the test suite if librsvg is not present (#1329)
  • Fix memory leak in DBus RuleEnable (#1328)
  • Fix dunstctl rule (#1281)
  • Remove newlines from icon logging (#1296)
  • Prevent make from failing if git tags are not found (#1287)
  • Fix some typos (#1324, #1325, #1279)

Full Changelog: v1.10.0...v1.11.0

New maintainers:

Dunst v1.10.0

19 Feb 21:16

Choose a tag to compare

It's been a while since the last release. That does not mean that the
development has been stagnent. There are some long requested features have been
implemented, like a do not disturb mode in the form of multiple pause levels.
You can specify the priority of notification and selectively pause them. The
progress bar rendering for low progress values has been fixed, with preparation
work being done for more progress bar customization.

Since dunst gained Wayland support, Wayland received a lot of development.
Dunst needed to do some catchup for that. A new Wayland idle protocol is
implemented and support for Wayland touch screens and multi-seat has been
added. It's now also possible to specify displays by their port name, instead
of number.

Take a look at the changelog for all the bug fixes and improvements.

Added

  • Unofficial fish and bash completions (#1205, 1209)
  • Multiple pause levels to allow selective pausing of notifications (#1193)
  • --startup_notification option as an alternative to -startup_notification (#1208)
  • Expand variables, like $HOME in path in your dunstrc. See man 3 wordexp for the details (#1215)
  • Support for stable output names for the monitor (eDP-1, HDMI-1, etc). This is more relyable than the order of monitors. (#1250)
  • Wayland multiseat and touchscreen support (#1250)

Changed

  • The cursor is now being drawn by the compositor, making sure the right cursor theme and scaling is being used (#1250)

Fixed

  • Various documentation issues
  • Icon path not being interpreted as a path (#1210)
  • Handling of some commandline options (#1208)
  • Improved handling of fallback fonts (#1222)
  • Progress bar not rendering correctly for big corner radiusses compared to width (#1227)
  • Whitespace and brackets in dunstctl usage output (#1230, #1233)
  • Errors about Glib source ID spamming the log (#1257)
  • Idle idle_threshold not working anymore in Wayland due to Wayland protocol changes (#1250)

New Contributors

Full Changelog: v1.9.2...v1.10.0

Dunst v1.9.2

20 Apr 16:59

Choose a tag to compare

This release fixes two issues with high cpu usage one of which was introduced
when trying to fix another cpu usage issue. So if you have experienced dunst
making your fans spin harder than usual that should be fixed with this release.

Thanks a lot to @bakkeby and @tobast for investigating these issues and coming up with fixes!

Fixed

  • Various documentation issues (#1151, #1154, #1162)
  • High cpu usage when show_age_treshold = -1 (#1164)
  • High cpu usage in some situation. This is often correlated with being idle. (#1158)

New Contributors

Full Changelog: v1.9.1...v1.9.2

Dunst v1.9.1

08 Mar 12:20

Choose a tag to compare

For users:

If you like rounded corners, this release is for you. You can now add rounded
corners to your progress bar and notification icons. Dunstctl added more
options for changing the notification history, so I'm excited for what you can
build with that. Dunst also is even more stable now with a crash being fixed
and not using 100% of your cpu anymore in some situations.

For maintainers:

Libnotify and dunst are now optional to build by setting the DUNSTIFY make
flag to 0. (enabled by default)

Take a look at the changelog for a more detailed change description.

Changelog

Added

  • zsh completion for dunst and dunstctl (#1107 and #1108)
  • dunstctl history-clear command to delete all notifications from history (#1131)
  • dunstctl history-rm command to remove a single notification from history (#1128)
  • progress_bar_corner_radius option for adding rounded corners to the progress bar (off by default) (#1119)
  • icon_corner_radius option for adding rounded corners to notification icons (#1139)

Changed

  • Make libnotify and dunstify optional in build (#1129)

Fixed

  • Man page typo's and readability (#1088 and #1121)
  • Length changes not being emitted over D-Bus (#1127)
  • Crash when locking screen with swaylock on Sway (#1148)
  • Dunst using 100% in some configurations with idle_threshold turned on (#1140)

New Contributors

Full Changelog: v1.9.0...v1.9.1

Dunst v1.9.0

27 Jun 12:57

Choose a tag to compare

This release marks the point for a few big features to be useable. The
recursive icon lookup is marked stable and is used by default for new users. It
is now also possible to add gaps between notifications, although it is not done
with separate windows, so clicks in between notification will not register to
the below window. You'll also need a compositor for the transparancy to take
effect.

Added

  • override_dbus_timeout setting to override the notification timeout set via
    dbus. (#1035)
  • Support notification gaps via the gap_size setting. Note that since the
    notifications are not separate windows, you cannot click in between the
    notifications. (#1053)
  • Make min_icon_size and max_icon_size a rule for even more flexibility
    (#1069)

Changed

  • The window offset is now scaled according to scale as well. This way
    notification stay visually in the same place on higher DPI screens. (#1039)
  • For the recursive icon lookup, revert to using min_icon_size and
    max_icon_size instead of icon_size. min_icon_size is used as the size to
    look for in icon themes. This way of defining icon size is more flexible and
    compatible with the old icon lookup. The new icon lookup should now be
    superior for all use cases. (#1069)
  • Recursive icon lookup is no longer experimental.
  • Recursive icon lookup is enabled in the default dunstrc. This does not change
    your settings when you have a custom dunstrc.

Fixed

  • Added back the action_name setting that was accidentally dropped. (#1051)
  • Broken dunstctl history. (#1060)
  • Merged a few wayland fixes from mako (https://github.com/emersion/mako)
    (#1067)
  • follow=keyboard: Fix regression where we don't fall back to mouse (#1062)
  • Raw icons not being scaled according to icon size (#1043)
  • Notifications not disappearing. For some people notifications would sometimes
    stay on screen until a new notification appeared. This should not happen
    anymore (#1073).

Merged pull requests

  • Rule attribute to override timeout set by dbus by @rpbranco in #1038
  • Scale offset according to DPI by @livanh in #1039
  • Fixes dunstctl history command by @stremlenye in #1060
  • Add support for notification gaps by @paddyw2 in #1053
  • Mako wayland fixes by @fwsmit in #1067
  • follow=keyboard: Fix regression where we don't fall back to mouse by @cdown in #1062
  • Recursive icons: Use min_icon_size and max_icon_size instead of icon_size. by @fwsmit in #1069
  • Fix notifications sometimes not disappearing by @fwsmit in #1073

New Contributors

Full Changelog: v1.8.1...v1.9.0

Dunst v1.8.1

02 Mar 11:03

Choose a tag to compare

Fixed

  • Dunst sometimes not using the right config file, sometimes falling back to the
    internal defaults by @alebastr in #1042

New Contributors

Full Changelog: v1.8.0...v1.8.1