Releases: enkore/j4-dmenu-desktop
r3.2-beta released 2024-10-31
Warning
This is a beta release. It may contain more bugs and be less stable than the final release. Testers are welcome!
Distribution changes
Shell completions are now provided as release artifacts. See j4-dmenu-desktop
, _j4-dmenu-desktop
and j4-dmenu-desktop.fish
files in this release. See etc/README.md
for more info.
Changelog
- added desktop file "quirk" handling, which fixed desktop files generated by Wine, distrobox and possibly more (see #181 and the issues linked within it)
- switched to crazy-complete for shell completion generation (see
etc/README.md
for more info) - improved handling of invalid desktop files (see #176)
- fixed segfault when removing a desktop app with matching Name and GenericName in wait on mode
- fixed bug in
{cmdline@}
in custom--term-mode
: #179 - improved command line assembly and execution
- minor logging improvements
- added informative summary of enabled optional features to Meson
Blockers
The "quirk" interface (the --desktop-file-quirks
and --strict-parsing
) may be subject to change until r3.2 is released.
J4-dmenu-desktop's quirk system requires further testing until it is released into r3.2.
New crazy-complete
completions require further testing until they are released.
r3.1 released 2024-07-31
Note
If you're updating from version r2.18, you should read the r3.0 release notes first, because this release introduced major changes to j4-dmenu-desktop.
Breaking changes
Version r3.1 introduces a stricter handling mechanism for desktop files. This means that desktop files which weren't conforming to the Desktop entry specification may stop working when using j4-dmenu-desktop version r3.1, even though they have worked in previous versions. Nonconforming desktop files should be modified to fix conformance issues.
See #175 and #174 (comment) for examples of nonconformant desktop files and their corrections. A common problem is using invalid escape sequences (like escaping a space with \
) in the Exec
key.
Changelog
- changed GPG signing key (see #146)
- fixed a lot of bugs introduced by r3.0 release:
- fixed bug with
--no-exec
not outputting terminal emulator forTerminal=true
applications: #166 - fixed hidden desktop files not participating in desktop ID precedence rules: #167
- fixed unit tests being dependent on current locale: #170
- fixed default value of $XDG_DATA_DIRS when unset/empty: #171
- fixed
--no-exec
printing to stderr instead of stdout: #152 - fix minor bugs
- fixed bug with
- added
--term-mode
to fix deprecation of "gnome-terminal -e" and to handle other terminal emulators well too (related to #119) - revorked and improved entire command line assembly mechanism
- added explicit support for Sway using existing i3 IPC infrastructure (discussed in #166)
- improved Exec mechanism (see 7efae31)
- added pytest testsuite: #164
New Contributors
r3.1-rc2 released 2024-07-25
Warning
This is a release candidate. It may contain more bugs and be less stable than the final release.
Note
If you're updating from version r2.18, you should read the r3.0 release notes first, because this release introduced major changes to j4-dmenu-desktop.
- changed GPG signing key (see #146)
- fixed a lot of bugs introduced by r3.0 release:
- added
--term-mode
to fix deprecation of "gnome-terminal -e" and to handle other terminal emulators well too (related to #119) - revorked and improved entire command line assembly mechanism
- added explicit support for Sway using existing i3 IPC infrastructure (discussed in #166)
- improved Exec mechanism (see 7efae31)
- added Bats testsuite: #164
r3.1-rc1 released 2024-07-08
Warning
This is a release candidate. It may contain more bugs and be less stable than the final release.
Note
If you're updating from version r2.18, you should read the r3.0 release notes first, because this release introduced major changes to j4-dmenu-desktop.
- fixed a lot of bugs introduced by r3.0 release:
- added
--term-mode
to fix deprecation of "gnome-terminal -e" and to handle other terminal emulators well too (related to #119) - revorked and improved entire command line assembly mechanism
- added explicit support for Sway using existing i3 IPC infrastructure (discussed in #166)
- improved Exec mechanism (see 7efae31)
- added Bats testsuite: #164
r3.0 released 2024-06-02
Breaking changes
i3
This release introduces new i3 IPC integration. It can be turned on with --i3-ipc
or with -I
. This should be preferred over --wrapper "i3-msg exec"
. Attempt to use --wrapper
with i3 will result in the following error:
[error] [main.cc:1173] Usage of an i3 wrapper has been detected! Please use the new -I flag to enable i3 IPC integration instead.
[error] [main.cc:1176] (You can use --skip-i3-exec-check to disable this check. Usage of --skip-i3-exec-check is discouraged.)
As the error implies, this check can be turned off with --skip-i3-exec-check
. This will allow j4-dmenu-desktop to use the old --wrapper "i3-msg exec"
method of interacting with i3. Usage of --skip-i3-exec-check
is discouraged, because the old approach is (slightly) slower and it suffers from bugs that can't be effectively addressed.
New usage log format
The format of usage logs used by --usage-log
has changed. j4-dmenu-desktop should be able to handle the conversion automatically. j4-dmenu-desktop will emit warnings if it encounters problems with the old usage log file when it is first executed. j4-dmenu-desktop will then overwrite the old usage log file.
Build system
Meson is now the prefered build system for j4-dmenu-desktop. See BUILDING.md for more info. Package maintainers will also find useful info there.
Changelog
- 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 #142
- 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 #143
- improved compliance with Desktop Entry Specification
- fixed missing header includes
- many bugfixes + refactoring of codebase #132
- added new history format, which tracks selected entries more accurately #149
- added .clang-format file
- added case-insensitive sort #137
- 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.0-rc1 released 2024-05-19
Note
This is a release candidate. It may contain more bugs and be less stable than the final release. The r3.0 release is scheduled on the second of April. This date might be subject to change.
Breaking changes
i3
This release introduces new i3 IPC integration. It can be turned on with --i3-ipc
or with -I
. This should be preferred over --wrapper "i3-msg exec"
. Attempt to use --wrapper
with i3 will result in the following error:
[error] [main.cc:1173] Usage of an i3 wrapper has been detected! Please use the new -I flag to enable i3 IPC integration instead.
[error] [main.cc:1176] (You can use --skip-i3-exec-check to disable this check. Usage of --skip-i3-exec-check is discouraged.)
As the error implies, this check can be turned off with --skip-i3-exec-check
. This will allow j4-dmenu-desktop to use the old --wrapper "i3-msg exec"
method of interacting with i3. Usage of --skip-i3-exec-check
is discouraged, because the old approach is (slightly) slower and it suffers from bugs that can't be effectively addressed.
New usage log format
The format of usage logs used by --usage-log
has changed. j4-dmenu-desktop should be able to handle the conversion automatically. j4-dmenu-desktop will emit warnings if it encounters problems with the old usage log file when it is first executed. j4-dmenu-desktop will then overwrite the old usage log file.
Build system
Meson is now the prefered build system for j4-dmenu-desktop. See BUILDING.md for more info. Package maintainers will also find useful info there.
Changelog
- 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 #142
- 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 #143
- improved compliance with Desktop Entry Specification
- fixed missing header includes
- many bugfixes + refactoring of codebase #132
- added new history format, which tracks selected entries more accurately #149
- added .clang-format file
- added case-insensitive sort #137
- 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
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 2e63087 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
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.16 released 2018-01-11
- updated CMakeLists to use Catch 1.x (instead of 2.x)
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