Skip to content

Releases: enkore/j4-dmenu-desktop

r3.2-beta released 2024-10-31

31 Oct 10:54
r3.2-beta
37cce40
Compare
Choose a tag to compare
Pre-release

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

31 Jul 20:22
r3.1
83e1770
Compare
Choose a tag to compare

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 for Terminal=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
  • 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

  • Thanks to @joanbm for their first contribution in #170!

r3.1-rc2 released 2024-07-25

25 Jul 20:42
r3.1-rc2
7fc6534
Compare
Choose a tag to compare
Pre-release

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:
    • fixed bug with --no-exec not outputting terminal emulator for Terminal=true applications: #166
    • fixed hidden desktop files not participating in desktop ID precedence rules: #167
    • fixed --no-exec printing to stderr instead of stdout: #152
    • fix minor bugs
  • 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

08 Jul 21:48
dd18148
Compare
Choose a tag to compare
Pre-release

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:
    • fixed bug with --no-exec not outputting terminal emulator for Terminal=true applications: #166
    • fixed hidden desktop files not participating in desktop ID precedence rules: #167
    • fixed --no-exec printing to stderr instead of stdout: #152
    • fix minor bugs
  • 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

02 Jun 14:02
fb52c4c
Compare
Choose a tag to compare

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

19 May 13:53
7ed1f55
Compare
Choose a tag to compare
Pre-release

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

02 Oct 15:04
r2.18
Compare
Choose a tag to compare
  • 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

26 Feb 00:34
r2.17
Compare
Choose a tag to compare
  • 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

11 Jan 10:10
r2.16
Compare
Choose a tag to compare
  • updated CMakeLists to use Catch 1.x (instead of 2.x)

r2.15 released 2017-03-19

19 Mar 10:58
r2.15
Compare
Choose a tag to compare
  • 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