地圖 (Jido) is a lightweight Unix TUI file explorer designed for speed and simplicity.
1# Changelog
2
3## v1.3.0 (2025-05-26)
4- feat: add `--choose-dir` arg
5- feat: add `--entry-dir=PATH` arg
6
7## v1.2.0 (2025-05-26)
8- feat(images): Cache images to avoid unecessary re-processing
9
10## v1.1.0 (2025-05-21)
11- fix(images): Improve performance by only locking critical parts of image loading
12- fix(images): Thread the image loading process as not to block user input
13
14## v1.0.1 (2025-04-14)
15- fix(errors): Ensure logged enums are wrapped in `@tagName()` for readability.
16
17## v1.0.0 (2025-04-06)
18- New Keybinds:
19 - Added ability to copy files.
20 This is done by (y)anking the file, then (p)asting in the desired directory.
21 This action can be (u)ndone and behind the scenes is a deletion.
22 Currently this feature only supports files, folders, and symlinks.
23 - Added force delete keybind. It's unbound by default.
24 - Added keybind `v` to view additional information about the selected entry.
25- A huge audit of `try` usages was conducted. As a result of this, Jido is much
26 more resiliant to errors and should crash less often in known cases.
27- Added `:h` command to view help / keybind menu.
28- Added config option `true_dir_size` to see the true size of directories.
29- Added [-v | --version] and [-h | --help] args.
30- File permissions are now displayed in the file information bar to the bottom
31 of Jido.
32- Keybinds can now be unbound. Some keybinds are now unbound by default.
33 See [Configuration](https://github.com/BrookJeynes/jido?tab=readme-ov-file#configuration)
34 for more information.
35- Fixes:
36 - fix: Scrolling command history now provides the correct values.
37 - fix: Ensure complete Git branch is displayed. Previously if the branch
38 contained slashes, it would only retrieve the ending split.
39 - fix: Allow the cursor to be moved left and right on text input.
40 - fix: The keybind " " (spacebar) is now accepted by the config.
41 - fix: Multi-char keybinds now throw errors instead of crashing.
42 - fix: Undoing a delete/rename wont overwrite an item with the same name now.
43
44## v0.9.9 (2025-04-06)
45- feat: Added ability to copy folders.
46- fix: Scrolling command history now provides the correct values.
47
48## v0.9.8 (2025-04-04)
49- fix: Ensure complete Git branch is displayed.
50- refactor: Audit try usage to improve system resiliance.
51- refactor: Removed need for enum based notifications.
52
53## v0.9.7 (2025-04-01)
54- feat: Added ability to copy files.
55 This is done by (y)anking the file, then (p)asting in the desired directory.
56 This action can be (u)ndone and behind the scenes is a deletion.
57- fix: Allow the cursor to be moved left and right.
58- refactor: Changed action struct field names to be more clear.
59- refactor: Better ergonomics around writing to the log file.
60
61## v0.9.6 (2025-03-31)
62- feat: Added ability to unbound keybinds.
63- feat: Added force delete keybind. It's unbound by default.
64
65## v0.9.5 (2025-03-29)
66- feat: Added [-v | --version] and [-h | --help] args.
67
68## v0.9.4 (2025-03-29)
69- feat: Added keybind `h` to view help / keybind menu.
70- refactor: `List` drawing logic is now handled by the `Drawer{}`.
71
72## v0.9.3 (2025-03-27)
73- feat: The keybind " " is now accepted. This allows spacebar to be bound.
74- feat: Duplicate keybind notification now includes additional information.
75- fix: Multi-char keybinds now throw errors instead of crashing.
76- fix: Remove need to init notification handler. This fixes many issues with
77 the places in the code notifications could be produced.
78
79## v0.9.2 (2025-03-25)
80- feat: Added keybind `v` to view additional information about the selected entry.
81- feat: Added config option `true_dir_size` to see the true size of directories.
82- fix: Undoing a delete/rename wont overwrite an item with the same name now.
83
84## v0.9.1 (2025-03-23)
85- feat: File permissions are now displayed in the file information bar to the
86 bottom of Jido.
87
88## v0.9.0 (2025-03-21)
89- New Keybinds:
90 - Added keybind `<CTRL-r>` to reload config while Jido is running.
91 - Added keybind `.` to hide/show hidden files at runtime.
92 Default behaviour is still read from the config file if set.
93- Added keybind rebinding.
94 Jido now allows you to rebind certain keys. These can be rebound via the config
95 file. See [Configuration](https://github.com/BrookJeynes/jido?tab=readme-ov-file#configuration)
96 for more information.
97- Added file logger.
98 This file logger allows Jido to provide users with more detailed log messages
99 the notification system cannot. The log file can be found within the config
100 directory under the file `log.txt`.
101- Jido is now built with the latest stable version of Zig, v0.14.0.
102- Fixes:
103 - Hiding/showing hidden files after cd would cause all the files to visually
104 disappear.
105 - Off by one error when traversing command history causing the list to skip
106 some entries.
107 - Empty commands are no longer added to the command history. This now means
108 commands are whitespace trimmed.
109 - Move logic to hide dot files from renderer to directory reader.
110 This moves the logic to hide dot files out from the renderer to the
111 directory reader. This means if hidden files are turned off, they aren't
112 even stored.
113 - Default styling didn't specify styling for notification box text. This
114 would cause visual issues for light mode users.
115
116## v0.8.3 (2025-03-19)
117- feat: Added keybind `<CTRL-r>` to reload config while Jido is running.
118- fix: Hiding/showing hidden files after cd would display no files.
119- fix: Off by one error when traversing command history...
120- fix: Dont add empty commands to command history.
121- docs: Updated readme to mention new keybind.
122- docs: Reordered keybinds section to add "Global" section.
123
124## v0.8.2 (2025-03-18)
125- fix: Move logic to hide dot files from renderer to directory reader.
126 this moves the logic to hide dot files out from the renderer to the
127 directory reader. This means if hidden files are turned off, they aren't
128 even stored.
129- feat: Added keybind `.` to hide/show hidden files at runtime.
130 Default behaviour is still read from the config file if set.
131
132## v0.8.1 (2025-03-11)
133- feat: Jido is now built with zig 0.14.0.
134- chore: Update packages.
135
136## v0.8.0 (2025-01-07)
137- Rebrand from zfe to Jido by @BrookJeynes in #16
138 I felt that I wanted this project to have more of its own identity so I
139 decided now that this project is getting closer to a v1.0 release, it's time
140 to give it a proper name.
141- Added command mode by @BrookJeynes in #14
142 Command mode is a way for users to enter Jido commands.
143 Currently supported commands:
144 ```
145 Command mode:
146 :q :Exit.
147 :config :Navigate to config directory if it exists.
148 :trash :Navigate to trash directory if it exists.
149 :empty_trash :Empty trash if it exists. This action cannot be undone.
150 ```
151- Deletes are now sent to `<config>/trash` instead of `/tmp`. by @BrookJeynes in #15
152 Previously, deletes were sent to `/tmp`. This made it convenient for cleanup
153 however caused issues on certain distros. This was because the `/tmp` dir was
154 on a separate mount point and therefore the file was unable to be moved there.
155 Tying into this, there is now a new `empty_trash_on_exit` config option set to
156 false by default.
157- Reworked the notification stylings. Notification stylings are now under the
158 notification namespace within the config file.
159- The code used to detect the git branch no longer needs git installed on the
160 system.
161- Displayed file size now shows the correct file size for files.
162
163## v0.7.0 (2025-01-01)
164- Fix notification segfaults by @BrookJeynes in #9
165- Conform codebase styling by @BrookJeynes in #10
166- Create release action by @BrookJeynes in #11
167- Separate event and draw logic by @BrookJeynes in #12
168- Updated config location from `$HOME/.config/zfe` to `$HOME/.zfe` by @BrookJeynes in 3cb9bb2
169 - This means that the config can be found at either `$HOME/.zfe/` or
170 `$XDG_CONFIG_HOME/zfe/config/`. The old path will continue to work for
171 the meantime but has been deprecated.
172- Show git branch when available by @BrookJeynes in #13
173
174## v0.6.1 (2024-12-03)
175- Updated libvaxis and refactored build.zig by @BrookJeynes in #7
176- Notifications are now their own windows that appear to the right by @BrookJeynes in #8
177 - Notifications are now their own windows that appear to the right of the
178 screen. they disappear after 3 seconds but note that renders only occur
179 after an action has been polled. this means that if you wait for 3 seconds
180 without an action, the notification wont disappear until an action occurs.
181 - Added info notifications on actions such as renaming, deleting, changing
182 dir, etc.
183 - Added notification_box colour setting to config.
184
185## v0.5.0 (2024-06-05)
186- Updated libvaxis dependency.
187- Fixed an issue where viewing a PDF would freeze zfe. This fixes issue #5
188- Added additional "Optional Dependencies" section to README to specify optional
189 dependencies for zfe (such as pdftotext for PDF viewing).
190- Updated the way images are streamed in. This should help with #4 but I don't
191 think it ultimately fixes the issue at hand.
192
193## v0.4.0 (2024-06-05)
194- Fixed bug where cursor would jump back to the top after deleting, renaming,
195 creating, or undoing.
196- Added new keybind `c` to change directory via path.
197- Previous positions are saved when entering a new directory.
198- PDFs can now be read if `pdftotext` is installed.
199- Undo history can now only store the last 100 events.
200- List scrolling is now squeaky smooth.
201- Other general refactors and bug fixes.
202
203## v0.3.0 (2024-05-30)
204- Moved render and event handling logic to their own functions. This will make
205 it a more pleasant experience for contributors.
206- Added issue templates for easier and more concise bug reports and feature
207 requests.
208- Fixed issue where images would stop rendering if an event was emitted without
209 changing selected item.
210- Implemented ability to delete files and folders.
211- Implemented ability to rename files and folders.
212- Implemented ability to undo deletions and renames within a session.
213- Implemented ability to create folders and directories.
214- Updated README with new keybinds.
215- Added config option for styling info bar.
216
217## v0.2.0 (2024-05-26)
218- Implemented fuzzy search for items in a directory.
219- Files can now be opened with `$EDITOR`.
220- Error messages now displayed in app.
221- Better errors when failing to read config.
222- Stopped supporting Windows.
223
224## v0.1.1 (2024-05-25)
225- Added better error handling.
226- Added new config style for error bar.
227- Updated README to include config schema.
228- Added MIT license.
229
230## v0.1.0 (2024-05-24)