github idursun/jjui v0.9.11
0.9.11

8 hours ago

Release Notes

Overview

The underlying view system has gone through an almost complete rewrite (#473). This major overhaul enabled us to implement various features that weren't possible before and made most of the UI clickable.

What's new:

  • Mouse-clickable UI: details panel, evolog, git remotes, bookmark remotes, and more
  • Mouse wheel scrolling support across all views
  • Foundation for new interactive features like target picker and revset completion box

Highlights

🎉 Which-Key Style Status Bar (#503)

The status bar now works like which-key in Emacs/Vim:

  • Dynamically adjusts to window width - shows ?/more when space is limited
  • Press ? to expand and see all available keybindings
  • Works with stacked menus (git, bookmarks) to show context-specific help
  • Press esc to collapse
  • Replaces the old help menu
image

🎯 Target Picker for Operations (#490)

Operations like rebase, new, edit, and squash now support an interactive target picker:

  • Press t to open the target picker
  • Select a revision or type a custom target (bookmark name, change ID, etc.)
  • Press enter to execute the command
target-picker.mp4

✨ Enhanced Revset Completion (#510)

Multi-line revset completion with comprehensive function support:

  • Added 16 missing revset functions: bisect, divergent, none, subject, connected, heads, roots, reachable, tracked, untracked, conflict, file, diff, author_date, committer_date, working_copies
  • Fixed function signatures and renamed diff_contains to diff_lines
  • Shows full completion list when history is empty
  • Better visual styling and source-based completion
image

🔍 Backward Quick Search Navigation (#509)

Quick search now supports cycling in both directions:

  • Added quick_search_cycle_back keybinding (default: " which is Shift+')

Improvements

  • Split/Restore interactive mode (#500)
  • Quit now works from any view without needing to press ESC first

Bug Fixes

  • Preview window now updates after squash operations (#518)
  • Fixed "Change ID prefix is ambiguous" error when abandoning revisions (#517)
  • Preview resets to top when switching revisions (#477)
  • Confirmation dialog closes immediately after restore (#508)
  • Description editing works with single-line log templates (#496)
  • Fixed elided revision markers rendering (#486)
  • Fixed highlight rendering when inline describe is open (#485)
  • Fixed search highlighting (#481)
  • Prevent clicking outside window boundaries
  • Cursor position only enforced with keyboard navigation, not mouse wheel
  • Fixed remotes dialog height
  • Fixed divergent change ID parsing
  • Fixed bookmark remote filtering
  • Fixed curved graph lines
  • Removed extra gap above status line (#513)
  • Fixed preview split border z-index (#478)
  • Fixed details view rendering position (#476)
  • Added left/right arrow key support (#501, #502)
  • jj describe -m now handles messages starting with - (#475)
  • Fixed footer to show revset keybindings when active (#489)
  • Preview updates when jumping through search results (#498)

What's Changed

  • Introduce immediate view mode by @idursun in #473
  • feat: add treefmt formatters by @doprz in #436
  • revisions: fix displaycontext_renderer to render details before elided marker by @baggiiiie in #476
  • preview: reset preview offset after revision change by @baggiiiie in #477
  • fix preview split border and stacked menu indexes by @baggiiiie in #478
  • refactor: intents by @idursun in #480
  • hotfix(nix): add jjui build check and update vendor-hash by @doprz in #482
  • displaycontext_renderer: fix overlay rendering over description lines by @baggiiiie in #485
  • fix: set description from stdin to allow messages starting with minus by @kankri in #475
  • fix: displaycontext_renderer elided revision rendering issue by @baggiiiie in #486
  • revset,ui: fix ShortHelp display for revset by @baggiiiie in #489
  • Nix build warning (harmless for now; use deprecated) by @bogorad in #492
  • feat: add target picker to some operations (e.g. rebase) by @idursun in #490
  • refactor: centralize z-index constants in render/zindex.go by @baggiiiie in #493
  • Fix single line describe by @krksgbr in #496
  • feat: add interactive split for files in details view by @baggiiiie in #500
  • fix: add left/right keybindings in log by @lawcho in #501
  • fix: pretty-print left/right keys by @lawcho in #502
  • feat: enable quit keymap for different modes by @baggiiiie in #505
  • fix: close restore confirmation by batching instead of sequencing by @baggiiiie in #508
  • feat: add backward navigation for quick search by @baggiiiie in #509
  • which-key like status (footer help) by @baggiiiie in #503
  • feat: multi line revset completion by @idursun in #510
  • fix(status): remove extra gap above status line during file fzf by @baggiiiie in #513
  • fix(details): reload when selection changes by @baggiiiie in #517
  • fix(preview): update preview window after squash operation by @baggiiiie in #518

New Contributors

Full Changelog: v0.9.10...v0.9.11

Don't miss a new jjui release

NewReleases is sending notifications on new releases.