Skip to content

Gitna 0.3.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 06:20
· 29 commits to main since this release

Gitna 0.3.0 turns the local Git workbench into a folder-first workspace that remains fast across large directories, reviews, and histories.

Folder-first workbench

  • Open any local folder, not only Git repositories. Ordinary folders keep Explorer, tabs, editing, search, and file tools; Git folders automatically add Source Control, Graph, branches, stashes, tags, and Git operations.
  • Start from a redesigned Home screen with searchable recent folders and clear last-opened timestamps.
  • Open recent folders in the current tab or a new tab, remove entries from history, and switch folders without restarting Gitna.
  • Use stable per-folder URLs for refreshes, browser navigation, bookmarks, and isolated parallel tabs.
  • Switch progressively through a branded loading screen while Gitna initializes the destination in the background.
  • Keep unsaved drafts protected when returning Home, switching folders, or closing tabs.

Explorer and command palette

  • Press Cmd/Ctrl+K to search every indexed path with Quick Open; type > to switch into command mode.
  • Run context-aware workbench and Git commands from the same keyboard-first palette, with unavailable mutations hidden while an operation is running.
  • Browse huge ordinary folders through lazy directory expansion, deterministic paging, and an accessible manual Load more fallback.
  • Search deep ordinary-folder paths independently of which directories are expanded or currently watched.
  • Show or hide hidden and ignored repository files independently, with status retained in Pierre Trees.
  • Use Repository tree or list views, status filters, direct branch controls, and complete-path search without limiting results to mounted rows.
  • Select two Explorer files with Cmd/Ctrl-click and choose Compare Selected for text, raster images, or unsaved drafts; swap sides without leaving the comparison.

Reviews and repository history at scale

  • Load large staged, unstaged, commit, and comparison reviews in bounded pages instead of requiring the entire change set up front.
  • Append review pages automatically near the end and fetch an off-page file immediately when it is selected.
  • Keep the Pierre review surface mounted while pages append, and keep existing review content visible during refreshes or transient failures.
  • Virtualize the outer Graph timeline so histories with thousands of commits render only the visible rows while Pierre Trees continues to own each commit’s file tree.
  • Continue Graph history near the end without eagerly draining every page, and expose an exact count for commits reachable from the captured HEAD.
  • Bind Graph pages and counts to an immutable tip and generation to prevent mixed history during repository changes.
  • Open files as they existed at a selected commit, while Open File continues to target the current working-tree version through Repository Explorer.
  • Preserve Graph expansion, keyboard focus, context menus, lane continuity, and scroll anchors across paging and refreshes.

Large-folder performance and reliability

  • Bound watcher coverage, directory pages, review pages, search work, and lazy-tree resources to prevent runaway memory, file-descriptor, and request growth.
  • Decouple folder search indexing from filesystem watching so deep Quick Open results remain available even when watch coverage is intentionally limited.
  • Retire inactive folder backends and event streams after a grace period while retaining stable routes for fast revival.
  • Split large stage, unstage, discard, and delete operations into bounded sequential Git invocations.
  • Reconcile lazy-folder refreshes, Graph pagination, exact counts, and review pages against repository generations to reject stale results.
  • Close active event streams during shutdown and harden overlapping folder switches, refreshes, palette actions, and mutation controls.

macOS and visual polish

  • Add native unsigned terminal packages for macOS Apple silicon and Intel, including npm platform selection for both architectures.
  • Open the default browser, reveal files and folders in Finder, and handle case-insensitive APFS path identity correctly.
  • Ship and smoke-test Linux x64/arm64, Windows x64, macOS arm64, and macOS x64 release archives.
  • Add theme-aware Gitna branding, unified Gitna-owned scrollbars, refined Home and recent-folder layouts, and clearer file, folder, and Graph actions.

Gitna remains local by design: it binds to loopback, protects routes with random capability URLs, and keeps folder and repository data on your machine.

Full Changelog: v0.2.2...v0.3.0