You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Plugin manager with Lua, Rhai, and WASM runtimes registered at startup
19
+
- Non-blocking hook dispatch via `tokio::spawn` for scan-complete events
20
+
-**Lua Sandbox Enforcement** - Filesystem API now respects sandbox read permissions:
21
+
-`fs.read`, `fs.read_bytes`, `fs.exists`, `fs.is_dir`, `fs.is_file`, `fs.metadata` all check `SandboxConfig.can_read()`
22
+
- Sandboxed contexts hide file existence for disallowed paths
23
+
24
+
### Changed
25
+
26
+
-**API Modernization** - ~25 function signatures changed from `&PathBuf` to `&Path` across all crates, following Rust idioms for borrowed path parameters
27
+
-**Clippy Clean** - Eliminated all 84 clippy warnings across the workspace:
28
+
- Collapsed ~35 nested `if` statements using Rust let-chains
29
+
- Replaced 3 manual `Default` impls with `#[derive(Default)]`
30
+
- Removed ~6 redundant closures in `map_err` chains
31
+
- Replaced `.min().max()` chains with `.clamp()`
32
+
- Replaced manual prefix stripping with `strip_prefix()`
33
+
- Replaced `iter().any(|&b| b == 0)` with `.contains(&0)`
34
+
- Removed `trim()` before `split_whitespace()` (redundant)
35
+
- Replaced `vec![]; push()` patterns with `vec![initial]`
36
+
- Used `.is_some_and()` over `.map_or(false, ...)`
37
+
- Used `.is_multiple_of()` over `% N == 0`
38
+
- Used `.flatten()` on fallible iterators
39
+
-**Undo System Simplification** - `FilesDeleted` variant simplified:
40
+
- Now stores `paths: Vec<PathBuf>` instead of `trash_entries: Vec<(PathBuf, PathBuf)>`
41
+
-`can_undo()` always returns `false` for deletions (trash restore removed)
42
+
-**HookResult Serialization** - Added `Serialize`/`Deserialize` derives for WASM interop
43
+
-**README Rewrite** - Modernized with SOTA performance metrics, plugin system showcase, and condensed keybinding reference
44
+
-**Dependencies Updated** - All workspace dependencies brought to latest versions
45
+
46
+
### Fixed
47
+
48
+
- Broken doc comment continuation in plugin crate module docs
49
+
- Test assertions updated to match actual `ScanConfig` defaults
50
+
-`ContentHash` test helpers updated for `Box<ContentHash>` optimization
51
+
- Duplicate finder tests fixed for correct file count assertions
52
+
8
53
## [0.3.0] - 2026-01-29
9
54
10
55
### Added
@@ -179,6 +224,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
179
224
-`gravityfile age [PATH]` - Analyze file ages
180
225
-`gravityfile export [PATH]` - Export scan results to JSON
0 commit comments