Skip to content

v0.8.1

Choose a tag to compare

@cst8t cst8t released this 01 Jul 02:16
944b856

What's New

Repository Display Names

  • New command get_repo_display_name to read repository description as display name
  • Displays custom project names in the titlebar when configured
  • Falls back to repository folder name when no custom description is set
  • Automatically fetches display names for recently used repositories
  • Supports Git submodule .git file format with gitdir: references

Titlebar Enhancements

  • New disclosure tooltips for truncated repository and branch names
  • Interactive tooltips showing full details when labels overflow
  • Branch name tooltip displays full branch name when truncated
  • Repository tooltip displays both custom display name and full path when truncated
  • Better visual feedback for copy affordance with "Click to copy path" hint
  • Improved layout with cleaner repository name display

Commit Message Processing

  • New commit_message.rs module for parsing and processing commit bodies
  • Separates commit prose body from metadata trailers
  • Trailers are properly identified as contiguous Key: value pairs at message end
  • Empty lines between prose and trailers are handled correctly
  • Message body is now returned in CommitDetails for display in the UI
  • Both CLI and gix backends return identical body and trailer parsing

File Tree Compaction

  • Uninterrupted single-directory chains are now compacted in the file tree
  • Reduces visual depth for deeply nested single-folder paths
  • Shows full compacted path in folder labels (e.g., game/assets/graphics/100/en/symbols)
  • Only compacts when a directory contains only one subdirectory
  • Maintains proper layout and selection semantics

Repository State Monitoring Improvements

  • Better handling of Git lock files (.lock) - now ignored in file watch events
  • .git/objects/ directory writes are filtered out from state refreshes
  • Uses GIT_OPTIONAL_LOCKS=0 environment variable for status and numstat operations
  • More precise path filtering logic for relevant Git state changes
  • Reduces unnecessary refreshes during fetch operations

UI Improvements

  • File striping calculations now account for visible rows only
  • Striping restarts independently for staged and unstaged sections
  • Folder rows are no longer striped to maintain visual hierarchy
  • Commit details popover properly scrolls when content exceeds viewport height
  • Better handling of popover positioning near screen edges
  • Popover stays within viewport bounds with minimum 8px margin

Build and Dependencies

  • Updated esbuild from 0.28.0 to 0.28.1
  • Updated Vite from 8.0.8 to 8.1.0
  • Updated Rolldown from 1.0.0-rc.15 to 1.1.3
  • Updated postcss from 8.5.13 to 8.5.16
  • Updated nanoid from 3.3.11 to 3.3.15
  • Updated undici from 7.24.6 to 7.28.0
  • Updated tinyglobby from 0.2.15 to 0.2.17
  • Updated @napi-rs/wasm-runtime from 1.1.3 to 1.1.6
  • Updated @oxc-project/types from 0.124.0 to 0.137.0

Permissions and API Updates

  • Updated Tauri permissions schema to include new Opener plugin capabilities
  • New App permission allow-supports-multiple-windows
  • New Window permissions allow-activity-name and allow-scene-identifier
  • New Tray permission allow-set-icon-with-as-template
  • Dialog deprecated permissions allow-ask and allow-confirm marked as deprecated
  • Full Opener plugin scope support with URL and path configurations

TypeScript and API Additions

  • Added CommitDetails.body field to represent prose message content
  • New TypeScript utils for repository display name handling
  • Enhanced titlebar component tests for disclosure functionality
  • New diff panel tests for commit details display

Package Configuration

  • Added allowScripts configuration for esbuild

Fixes

  • Fixed commit trailers parsing to properly separate prose from metadata
  • Fixed file striping to not apply to folder rows
  • Fixed popover positioning to avoid going off-screen
  • Fixed file tree rendering to preserve striping consistency across sections
  • Improved Git lock file filtering for more reliable state monitoring
  • Better handling of concurrent Git operations with optional lock control

Full Changelog: v0.8.0...v0.8.1