v0.1.3-beta
Pre-release
Pre-release
Task History Popup
- Enriched TaskInfo with command string, start timestamp, and exit code
- Always-clickable status bar task area — visible even when no tasks are running
- Two-line card popup: colored status bar (green/red/orange/gray), label, command, duration, relative time
- Click any task to open full output panel
Keyboard Shortcuts
- Central shortcut registry with platform-aware modifiers (⌘ on macOS, Ctrl on Windows/Linux)
- Cmd+1-6 for view navigation, Cmd+Tab/Shift+Tab for tabs, Cmd+W to close tab
- Cmd+Shift+F/L/P for Fetch/Pull/Push, Cmd+Shift+S/U for Stage/Unstage all
- J/K for graph commit navigation, Home/End for first/last commit, / for search
?opens cheat sheet overlay with all shortcuts grouped by category
Reflog Viewer
- New sidebar view showing HEAD reflog entries with action-specific icons (commit, checkout, rebase, reset, merge, pull)
- Detail panel reuses CommitDetail with "Show in Graph" navigation button
- Context menu: checkout commit, create branch, reset (soft/mixed/hard), copy SHA
Clean (Untracked File Removal)
- "Clean" button in staging area when untracked files exist
- Dialog with filter toggles: include directories, include ignored, only ignored
- Per-file checkboxes with select/deselect all
- Per-file "Delete untracked file" from right-click context menu
- Destructive action warnings on all delete operations
Git Config Editor
- New Settings section: two-column table showing Local (project) and Global (user) config side by side
- Dropdown selectors for known enum-type keys (core.autocrlf, pull.rebase, push.default, etc.)
- Free text input for all other keys
- Inline editing with Enter to save, Escape to cancel
- Add new entries, unset existing keys, filter by key name
- Collapsible read-only System config section
Gitignore Management
- Quick "Add to .gitignore" from untracked file context menu with smart pattern suggestions (filename, *.ext, exact path, directory/)
- Full CodeMirror editor in Settings with save/revert and dirty state tracking
- Basic syntax highlighting for comments and negation patterns
Patch Management
- Create patches from commits (graph context menu → native save dialog)
- Create patches from working tree changes (staged or unstaged)
- Apply patches with dry-run preview showing per-file stats
- Three-way merge fallback for conflicting patches — integrates with existing merge editor
Submodules
- New sidebar view listing all submodules with status badges (Uninitialized, Clean, Outdated, Dirty)
- Init, update (background task), deinit operations
- "Open in Tab" — opens submodule as a full project tab with all BeardGit features
- Context menu with all operations + copy path/URL
- "Update All" header button for batch update
MR/PR Management (GitHub + GitLab)
- New
cli-providercrate wrapping bundledghandglabCLIs (both MIT licensed) - CLI OAuth as primary auth flow — opens browser, extracts token, stores in encrypted credential store
- PAT entry remains as fallback for restricted environments
- Full CRUD: list, view, create, edit, merge (merge/squash/rebase), close
- Code review: approve, request changes, general + inline comments
- MR/PR badges on graph commits for branches with open MR/PRs (purple pills)
- Create dialog with source/target branch, title, description, draft toggle, labels, reviewers
- Filter tabs: Open / Closed / Merged / All
Windows DPI & Zoom Fixes
- Replaced CSS
zoomwith Tauri nativewebview.setZoom()— fixes blurry fonts and layout overflow at >100% UI scale on Windows - Added
-webkit-font-smoothing: antialiasedandtext-rendering: optimizeLegibilityfor crisper text rendering - Canvas graph detects DPI changes when moving between screens and re-renders at correct resolution
- Fixed canvas subpixel blurriness at fractional DPR values
Graph UX Improvements
- Row hover highlight (subtle transparent overlay)
- Standard cursor instead of pointer hand on graph rows
- Increased canvas font sizes by 1px across all text elements
- Fixed column resize hit zone misaligned with separator lines
Tauri Native Migration
- Replaced
-webkit-app-region: dragCSS withdata-tauri-drag-regionHTML attribute - Added
core:webview:allow-set-webview-zoomcapability permission
Performance & Code Quality
- All MR/PR CLI commands run on
spawn_blocking— never block the Tauri async runtime - Canvas draw batched with
requestAnimationFrameviascheduleDraw()helper - Keyboard shortcut handler uses
get()instead of subscribe/unsubscribe per keydown - Reflog auto-refresh debounced (300ms) on repo-changed events
- Extracted shared utilities:
shortOid(),configure_no_window(),run_blocking()helper - Added
GitError::CliErrorvariant — CLI failures no longer misuseRepoNotFound - Stringly-typed MR/PR params replaced with proper enum types (
MrPrState,MergeStrategy) - Error handling added to CleanDialog and GitConfigSettings (visible error messages)
formatRelativeTimeMsdelegates toformatRelativeTimeUnixinstead of duplicating