Files
jjf/CHANGELOG.md
T
swaits 3b63d67737 chore(release): 0.1.0
- Add LICENSE (MIT, copyright 2026 Stephen Waits)
- Add README.md reflecting the current TUI: two-column preview pane
  with jj show --summary, live command preview row, default-to-show
  behavior, full keybinding table, shell integration matrix, internals
  overview, attribution to oppi.li's original bash+fzf concept
- Add CHANGELOG.md (keep-a-changelog format) with 0.1.0 release notes
- Add .github/workflows/ci.yml — fmt + clippy + check on every push/PR;
  build matrix on stable + 1.85 (MSRV)
- Update Cargo.toml: refined description, repository/homepage/docs
  URLs, keywords + categories, rust-version=1.85, exclude .github and
  ux.txt from the published tarball
- Update .gitignore to also exclude ux.txt (scratch UX mockup)

Verified clean:
  cargo fmt --all -- --check
  cargo clippy --all-targets -- -D warnings
  cargo publish --dry-run --allow-dirty  (16 files, 20.6 KiB compressed)
2026-04-29 19:49:11 -06:00

45 lines
1.9 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.0] — 2026-04-29
Initial release.
### Added
- Fuzzy picker over `jj log` for any jj subcommand that accepts `-r`.
- Smart prefix matching: typing the bold-highlighted portion of a change
ID jumps to that revision instantly. Falls back to nucleo fuzzy
matching against description text.
- Multi-select via `Tab`; selections joined into `-r 'A|B|C'` revset
union.
- Two-column layout (when terminal ≥ 80 cols): picker on left, live
`jj show --summary` preview of the cursor row on right, cached per
revision.
- Live command preview row showing the exact `jj …` invocation that
Enter will run.
- Preflight check via `jj <sub> --help`: subcommands that don't accept
revisions (`status`, `log`, etc.) are rejected upfront with a
friendly message.
- `--ignore-working-copy` on the internal `jj log` call so the picker
doesn't race with prompt/editor auto-snapshot integrations.
- Shell integration via `jjf init <bash|zsh|fish|nu>`:
- rewrites shell history so up-arrow recalls the resolved `jj …`
command rather than the `jjf …` invocation,
- drops the `jjf …` entry on cancel/error so cancelled invocations
don't pollute history,
- defaults `jjf` (no args) to `jjf show`,
- passes meta-commands and bare flags through to the binary directly.
- Vim-style and emacs-style navigation: `↑↓`, `Ctrl-N/P`, `Ctrl-J/K`,
`PageUp/PageDown`, `Home/End`, `Ctrl-A/E`.
- Light-terminal detection via `COLORFGBG`: cursor-row highlight uses
reverse video on light themes (where the dark gray bg is invisible).
- Synchronized output (DEC mode 2026) around each redraw to eliminate
tearing on Kitty / WezTerm / foot / recent iTerm.
[0.1.0]: https://github.com/swaits/jjf/releases/tag/v0.1.0