r2.5 released 2013-11-02 + add --display-binary option r2.6 released 2013-11-28 + fixed quoting + different output formats + misc. bug fixes and improvements r2.7 released 2013-12-04 + removed i3 dependency + fixed memory leak + fixed wrong usage of getopt_long() + fixed GCC 4.7 compatibility + misc. bug fixes and improvements r2.8 released 2013-12-09 + various performance improvements + better error messages + added debugging messages + fixed mixup of malloc/new[] + fixed wrong usage of getline() r2.9 released 2014-01-25 + added test suite, travis integration + fixed $XDG_DATA_HOME being ignored + fixed wrong ordering of default search paths + support shell aliases r2.10 released 2014-04-17 + minor changes regarding quoting + change to application path if specified as per XDG spec r2.11 released 2014-04-20 + fixed unhidden desktop files being regarded as hidden r2.12 released 2014-12-14 + fixed quoting issue with localized names + fixed CMakeLists for multithreaded builds + fixed overriding files with Hidden and/or NoDisplay keys + whitespace after "=" is now ignored + implemented desktop file ID concept of the XDG specification (supersedes old "override-by-name" semantics) + added support for OnlyShowIn and NotShowIn tags + added --use-xdg-de flag to interpret $XDG_CURRENT_DESKTOP (for OnlyShowIn/NotShowIn) + temporary files are now created with mkstemp r2.13 released 2015-06-22 + GenericName fields are added to the menu, too + Added manpage j4-dmenu-desktop(1) + Menu is now sorted by names r2.14 released 2016-03-31 + Added --usage-log feature to sort by usage frequency + Added --no-generic option to exclude GenericName fields r2.15 released 2017-03-19 + fixed bug where using some shells could use a lot of CPU for nothing + fixed issue when locale setup is completely broken (fall back to "C" locale) + fixed build on FreeBSD r2.16 released 2018-01-11 + updated CMakeLists to use Catch 1.x (instead of 2.x) r2.17 released 2019-02-26 + fixed compilation error on FreeBSD 11 + fixed specifying `--no-generic` after `--usage-log=` breaking usage log + improved build speed + added --wait-on feature to daemonize for better responsiveness r2.18 released 2020-10-02 + Re-add support for %k in .desktopfiles (location of the file) + --wait-on: child processes detach now, parent does not wait + use POSIX printf instead of echo (see 2e6308783 for detailed explanation) (fix for dash/Debian) + .desktop files are read sorted by inode now, improving performance on traditional hard drives + added --no-exec option + added --wrapper option (e.g. for i3 exec) + removed last usage of C/C++ locales r3.0 released 2024-06-02 + BREAKING CHANGE: --i3-ipc should be preferred over --wrapper "i3-msg exec" j4-dmenu-desktop will fail to start with --wrapper containing i3 unless --skip-i3-exec-check is passed + added BUILDING.md and CONTRIBUTING.md to improve documentation + added Meson build system + added two new dependencies: spdlog and fmt + updated unit tests to make them compatible with the latest Catch2 v3 + added Inotify and kqueue support for --wait-on mode allowing runtime detection of desktop file additions and deletions on program (un)install + added logging + added i3 IPC support + improved compliance with Desktop Entry Specification + fixed missing header includes + many bugfixes + refactoring of codebase + added new history format, which tracks selected entries more accurately + added .clang-format file + added case-insensitive sort + programs with same name will not be displayed several times in dmenu (dmenu can't differentiate identical entries, so they all launch the same desktop app) + added completions for Bash, Fish and ZSH + added --version flag r3.1 released 2024-07-31 + fixed a lot of bugs introduced by r3.0 release (most important fixes are mentioned below) + fixed bug with --no-exec not outputting terminal emulator for Terminal=true applications + fixed hidden desktop files not participating in desktop ID precedence rules + fixed unit tests being dependent on current locale + fixed default value of XDG_DATA_DIRS + added explicit support for Sway using existing i3 IPC infrastructure + fixed --no-exec printing to stderr instead of stdout + added --term-mode to fix deprecation of "gnome-terminal -e" and to handle other terminal emulators well too + revorked and improved entire command line assembly mechanism + improved Exec mechanism (see 7efae31) + fix minor bugs + added pytest testsuite + changed signing key r3.2 to be released + added desktop file "quirk" handling, which fixes Wine and distrobox desktop files + switched to crazy-complete for shell completion generation + improved handling of invalid desktop files + fixed segfault when removing a desktop app with matching Name and GenericName in wait on mode + fixed bug in {cmdline@} in custom --term-mode + improved program execution + minor logging improvements + added informative summary of enabled optional features to Meson