Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.6.0] - 2026-05-12

### Added
- **Feature-gating**: Five heavy dependencies are now gated behind Cargo features: `syntax-highlight`, `image-preview`, `sftp`, `terminal-panel`, and `auto-update`. The default build is significantly lighter (from ~387 to ~297 transitive crates), making `cargo install zeta` faster. Users can opt into specific features with `cargo install zeta --features feature-name` or all with `--all-features`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fix incorrect default-build claim in v0.6.0 changelog

This entry says the five heavy components are merely feature-gated and that the default install is lighter, but at this commit Cargo.toml:7 sets default = ["syntax-highlight", "image-preview", "sftp", "terminal-panel", "auto-update"], which enables all five by default. Users following this release note will expect cargo install zeta to be slim when it actually still compiles those features unless --no-default-features is used, so the changelog should be corrected to match current feature defaults.

Useful? React with 👍 / 👎.

- **Site/makeover**: Project website redesigned with animated background, accessibility improvements, and updated keyboard shortcuts reference.

### Performance
- **Phase 2 render optimizations**:
- `EntryInfo` now caches `lower_name` at construction time, eliminating repeated `to_lowercase()` allocations during sorting and filtering.
- `rebuild_cache()` reuses the `filtered_indices` vector via `clear()` + `extend()` instead of allocating a new `Vec` on every keystroke.
- `selected_path()` returns `Option<&Path>` instead of `Option<PathBuf>`, so callers clone only when needed.
- Added `REPEAT_CACHE` static lookup for frequently repeated UI characters (`" "`, `"─"`, `"░"`) up to length 128. Spacers, progress bars, and preview gutters now use cached slices instead of calling `.repeat()` every frame.
- `REPEAT_CACHE` methods return `Cow<'static, str>` so cache hits pass borrowed strings directly to ratatui without any per-frame heap allocation.

## [0.4.6] - 2026-04-29

### Added
Expand Down
Loading