Skip to content

Releases: isd-project/isd

v0.5.1

24 Feb 10:17
51d52a2
Compare
Choose a tag to compare

This release fixes a bug that caused isd to crash if no matching units were found.

v0.5.0

17 Feb 18:04
8021a51
Compare
Choose a tag to compare

What's Changed

This is a big one ⛰️ that consists of many tiny changes.

Support old systemd versions

The most important one is that isd now supports very old systemd version 🥳
The current tests suite even includes systemd v229 (Ubuntu 16.04) and has been reported to even work with v217!
Thanks to @CollinDewey for getting the ball rolling! This officially fixes #17.

Improve service tab UX

There were many different iterations that I have tried in order to fix #48.
The final version moves the tab headers to the bottom of the preview window and keeps the tab header focusable.
This keeps the UI accessible while reducing friction for power users who want to quickly move between the search results pane and the preview output.

Add systemctl edit --full to default list

This is in response to #42.

Allow customizing the widget heights

Now the widget heights of the search results and preview widgets can be manually configured.
It is also possible to temporarily zoom in/out of the widget if one of them is currently focused.
This fixes #48.

Clicking on a unit now only highlights instead of selecting it

Previously, clicking on a unit without a modifier selected the unit.
This was a surprising behaviour for some users.
Now, clicking a unit only highlights the unit and is the same
as moving to it via keyboard navigation.
To select a unit, the user has to press one of the modifier keys.

This was kindly pointed out in the Late Night Linux Podcast.

Display a donation screen for each 100 startups

Hopefully, this won't be a controversial feature. ❤️

isd now includes a startup tracker that checks how many times isd has been opened.
Every time isd is opened a multiple of 100 times, a modal screen will appear that mentions how often isd has been opened and kindly asks the user to consider donating (if possible) to support the project.
By using a counting-based approach, I can be sure that new users who simply try it out a few times a month will probably never see it.
But those who make heavy use of the program might see it once or twice per year.
The value of 100 is derived from how often I have opened my text editor over a month, a program that I use far more regularly than isd.

Documentation updates

  • docs: Fix typo by @Adda0 in #45
  • docs: Fix typos in documentation by @Adda0 in #47
  • docs: Add new media mentions

Add proper testing

In order to minimize the potential for regression, I have included many tests in this release.
These tests also include parsing test data for very old systemd versions.
I will try to support until v229 from Ubuntu 16.04.
I also include visual snapshot comparison tests to ensure that I do not accidentally break the visual properties without noticing it.
Here is a quick shoutout to textualize that has created the insanely helpful pytest fixture for snapshot testing. 🚀

If you would like to read the motivation for using quickemu over anything else, have a look at the quickemu/README.md file.

More default vi(m) keybindings

As discussed in #12, this release includes the new default keybindings for ctrl+b/f for page down/up.
Of course, it can still be customized if you'd like to do so.

v0.4.1

01 Feb 15:49
2480a1b
Compare
Choose a tag to compare

Not a "real" patch release but simply relaxing the minimal required
Python version to 3.11. To support 3.11 only minor changes had to be
made. But to provide the best experience for "upstream" users, the nix
package and AppImage will use 3.13 for best performance.

Full Changelog: v0.4.0...v0.4.1

v0.4.0

01 Feb 01:37
5191c60
Compare
Choose a tag to compare

What's Changed

This release mainly focuses on improving the packaging side.
isd now provides a desktop file and uses a standard size for the icon (fixes #29).

This release will also be available on PyPI. The main reason for publishing
to PyPI is to better support packaging for distros as mentioned in #18.
Due to a naming clash on PyPI, the Python project has been renamed
to isd-tui. However, the project will continue to be named isd
and the executable will continue to be called isd!

The Python wheel only includes the necessary files, including
the .desktop file and icon.
The nix derivation propagates the .desktop file and the icon and makes them
available for Desktops of nix users.
Due to a bug in isd-appimage, identical nixpkgs pins cannot be used for isd
(#37 is blocked).

This release also introduces EXPERIMENTAL arm support!
I do not have access to an arm-based machine, and as such, I cannot actually
test the arm-based AppImage. The AppImage was created by cross-compiling.
However, I cannot run a cross-platform AppImage (should fix #36).
Please let me know if it works for you or not 🙏

At least the arm-based nix derivation can be run with QEMU, and it seems to work.

PS: This release also includes a workaround for a Zellij bug (fixes #34).
Though upstream already has a bug-fix available until a new version has
been published, isd will work around the Zellij issue.

Full Changelog: v0.3.0...v0.4.0

v0.3.0 -- New keybinding logic

26 Jan 15:43
01ffd84
Compare
Choose a tag to compare

Breaking changes to keybinding logic and configuration

This release moves from partially unsupported keybindings for old terminals to a modal-based action trigger (fixes #12) and uses more widely supported defaults. For the motivation, see #12 and the Customization page
for details. It is recommended to delete the ~/.config/isd/config.yaml file and regenerate it if required.

"Direct" systemctl actions need to be explicitly enabled (but are still supported!).

isd will also check for overlapping keybindings and raise an error to minimize unexpected behaviour of the tool.

Updated command palette

The command palette includes more descriptive help texts and mentions the associated keyboard shortcut if available.
This should help with keybinding discovery.
The documentation now explicitly mentions how to quit the application (fixes #25 and solves #21).

New Logo

isd now comes with a new logo from a hobby artist who prefers to only be referenced as Denis. Thank you Denis!

Pager fixes

isd uses a more widely used less argument configuration to also work with older versions of less (fixes #22)

Templated services

isd now behaves more similarly to systemd when viewing templated service files. To better convey that they do not provide a Preview output (apart from Cat), these units are greyed out, as suggested in #16 (fixed #16).

Basic error recovery

If the settings cannot be correctly loaded, the error message is shown and an error log is generated. This should help users with breaking changes in the future.

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0 - Add configurable page up/down keybindings

19 Jan 12:46
Compare
Choose a tag to compare

What's Changed

  • internal: add GPL-v3.0 license
  • feat: Add configurable pageup/down support in Selection widget
  • docs: Update FAQ
  • fix: Add AppImage environment variable for Ubuntu 24.04
  • docs: fix typos (#9)
  • docs: correct spelling in README
  • docs: enforce minimal Python version in uv cmds
  • docs: fix nix run URL
  • docs: fix nix install instructions
  • docs: fix uv install instructions
  • community: add welcome-bot
  • docs: fix links

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

18 Jan 10:54
Compare
Choose a tag to compare

Public Release! 🎉

Full Changelog: https://github.com/isd-project/isd/commits/v0.1.0