Skip to content

Tags: Byron/dua-cli

Tags

v2.29.0

Toggle v2.29.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### New Features

 - Add scrollbar to the main entries list.
   That way it's easier to grasp how long the list is, and how fast one is
   traversing is.

### Bug Fixes

 - avoid crashes when the terminal is resized to unusually small sizes.
 - mark-pane help bar now shows closest to the selected item.
   Previously this would only work in the first screen, but not when
   the list was long enough for scrolling.

### Commit Statistics

 - 18 commits contributed to the release over the course of 44 calendar days.
 - 46 days passed between releases.
 - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
 - 0 issues like '(#ID)' were seen in commit messages

### Commit Details

 * **Uncategorized**
    - Avoid crashes when the terminal is resized to unusually small sizes. (caa1e72)
    - Mark-pane help bar now shows closest to the selected item. (24a6c29)
    - Update to the latest versions of `tui-react` and `ratatui` (8ab4ee7)
    - Fix possible overflow during substraction in mark pane (a94c7d3)
    - Add scrollbar for mark list (5fe858d)
    - Add scrollbar to the main entries list. (0c511ff)
    - Avoid iterating a potentially long list doubly (fd797e8)
    - Add scrollbar for main list (120a08a)
    - Merge branch 'dev/pwach/ignore-vs-code' (b79fde4)
    - Remove user and platform specific files from `.gitignore` (30f28a7)
    - Ignore .vscode directory (same as .idea) (27cbd21)
    - Merge pull request #231 from gosuwachu/dev/pwach/fix-clippy (250fdc4)
    - Update dependencies (0086854)
    - Fixes clippy error in rust 1.76 (85c00cd)
    - Merge pull request #229 from chessmango-forks/main (5052da9)
    - Different image obvi (f5ec49f)
    - Strip arm64 bin (504ac52)
    - Add aarch64 releases (a88baf1)

v2.28.0

Toggle v2.28.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### New Features

 - add `dua i --no-entry-check` flag.
   With it, in interactive mode, entries will not be checked for presence.
   
   This can avoid laggy behaviour when switching between directories
   as `lstat` calls will not run, which can be slow on some filesystems.

### Commit Statistics

 - 3 commits contributed to the release.
 - 1 day passed between releases.
 - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
 - 2 unique issues were worked on: #226, #227

### Commit Details

 * **#226**
    - Make builds with rustc 1.72 work (600bee2)
 * **#227**
    - Add `dua i --no-entry-check` flag. (78b9a8e)
 * **Uncategorized**
    - Merge branch 'no-entry-check' (d837d72)

v2.27.2

Toggle v2.27.2's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### Bug Fixes

 - allow `/` (glob-mode) while scanning.
   This will possibly lead to incomplete results, but I find being
   able to use ones muscle-memory more important than preventing
   dealing with incomplete results.
   
   What happens to me is usually to type `/` followed by `target/`
   which tends to select all current entries for deletion.
 - don't check entry metadata while a scan is in progress
   Previously each time the UI refreshes, every 250ms, it display
   entries but also check their metadata to assure they exist.
   
   This could lead to performance loss when the displayed folder
   has a lot of entries.

### Commit Statistics

 - 3 commits contributed to the release.
 - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #223

### Commit Details

 * **#223**
    - Don't check entry metadata while a scan is in progress (c70ca81)
 * **Uncategorized**
    - Merge branch 'fix-overhead' (7a4b271)
    - Allow `/` (glob-mode) while scanning. (67c5bdb)

v2.27.1

Toggle v2.27.1's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### Bug Fixes

 - Explicit refreshes with 'r and 'R' now work with multiple root paths as will.
   This can happen in cases of `dua i root-a root-b` for instance.

### Commit Statistics

 - 7 commits contributed to the release over the course of 1 calendar day.
 - 4 days passed between releases.
 - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
 - 0 issues like '(#ID)' were seen in commit messages

### Commit Details

 * **Uncategorized**
    - Explicit refreshes with 'r and 'R' now work with multiple root paths as will. (f70d1a8)
    - Refactor (9d976d0)
    - Cargo fmt (99b5443)
    - Tests for refresh & selection (dcff2ee)
    - Fix refresh with multiple input paths (65f6735)
    - Test glob pane open/close (7efd77e)
    - Tests for shwing/hiding additional columns (dbab511)

v2.27.0

Toggle v2.27.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### New Features

 - Press `r` or `R` for refresh
   Lower-case `r` will refresh the currently selected entry, while upper-case `R`
   will refresh the entire displayed directory, and all entries in it.
   
   Further, what was called `item` is now called `entry` across the
   user-interface.
 - show and hide mtime and item count columns with 'M' and 'C' respectively

### Commit Statistics

 - 44 commits contributed to the release over the course of 10 calendar days.
 - 11 days passed between releases.
 - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #96

### Commit Details

 * **#96**
    - Press `r` or `R` for refresh (bed351e)
    - Prepare for (R)efresh support (1812227)
 * **Uncategorized**
    - Refactor (18a725d)
    - Make `Shift+r` do more than 'r' (f1fc13e)
    - Preserve selected element after refresh (99e5384)
    - Various updates based on the code review feedback: (c3d665d)
    - Cargo clippy & fmt (ad7abd8)
    - Fix tests (6b24912)
    - Exit glob mode if view root is the same as glob root (253f720)
    - Fix updating item count (13614a9)
    - Fixed tests (69f14af)
    - Remove debug comments (9f37e1c)
    - Refresh all in view vs selected (06ee3ab)
    - Fix file count (eeae2bc)
    - Fix traversal stats (96ef242)
    - Moved traversal stats to separate type (969e64b)
    - Traverse children vs parent & fix parent node size after refresh (226cbb8)
    - Add `R` to trigger a full refresh (PoC) (30d8dd5)
    - Make WalkOptions available in State so it can re-use it for additional walks. (0ad90ba)
    - Merge pull request #217 from Geezus42/patch-1 (85005ce)
    - Update README.md (e0ac3d1)
    - Merge branch 'show_columns' (1a54d95)
    - Show and hide mtime and item count columns with 'M' and 'C' respectively (1544e8d)
    - Refactor (30da672)
    - Clippy (c4efba8)
    - Fixed tests (d903ea6)
    - Fmt (6c63bf5)
    - Clippy (f74a40a)
    - New Traversal (9eaa961)
    - Fmt (b3236dc)
    - Clippy (8aaa05a)
    - Started fixing tests... (5abb9d7)
    - Remove commented out code (7378bd8)
    - First working version (b52f66e)
    - Cargo fmt (0cd5ea9)
    - Update entries (bb511b5)
    - Wip (51b67ff)
    - Clean-up init function (13c381b)
    - Move ByteFormat out of WalkOptions (e53036a)
    - Move AppState to separate file (feec3eb)
    - Move TerminalApp to separate file (5123cf5)
    - Scan disabled (cf3c507)
    - Update demo (0e2e8c6)
    - No Interactive enum (807916c)

v2.26.0

Toggle v2.26.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### New Features

 - responsive and buttery-smooth UI while scanning in interactive mode.
   Using `dua i` the GUI would populate and is fully usable even while the scan
   is in progress, which is fantastic when scanning big disks which can take several minutes.
   
   However, previously is was quite janky as the refresh loop was bound to receiving
   entries to process, which sometimes stalled for many seconds.
   
   Now the GUI refresh is uncoupled from receiving traversal entries, and it will
   update when the user presses a key or 250ms pass without any input, causing
   it to respond immediately.
   
   Thanks so much for contributing, [@unixzii](https://github.com/unixzii)!

### Commit Statistics

 - 3 commits contributed to the release.
 - 2 days passed between releases.
 - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #209

### Commit Details

 * **#209**
    - Responsive and buttery-smooth UI while scanning in interactive mode. (3c8a31b)
 * **Uncategorized**
    - Refactor (0651cae)
    - Optimize UI responsiveness during scanning state (983ba61)

v2.25.0

Toggle v2.25.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### Chore

 - remove obsolete `tui-shared` feature

### New Features

 - add `--log-file` flag to keep track of some debug info, which includes panics.
   Previously, when `dua i` was used, panics would be hard to observe, if at all,
   as they would print to the alternate screen. Now, when the `--log-file dua.log`
   is specified, the panic will be emitted into the log file instead and thus won't
   be lost anymore.
   
   This may help with debugging in future.

### Bug Fixes

 - `--ignore-dirs` now work as expected.
   Previously they would need to be specified as relative to the traversal root, which
   was unintuitive and would lead to ignores not working for many.
   
   Even though this was done for performance to avoid canonicalization, we do now
   perform a more performance version of canonicalization so the overall performance
   should be acceptable nonetheless.
   
   Also note that ignored directories are now logged when using a `--log-file`.
 - consistent language across the application and improved style of the Help pane.
   Generally, what was called `entry` is now called `item`, consistently.

### Other

 - clarify that (and why) `termion` isn't supported anymore in README.md
   This was triggered by `crossterm` essentially breaking event handling
   on Windows, which is when I decided to just use the seemingly more
   powerful crossterm events natively.
   
   Overall, this made event handling more complex, but also allows users of
   `crosstermion` (the crate that actually dropped `termion` support) to
   write even more interactive applications without worrying about
   the always out-of-date intermediate layer.
   
   Interestingly, the `crosstermion` crate adds some useful features around event handling,
   but also optimizes build times thanks to `termion`, which is something that
   on my current machine I don't notice anymore, so the value of it diminished greatly.

### Commit Statistics

 - 13 commits contributed to the release over the course of 7 calendar days.
 - 7 days passed between releases.
 - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
 - 2 unique issues were worked on: #196, #208

### Commit Details

 * **#196**
    - `--ignore-dirs` now work as expected. (49f98f5)
 * **#208**
    - Remove obsolete `tui-shared` feature (e992659)
    - Clarify that (and why) `termion` isn't supported anymore in README.md (729e7e9)
 * **Uncategorized**
    - Use `gix-path` for more control and performance. (93f0f61)
    - Refactor (7905b48)
    - Fix ignore dirs wip (e2d5a34)
    - Merge branch 'logging' (196f0d6)
    - Add `--log-file` flag to keep track of some debug info, which includes panics. (6fbe17f)
    - Enforce Rust 2021 style (45d886a)
    - Merge branch 'help-language-consistency' (0a0dfe6)
    - Consistent language across the application and improved style of the Help pane. (20e85c1)
    - Option to enable debug logs (4482e1d)
    - Keep consistent language/punctuation/case throughout the app. (1e6db58)

v2.24.2

Toggle v2.24.2's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### Bug Fixes

 - avoid duplicate key input on windows.
   On Windows, key-states like press/release/repeat are made available
   separately, which means we should avoid responding to key-releases
   as it would incorrectly double the actual user inputs.

### Commit Statistics

 - 3 commits contributed to the release.
 - 1 day passed between releases.
 - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #203

### Commit Details

 * **#203**
    - Avoid duplicate key input on windows. (b5b8aa2)
    - Upgrade to latest verison of tui-crates and native crossterm events. (90b65d5)
 * **Uncategorized**
    - Merge branch 'tui-crates-upgrade' (edbb446)

v2.24.1

Toggle v2.24.1's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
### Bug Fixes

 - keep checking for existance of entries outside of the glob top-level.
   The glob top-level is used to display all search results which means
   that there can be a lot of them, which would unnecessarily slow down
   the search operation.
   
   Previously it would never check for the existence of an entry in glob mode,
   but now it will do so outside of the top-level.

### Commit Statistics

 - 1 commit contributed to the release.
 - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
 - 0 issues like '(#ID)' were seen in commit messages

### Commit Details

 * **Uncategorized**
    - Keep checking for existance of entries outside of the glob top-level. (8ae727e)

v2.24.0

Toggle v2.24.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
This release adds long-awaited globbing support, just hit the `/` key…

… to get started.

You want to find the biggest `.git` directories? Just type `/.git/<enter>` and you are done. 
What about all target directories? Just write `target/` to the glob search prompt and it's done. 
What about all directories ending in `*.rs/`? 
Oh, by accident you typed `*.rs` and now there is a list of a quarter million of entries? No problem, 
it's near instant even with millions of files to search or hundreds of thousands to display.

> Note that glob-mode can be exited only by pressing `ESC` when the glob prompt has focus.

Special thanks go to [the contributor](https://github.com/gosuwachu) who made this feature happen,
along with many other improvements. Now `dua` feels refreshed for 2024, and is much more versatile.

Happy holidays!

### Commit Statistics

 - 29 commits contributed to the release over the course of 12 calendar days.
 - 12 days passed between releases.
 - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #197

### Thanks Clippy

[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. 

### Commit Details

 * **#197**
    - EntryData size test passes on 32-bit (9123ee7)
 * **Uncategorized**
    - Update dependencies (bc8c7a6)
    - Upgrade owo-colors to v4.0 (141c56c)
    - Update changelog prior to release; bump version (cfa8faa)
    - Merge branch 'glob-review' (1c4d6a7)
    - Use `gix-glob` for matching; support for matching dirs only. (2e1858c)
    - Remove treeview abstraction in favor of something simpler (3804a1f)
    - Refactor glob widget (b945a1e)
    - More copy-on-write for entries (bc56664)
    - Refactor shortening (8fae939)
    - Thanks clippy (b431ec3)
    - Shorten long paths so that they fit on the screen (7660d64)
    - Show error message on empty search result (360a0d7)
    - Glob most used keys (ff07f39)
    - Fix formatting (0a344fa)
    - Fix cursor rendering (aaa27e8)
    - Small code review fixes (49aecb9)
    - Use appropriate tree view when listing entries (7244bac)
    - Replace EntryData in EntryDataBundle with individual properties (f3b5d00)
    - Implements glob search mode (df6a02c)
    - Merge pull request #201 from Byron/dependabot/cargo/zerocopy-0.7.31 (b23e134)
    - Bump zerocopy from 0.7.30 to 0.7.31 (3efc857)
    - Merge branch 'add_missing_slash_in_root_dir' (9a15867)
    - Make clear why roots were special cased, and try to restore that behaviour. (94c008f)
    - Adds the missing '/' prefix for root directories (101a377)
    - Merge branch 'app_state_init_refactor' (f23a57f)
    - Minior refactor (6f09882)
    - Refactors AppState initialization during app startup (238bc5f)
    - Merge pull request #198 from cinerea0/fix-32bit-test (1b838f9)