Releases: idursun/jjui
v0.10.6
A quick maintenance update with a handful of usability improvements and scripting additions.
jjuinow uses the real terminal cursor instead of a virtual one. Cursor rendering is now correct when focus moves between views and when returning from external commands.- Theme rendering has been improved so that themes now paint the backgrounds of view areas more consistently. Lua scripting also now exposes
set_theme(name), which changes the active theme at runtime. This builds on the earlier light/dark runtime theme switching work, but it is not wired to the UI by default, so you need to call it from your own action. jjuinow sets theJJUIenvironment variable before invokingjj. This makes it easier to usejjconditional config specifically for commands run from insidejjui, for example:[[--scope]] --when.environments = ["JJUI"] [--scope.ui] diff-formatter = "delta"
- Preview commands now set
DFT_WIDTH, so difftastic output wraps to the preview pane width automatically. - Revision navigation now resolves longer or non-loaded change IDs and commit IDs through
jjwhen they cannot be matched directly in the loaded revision list. This makes Lua navigation actions work more reliably with user-provided revision IDs. - The
:prompt now parses quotedjjarguments correctly, so commands likenew -m "message text"work as expected. ctrl+nandctrl+pare now available as list navigation aliases in more places, including revset completion/history, the target picker, and the fuzzy file finder.
What's Changed
New Contributors
Full Changelog: v0.10.5...v0.10.6
v0.10.5
This release adds several usability and customisation improvements, including dynamic theme switching, better list and input handling, new UI configuration options, and fixes for a few revision workflow issues.
New features
- Added dynamic light/dark theme switching, with support for terminal theme change notifications and a polling fallback where those notifications are unavailable. #641
- Added
ui.mouse_support = falseto completely disable jjui mouse handling. #663 #661 - Added
ui.set_window_title = falseto disable jjui's custom terminal window title. #341 - Lua/input customisation improvements:
Improvements
- Added
ctrl+n/ctrl+pas up/down aliases in input-driven lists, so list navigation works without leaving the home row. #667 #666 - Improved the details view styling so explanatory hints remain readable when a file row is selected.
- Custom TOML actions can now define their binding inline with the action, instead of requiring a separate
[[bindings]]entry.[[actions]] name = "new after" lua = ''' jj("new", "-A", context.change_id(), "--no-edit") revisions.refresh() ''' seq = ["\\", "n", "a"] scope = "revisions"
Fixes
- Fixed Lua scripts that chain built-in actions so each step waits for the previous one to finish before continuing.
- Added
@andfbindings in revert mode for jumping to the working copy and ace-jump navigation. #662 - Fixed squash preview refresh when moving to the target revision. #658
- Fixed split hints in details view so they follow checked files instead of the currently hovered unchecked file. #659
- Fixed revision selection after rewrite operations so focus stays on the intended row.
What's Changed
- refactor: inline theme styles into renderers by @idursun in #651
- Dynamic light/dark switching by @zerowidth in #641
- feat(bookmark): pre-fill bookmark name via open_set_bookmark value arg by @rdeaton in #652
- feat(input): allow pre-filled value for input field by @baggiiiie in #660
- feat(ui): config setting to completely disable mouse support by @shoce in #663
- feat(ui): add ctrl-n/p list navigation aliases by @vvvu in #667
New Contributors
- @rdeaton made their first contribution in #652
- @shoce made their first contribution in #663
- @vvvu made their first contribution in #667
Full Changelog: v0.10.4...v0.10.5
v0.10.4
A quick maintenance release with a few improvements and fixes.
Features
Absorb operation
Absorb is now an operation, similar to rebase, revert, duplicate, and other revision operations, instead of immediately running jj absorb with jj's default destination set.
Default absorb targets are preselected and shown with << into >>. Use space to toggle candidate targets, enter to apply, and esc to cancel. Leaving the target set unchanged keeps the previous plain absorb behaviour; changing the set constrains absorb to the selected targets.
Directory entries in fuzzy file search
Fuzzy file/path search now includes directory entries such as src/ and src/pkg/, not only leaf file paths. This makes it easier to filter or jump by directory in larger trees.
(#642)
Improvements
Better theme control for selected rows
Selected-row styling is now theme-owned for revset completion, target picker, details lists, and menu shortcuts. Themes can customise selected sub-roles such as "revset completion selected matched", "revset completion selected text", "revset completion selected dimmed", "picker selected matched", and "picker selected text".
This fixes cases where "revset completion selected" changed the selected row background but not the selected foreground or bold styling. Default selected backgrounds for revset completion and target picker now also align with revision details.
(#637)
Consistent preview position toggle in details
shift+p now toggles the preview between side and bottom positions in the details view, matching the existing behaviour in revisions, evolog, and oplog views.
(#649)
Fixes
Lua revset actions outside the revset editor
Lua scripts can now dispatch revset actions such as revset.set(...) even when the revset editor is not open. This fixes custom revision-scoped Lua actions that update the current revset.
Stale file selection after closing details
Closing the details view now clears stale selected-file state, and restoring an existing details operation resynchronises file selection. This fixes cases where a later command error could make Esc behave incorrectly instead of dismissing the visible flash message.
(#643)
Bookmark names with special characters
Bookmark operations now match bookmark names exactly. This fixes deleting bookmarks whose names contain characters that jj would otherwise interpret as string pattern syntax, such as 1.3.63-+-json-length-fix.
What's Changed
- feat(absorb): add target picker for jj absorb --into by @manusajith in #640
- feat: include directories in path entries for fuzzy_files by @baggiiiie in #642
- Remove unused struct fields, methods, and functions by @nikosavola in #648
- fix(details): add shift+p binding for preview_toggle_bottom by @ansel1 in #649
- fix(ui): unable to dismiss flash message after split command error by @baggiiiie in #643
- fix(bookmarks): match bookmark names exactly by @baggiiiie in #650
New Contributors
- @manusajith made their first contribution in #640
- @nikosavola made their first contribution in #648
- @ansel1 made their first contribution in #649
Full Changelog: v0.10.3...v0.10.4
v0.10.3
This release includes new Lua customisation support, repo-local configuration, preview sizing improvements, and a set of UI fixes. There were also some internal changes around action routing and rendering, so if something feels broken or behaves differently, please let me know.
Features
Repository-local configuration
Repository-local configuration is now supported. You can add .jjui/config.toml or .jjui/config.lua to a repository to customise jjui for that repo while still inheriting global configuration. This is useful for repo-specific revsets, limits, bindings, and Lua configuration. JJUI_CONFIG_DIR remains a hard override when set. #609
Lua editor metadata
Lua scripting now has installable editor metadata. Run jjui --install-lua-types to write generated types.lua metadata to your jjui config directory and create .luarc.json for LuaLS when one does not already exist. This gives Lua users autocomplete and basic type information for config.lua, plugins, and embedded Lua scripts. #617
Preview pane sizing
Preview commands now receive the preview pane size through COLUMNS and LINES. Width-sensitive tools such as difft, and configured delta setups, can now wrap output to the jjui preview pane instead of the outer terminal width. #608
Layered revision operations
Revision operations can now be layered more naturally, with active operation scopes reflected in key handling and help/status display. Active key bindings are grouped by their current scope, and overridden bindings are shown with strikethrough, making it easier to understand which shortcuts are available in nested operations. #625
Improvements
Inline describe customisation
Inline describe is now easier to customise from bindings and Lua. You can bind revisions.inline_describe.new_line separately from revisions.inline_describe.accept, and accept can take force = true for workflows that intentionally update immutable revisions. #260
[[bindings]]
action = "revisions.inline_describe.accept"
key = "enter"
scope = "revisions.inline_describe"
[[bindings]]
action = "revisions.inline_describe.new_line"
key = "shift+enter"
scope = "revisions.inline_describe"- jjui now refreshes only once on startup instead of doing duplicate initial refresh work.
- Git operation screens now close when the underlying command starts executing, making the transition from choosing an action to running it clearer.
- Debug logging now uses
JJUI_DEBUGinstead of the genericDEBUGenvironment variable, reducing the chance that unrelated shell configuration accidentally enables jjui debug behaviour.
Fixes
- Fixed paste handling in Bubble Tea v2 text-input flows, including pasting into the bookmark filter input. #601, #597
- Fixed rebase source plus insert-between so jjui generates the correct
jj rebase -s <source> --insert-before <rev> --insert-after <rev>command. #598 - Fixed diff rendering for tab-indented lines. The diff view now preserves indentation and handles wrapping and horizontal scrolling correctly for tab-expanded content. #606, #604
- Fixed command history rendering so long histories are not clipped at the top border, including exact-fit cases. Flash and command-history overlays also layer more cleanly above the status area. #626, #622
- Fixed fuzzy file overlay ordering so the fuzzy file UI appears in the correct layer.
- Fixed clipped rendering for partially visible list items and fallback messages while horizontally scrolled.
- Fixed revset alias parameter metadata preservation.
What's Changed
- Handle Bubble Tea paste messages in text-input flows by @shardulbee in #601
- Set preview subprocess size via env by @OliverJAsh in #608
- add repo config file which overrides global config.toml by @nickchomey in #609
- fix(diff): preserve tab indentation in diff view by @baggiiiie in #606
- Update installation instruction for archlinux by @TeddyHuang-00 in #613
- refactor: replace owner-based dispatch with scope-layer routing by @idursun in #625
- fix: command history clipping by @idursun in #626
- fix(set_parents): leak set_parents operation key scope by @baggiiiie in #628
- fix(details): sync details selection for routed intents by @baggiiiie in #627
- fix: add back esc to clear selected revisions by @baggiiiie in #629
- fix(revisions): avoid toggle-select panic on empty revisions by @baggiiiie in #636
- feat(lua): install Lua meta types by @idursun in #617
New Contributors
- @shardulbee made their first contribution in #601
- @OliverJAsh made their first contribution in #608
Full Changelog: v0.10.2...v0.10.3
v0.10.2
Quick release to continue the release early, release often streak.
Features
- Custom diff and preview content — You can now use
diff.show()andui.preview.show()in your Lua actions to display custom command output in the diff and preview panels. (#593)
Bug Fixes
- Rebase source + insert between — Rebase now correctly uses
-s(source) instead of-rwhen combining source mode with insert-between. (#598) - Missing actions in status bar — Actions with the same name in different scopes (e.g.
revset.editandrevisions.edit) are no longer hidden from the status bar. (#595) - Misaligned lines across terminals — Terminals handle Unicode width calculation differently — Ghostty enables grapheme clustering by default while Kitty does not. We now detect the terminal's width mode and calculate widths accordingly, fixing rendering in both. (#592)
- Operation action overrides — Some built-in actions during operations couldn't be overridden in
config.lua. For example,revisions.details.diff,revisions.evolog.diff, andrevisions.rebase.*actions can now be properly overridden. (#586, #598)
What's Changed
- fix(render): detect terminal width method by @idursun in #592
- feat: add diff and preview show intents by @idursun in #593
Full Changelog: v0.10.1...v0.10.2
v0.10.1
Everything from v0.10.0 with additional bug fixes and some improvements.
Improvements
- We show
jjui: press a key to continuemessage after a shell command is run. The underlying interactive detection code has been improved with additional signals to skip showing that message if the executed command started an interactive PTY.
Fixes
- Fixed slow starts on Windows machines. #581
- Fixed improper rendering of double-width characters as well as misalignment of borders when double-width characters are present. #526
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Wow, a major release after a very long time. As promised, v0.10 is ready, and it comes with breaking changes.
First, thank you to everybody who contributed code, bug reports, ideas, and testing for this release. In particular, thanks to @baggiiiie for various features and fixes, @nickchomey for contributions and continuous feedback, and @vic for updating the documentation website. Thanks as well to everyone else for various code contributions, reporting issues, and verifying fixes.
We changed a lot in v0.10, but the biggest shift is that we finally got rid of some legacy configuration and moved to a unified actions + bindings model. Old concepts like [custom_commands] and [leader] are now replaced by a more consistent system built around actions, bindings, and first-class support for leader-style key sequences.
This release also introduces config.lua, which makes it much easier to customise and extend jjui with real scripting instead of only static configuration. Between config.toml, config.lua, Lua actions, and bindings, much more of the UI can now be customised in one consistent way.
The documentation has been updated with migration notes and examples such as the Lua Cookbook.
From my testing it looks ready, but I am sure more rough edges will show up once more people start using it, so please keep reporting issues as you find them.
⚠️ Breaking Changes
v0.10 replaces the legacy keybinding and customisation model with the new actions + bindings system.
[keys]configuration is no longer used.[custom_commands]is replaced by[[actions]]and[[bindings]].[leader]sequences are replaced by sequence bindings viaseq.
If you have an existing configuration, plan to migrate it rather than expecting a drop-in upgrade from v0.9.x.
✨Highlights
- Unified actions + bindings system. Keyboard input now flows through a single dispatch pipeline, default bindings are declared in TOML, actions are discoverable, and custom behaviour can be defined in both TOML and Lua.
- Much stronger scripting support. Lua
setupnow receives the full config plus runtime context, generated intent-backed actions replace handwritten drift-prone bridges, and new helpers likewait_close()andwait_refresh()make multi-step scripts more predictable. - Upgraded TUI foundations. Moving from Bubble Tea v1 to v2 brings better terminal support, a new rendering engine for better performance, and better input handling, including support for bindings like
ctrl+spaceand dedicatedshift+...style keys. - Improved diff and selection workflows. The
diffview now supports word wrap,revisionsanddetailssupport modifier-based mouse selection, and severaldetailsandevologinteractions are more consistent.
🚀 New and Improved
Command History
- Added command history, available with
shift+w, to review dismissed command runs together with their output. - Moved running command information out of the status area and into dedicated
flashmessages, so the command and its output are now shown together in one place.
Help and Status
- Reintroduced a dedicated Help view for full keybinding discovery, with filtering and scrolling, alongside the existing inline help.
- Changed status/help binding presentation to column-major order so related bindings are easier to scan.
Lua and Configuration
- Shipped the unified actions + bindings architecture introduced in
v0.10. - Exposed the full config object to Lua
setup, including runtime context such as repository path viaconfig.repo, and terminal state viaconfig.terminal.dark_mode,config.terminal.fg, andconfig.terminal.bg. - Standardised closeable action naming around
open_*and aligned apply/close semantics for more predictable scripted workflows.
Oplog
- Added quick search to
oplogand shared the search behavior with revision search.
Evolog
- Changed
evologpreview defaults to show interdiff output, matchingjj evolog -pmore closely.
Abandon
- Added
sinabandonmode to target descendants of the selected revision(s).
Revset
- Kept
revsetediting open when the expression is invalid, improving iteration while editing. - Improved
revsetediting so function completion inserts(when appropriate, while the function list display is cleaner and less noisy.
Diff
- Added word wrap in the
diffview, with explicit wrapped and unwrapped modes plus soft-wrap-aware scrolling. - Added
gandGin thediffview to jump to the top and bottom.
Details and Revisions
- Added
Ctrl+clicksingle-item toggle andAlt+clickrange selection inrevisionsanddetails. - Added a
revisions.details.select_fileaction for finer control indetailsworkflows.
🛠️ Fixes
- Fixed rendering issues with double-width characters.
- Simplified divergent revision handling by using
change_id/offsetdirectly from thejj logprefix template. - Fixed
git push --allbehaviour for deleted bookmarks and corrected related command descriptions.
⚙️ Internal Updates
- Upgraded to Bubble Tea v2.
- Replaced remaining
cellbufusage withultraviolet. - Hardcoded model-level key handling has been removed in favor of dispatcher-driven intents.
- Continued internal cleanup around rendering, overlays, display context, and generated action plumbing to support the new architecture.
What's Changed
- Unified Actions + Bindings system by @idursun in #533
- feat(oplog): add QuickSearch to oplog, share logic with revision search by @baggiiiie in #521
- fix: add missing keys in bindings by @baggiiiie in #538
- feat(evolog): change default evolog command to show interdiff by @academician in #539
- fix: add back
escto clear checked revisions by @baggiiiie in #541 - remove gh-pages workflow from main branch. by @vic in #542
- docs: fix readme links by @baggiiiie in #549
- Update CONTRIBUTING.md for documentation by @vic in #547
- feat(lua): add "filter" and "ordered" option to
chooselua api by @baggiiiie in #548 - feat(abandon): use
sfor selecting descendants by @idursun in #544 - feat: add change_offset in jj log prefix template for divergent revisions by @baggiiiie in #550
- fix: make bookmark input visible when user has custom template-aliases by @baggiiiie in #551
- fix(evolog): keep restore mode navigation on revisions and esc close by @baggiiiie in #554
- Expose full config to Lua setup and add runtime context (repo + terminal) by @idursun in #553
- feat(flash): command history by @idursun in #556
- Update to bubbletea v2 by @idursun in #558
- Ctrl+click and Alt+click for single and range selection by @idursun in #563
- feat: add
(to functions when autocompleted by @nickchomey in #564 - feat(status): change display to column major order by @baggiiiie in #569
- fix: remove parentheses from functions list, but add when autocomplete by @nickchomey in #567
- fix(git): prevent panic when opening git menu with no selected revision by @baggiiiie in #571
- Refactor/Lua bridge by @idursun in #572
- fix(ui): guard against nil commit in OpenBookmarks intent by @baggiiiie in #573
- feat(diff): word wrap by @idursun in #575
- Add pgup/pgdown keybindings to evolog and details by @academician in #576
- feat(lua): make default actions overridable and expose jjui.builtin.* by @idursun in #577
- feat(help): add "help view" bound to
f1by @idursun in #578
New Contributors
- @academician made their first contribution in #539
Full Changelog: v0.9.12...v0.10.0
v0.9.12
Release 0.9.12 (Final 0.9.x Series)
Note
This is a quick release before marking the end of 0.9.x series due to breaking changes introduced by the work in #533
Fixes & Improvements
- Modal rendering now fills the entire git, bookmarks, and custom command dialogs before drawing rows, eliminating gaps introduced by the new renderer #535
- Fixed a regression where
ui.colors.selected = { bg = "black" }no longer highlighted the selected revision by restoring the correct lipgloss → ANSI color conversion #534 jj git fetch --trackeduses thetshortcut sofremains dedicated to the default fetch, matching the push command’s tracked shortcut #532- Added a
[keys.diff_view]config section so diff scrolling, paging, and closing bindings are customizable #527 - Completion now auto-inserts
()when selecting a parameterless function, improving Lua/script authoring speed #530 - Lua’s
flash()acceptserrorandstickyfields, so scripts can show error toasts and control persistence without additional helpers #529
What's Changed
- Auto-append () for parameterless functions in completion by @Dima-369 in #530
- Add customizable keybindings for the diff view ([keys.diff_view]) by @Dima-369 in #527
- fix(ui/git): update key for
jj git fetch --trackedby @PrayagS in #532
New Contributors
Full Changelog: v0.9.11...0.9.12
0.9.11
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
?/morewhen space is limited - Press
?to expand and see all available keybindings - Works with stacked menus (git, bookmarks) to show context-specific help
- Press
escto collapse - Replaces the old help menu
🎯 Target Picker for Operations (#490)
Operations like rebase, new, edit, and squash now support an interactive target picker:
- Press
tto 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_containstodiff_lines - Shows full completion list when history is empty
- Better visual styling and source-based completion
🔍 Backward Quick Search Navigation (#509)
Quick search now supports cycling in both directions:
- Added
quick_search_cycle_backkeybinding (default:"which isShift+')
Improvements
- Split/Restore interactive mode (#500)
- Quit now works from any view without needing to press
ESCfirst
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 -mnow 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
- @kankri made their first contribution in #475
- @bogorad made their first contribution in #492
- @krksgbr made their first contribution in #496
- @lawcho made their first contribution in #501
Full Changelog: v0.9.10...v0.9.11
v0.9.10
Release Notes
🆕 Features
Lua Scripting Enhancements
- Lua Context Module (#465): Added context module to Lua scripting API, exposing methods for accessing selected item metadata and checked items:
context.change_id()- Get the change ID of selected revision or filecontext.commit_id()- Get the commit ID of selected revision, file, or commitcontext.file()- Get the file path of selected filecontext.operation_id()- Get the operation ID of selected operationcontext.checked_files()- Get array of checked file pathscontext.checked_change_ids()- Get array of change IDs from checked itemscontext.checked_commit_ids()- Get array of commit IDs from checked items
- Shell Execution in Lua (#471): Exposed
exec_shell()function to Lua scripts, enabling interactive commands like opening files in external editors directly from jjui. This enables custom commands such as:[custom_commands.open_file] key = ["O"] lua = ''' local file = context.file() if not file then flash("No file selected") return end exec_shell("vim " .. file) '''
✨ Improvements
- Abandon Workflow: Removed confirmation dialog; users can now use Space to add/remove revisions from the abandon list
🐛 Bug Fixes
- Preview Pane Scrolling (#472): Fixed broken Ctrl-U/Ctrl-D scrolling in the preview pane that was introduced by earlier input routing changes. Preview commands are now properly grouped and always handled.
- Parser: Fixed handling of divergent change ID format
- Bookmarks: Fixed tracking of new bookmarks (currently tracks all remotes)
🔧 Compatibility
- Jujutsu 0.36.0 Support (#407): Updated commands to work with breaking changes in Jujutsu 0.36.0:
- Changed
--destinationflag to--onto - Changed
--editflag to--editor - Removed deprecated
--allow-newflag fromgit pushcommands - Updated keybinding from
dtoofor--ontoflag in related modes
- Changed
📝 Documentation
- README Updates (#470):
- Added missing op log revert item to help menu
- Fixed redo documentation
- Updated custom command examples
What's Changed
- jj-update: fix commands to work with breaking changes in jj-0.36.0 by @baggiiiie in #407
- refactor(abandon): remove confirmation dialog by @idursun in #462
- fix(bookmarks): track new bookmarks by @idursun in #463
- feat(lua): add context module by @idursun in #465
- lua: expose exec_shell to lua script by @baggiiiie in #471
- README improvements and help menu missing item by @baggiiiie in #470
- ui,preview: fix preview pane ctrl-u/d scrolling by @baggiiiie in #472
Full Changelog: v0.9.9...v0.9.10