Releases: bgreenwell/lstr
Release v0.2.1
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.2.1] - 2025-06-23
Removed
- Removed the
rayondependency and parallel tree walking for now (related to #10).
Added
-
Integrated the
lscolorscrate to respect theLS_COLORSenvironment variable, allowing for user-configurable file and directory colors that match their system's theme. -
Added a Nix flake configuration (
flake.nix) to provide a consistent and reproducible development environment for contributors. (PR #10)
Fixed
-
Fixed garbled color output (raw ANSI codes) in the classic view mode on some Windows terminals. The application now explicitly enables virtual terminal processing on startup, ensuring color codes are interpreted correctly.
-
In interactive mode, the selection highlight was changed to use reverse video, guaranteeing visibility and contrast regardless of the underlying file color.
-
Fixed a double-input bug in interactive mode on Windows that caused erratic navigation. The TUI now correctly filters for key press events. (Closes #21)
-
Fixed a critical issue where the classic
viewmode could produce scrambled and incorrect directory trees on certain systems, particularly on Windows. The directory walker for this mode was changed to a serial implementation to guarantee a consistent and correct output order in all environments. (Closes #20) -
Optimized the release build profile in
Cargo.tomlby enabling LTO, stripping symbols, and settingpanic = "abort", significantly reducing the final binary size. (PR #11) -
Removed the build-time dependency on
opensslby disabling default features for thegit2crate, which simplifies building from source. -
Refactored the project to use the version of
crosstermre-exported byratatui, preventing potential dependency version conflicts. (PR #13) -
Optimized the
git2dependency by disabling its default features. This removes the build-time requirement foropenssland reduces the total number of dependencies. (PR #5) -
Fixed broken icons in GIF. (Closes #4)
[0.2.0] - 2025-06-17
Added
-
Interactive Mode: A new
interactivesubcommand that launches a terminal-based UI.- Keyboard-driven navigation (
Up/Down,j/k). - Directory expansion and collapsing with
Enter. - Ability to open selected files in the default editor (
$EDITOR).
- Keyboard-driven navigation (
-
Git Integration: A new
-G, --git-statusflag displays file statuses (M,A,?, etc.) in both classic and interactive modes. -
Shell Integration: In interactive mode, pressing
Ctrl+snow quits and prints the selected path tostdout, allowinglstrto be used as a file picker for other shell commands. -
Rich Information Display:
- Added
--iconsflag to display file-specific icons (requires a Nerd Font). - Added
-s, --sizeflag to display file sizes. - Added
-p, --permissionsflag to display file permissions (Unix-like systems only).
- Added
Fixed
-
Resolved an issue where the
--gitignore(-g) flag would fail to ignore files in certain environments. -
Fixed a critical bug where the interactive TUI would hang and produce garbled output when piped to another command.
[0.1.1] - 2025-06-06
Added
-
Initial release of
lstr. -
Core recursive directory tree walking and printing functionality.
-
Colorized output for directories, configurable with the
--colorflag (always,auto,never). -
Control over recursion depth via the
-Lflag. -
Option to display directories only via the
-dflag. -
Option to show hidden files and directories via the
-aflag. -
Ability to respect
.gitignoreand other standard ignore files via the-gflag.
[0.1.0] - 2025-06-06
- Initial release.