It looks like the latest BETAs of clap removed setting the version implicitly.
Now that jwalk
was released in v0.6 with v0.5.2 yanked, cargo install
will use the previous
version v0.5.1 which does not fit the latest dua
anymore.
This is now fixed and hopefully permanently so thanks to using jwalk
v0.6.
A breaking change in jwalk can cause builds to fail. This prevents the issue from spreading at least with dua-cli.
The IO subsystem on Apple Silicon is different and won't scale nicely just by using all amount of available cores. Instead it seems best to only use as many threads as performance cores are present on the system - otherwise the performance might actually get worse while using more power.
On all other systems, the default number of threads did not change.
Please note that for optimial performance one would need an arm build on MacOS, currently provided is only intel builds.
- upgrade to TUI v0.13.0
Should fix this issue
See this PR for reference.
- previously in interactive mode on Windows, directory sizes would appear as 0 bytes in size. This is now fixed!
- On widnows,
dua
will now expand glob patterns by itself as this capability is not implemented by shellsdua
can now run in. - A bug was discovered that could cause
dua a
invocation to now show paths behind their size in an incorrect attempt to not print with color.
- On Windows, we will now build using
crossterm
, which was greatly facilitated bycrosstermion
. - On Unix systems, the backend is still
termion
.
- Switch back to
clap
fromargh
to support non-UTF-8 encoded paths to be passed to dua
I hope that argh
or an alternative will one day consider supporting os-strings, as it would in theory be an issue
for anyone who passes paths to their command-line tool.
- Switch from deprecated
failure
toanyhow
to reduce compile times a little and binary size by 130kb.
- Switched from
clap
toargh
for a 300kb reduction in binary size and 1 minute smaller compile times.
- Support for extremely large, zeta byte scale, files or filesystem traversals.
- Fix possibly incorrect handling of hard links in traversals spanning multiple devices.
Both changes were enabled by @Freaky whom I hereby thank wholeheartedly :).
- quit without delay from interactive mode after
dua
was opened on huge directories trees. See this commit for details.
- Use
x
to only mark entries for deletion, instead of toggling them. - Add
-x
|--stay-on-filesystem
flag to force staying on the file system the root is on, similar to-x
in the venerabledu
tool.
This brutally fixes an issue where symbolics links are honored when they are placed in the current working directory, as internally dua
will
treat each cwd directory entry as individual root path.
v2.3.8 dua interactive
(dua i
) is now about twice as fast due to using all logical cores, not just physical ones
This is also the first release with github releases: https://github.com/Byron/dua-cli/releases/tag/v2.3.8
v2.3.6 Upgrade to jwalk 0.5 bringing better threading control and no symlink following during traversal
Thanks to this PR, hard links are now not counted anymore.
The -l
flag will count hard links as it did before.
And of course, this has no noticable performance impact.
Thanks to this PR, the old apparent size can be displayed with the
-A
flag, and the much more useful 'size on disk' is now shown by default.
To my pleasant surprise, this does not seem to affect performance at all - everything stays speedy.
Binaries for Linux and MacOS are now available on GitHub Releases.
Depending on the terminal used, it might not have been obvious which panel was active. This might be confusing to new and current users. Now the color of the widget frame is changed to light gray, instead of remaining gray.
dua
will not follow symbolic links when deleting directories. Thank a ton, @vks!
Technical Notes: Handling symbolic links properly is impossible without usage of symlink_metadata()
.
- the TUI is now usable on light terminals, and highlighting is more consistent. Thank you, @vks!
- Fixes misaligned columns when displaying '100.00%' alongside other rows by displaying
100.0%
instead. Thanks, @vks, for pointing it out.
- during symlink deletion, now broken symlinks will be deleted as expected.
- always return to the previous terminal screen so the TUI doesn't stick to the current one.
- display broken symlinks on the first level of iteration.
A critical bug was discovered which would lead to deletion
of unwanted directories
as dua
would follow symbolic links during traversal during deletion.
Please note that symbolic links to files would be treated correctly, only removing the symbolic link.
This is now fixed.
That way, pressing shift + O
to open the currently selected file won't possibly spam the terminal
with messages caused by the program used to find the system program to open the file.
Fixes #14
- Performance fix when showing folders with large amounts of files
- Display of amount of entries per directory
- Better information about deletion progress
- removal of windows support
- windows support (never actually worked), usage of crossterm is difficult thanks to completely different input handling.
- additional key-bindings
- auto-restore previous selection in each visited directory
- fix typo in title
- better display of IO-Errors in aggregate mode
A sub-command bringing up a terminal user interface to allow drilling into directories, and clearing them out, all using the keyboard exclusively.
- Single Unit Mode, see reddit
That's that. We also use tui-react
, something that makes it much more pleasant to handle the
application and GUI state.
Simple CLI to list top-level directories similar to sn-sort, but faster and more tailored to getting an idea of where most space is used.