Skip to content

Releases: roie/gitna

Gitna 0.3.3

Choose a tag to compare

@github-actions github-actions released this 05 Sep 03:39

What’s fixed

  • Quick Open searches large folders more efficiently and keeps results visually steady while typing, with clearer file icons and matching text.
  • Empty Explorer folders no longer flash an expand chevron when clicked, and refreshing correctly updates folders after files are added or removed.
  • Live repository refreshes preserve the review and file counts, with delayed indicators for longer-running refreshes.
  • Improved Source Control reliability around Git operations and repository metadata changes.
  • Binary installation now uses bounded download retries and handles concurrent installations more safely.
  • Updated dependencies and fixed cross-platform browser checks, with the full Windows, macOS, and Linux CI matrix passing.

Full changelog: v0.3.2...v0.3.3

Gitna 0.3.2

Choose a tag to compare

@github-actions github-actions released this 31 Aug 03:45

What’s fixed

  • Repository Explorer now opens large Git repositories quickly by loading folders on demand instead of transferring the entire ignored-file manifest at startup.
  • Quick Open continues indexing tracked, untracked, and ignored files in the background, while Repository keeps an exact file count.
  • Fixed lazy Explorer status indicators, deep file navigation, and drag-and-drop renames.

Gitna 0.3.1

Choose a tag to compare

@github-actions github-actions released this 30 Aug 23:37

Gitna 0.3.1 is a reliability and polish update.

  • Improved Explorer behavior for folders, file errors, and image previews.
  • Fixed editable file theme synchronization.
  • Improved Source Control scrolling and collapsed sidebar sizing.
  • Graph now shows the exact total commit count.
  • Improved clean shutdown and cross-platform reliability.

Full changelog: v0.3.0...v0.3.1

Gitna 0.3.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 06:20

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

Gitna 0.2.2

Choose a tag to compare

@github-actions github-actions released this 27 Aug 16:09

Gitna 0.2.2 fixes a CodeView error when opening a reviewed file in the Repository editor.

Fixed

  • Reconcile CodeView items when the same path changes from a diff to an editable file, preventing CodeView.syncItemRecord: type mismatch errors.
  • Add browser coverage for moving directly from a reviewed change into repository editing.

Documentation

  • Refresh the README with the Gitna logo, project badges, an early-development notice, and a full workflow demo.

Full Changelog: v0.2.1...v0.2.2

Gitna 0.2.1

Choose a tag to compare

@github-actions github-actions released this 27 Aug 12:19

Gitna 0.2.1 fixes an error that could occur when opening a file from the Repository or Graph while the working tree was clean.

Fixed

  • Reconcile Pierre CodeView items atomically instead of removing and re-adding them, preventing CodeView.addItem: duplicate id errors.
  • Preserve compatible viewer and editor state while changing review targets.
  • Add browser regressions for opening Repository and Graph files from a clean working tree, plus switching between repository files.

Full Changelog: v0.2.0...v0.2.1

Gitna 0.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 11:27

Gitna 0.2.0 expands the local Git review experience into a practical repository workspace, with secure file editing, richer source-control navigation, raster image previews, and extensive interface polish.

Highlights

Browse and edit repository files

  • Browse the active repository in searchable Tree and List views.
  • Open files in scrolling, Zed-style tabs with dirty-state indicators and context menus.
  • Edit text files with word wrap enabled by default and save with Ctrl/Cmd+S.
  • Create, rename, move, delete, and drag files and folders without automatically staging changes.
  • Detect stale writes with content hashes and preserve drafts through refreshes and failed repository switches.

Improved source-control workflow

  • Move seamlessly between Working File, Unstaged Changes, and Staged Changes views.
  • Stage, unstage, discard, delete, save, and operate on hunks through consistent file-header actions.
  • See compact remote-sync confidence and clearer Git status indicators throughout the repository tree.
  • Copy commit IDs directly from the graph.

Raster image review

  • Preview PNG, JPEG, WebP, and GIF files directly in reviews and repository tabs.
  • Compare image changes in balanced panes and inspect images in a lightweight full-size viewer.
  • Keep binary and oversized files safely read-only.

Refined experience

  • Review content remains visible while background updates run, avoiding disruptive remounts and blinking.
  • Source Control panes now size cleanly across desktop and narrow layouts.
  • Repository-aware browser titles use <repository> - Gitna.
  • Startup output is shorter and easier to scan.
  • Display settings show the running Gitna version and project links.
  • Confirmations, menus, tabs, icons, tooltips, and empty states received accessibility and interaction polish.

Reliability and security

  • Repository writes are confined to the active worktree, atomic, bounded, and symlink-safe.
  • Save races and consecutive saves are guarded to prevent stale updates.
  • Repository switching and process execution received additional validation and failure handling.
  • Windows file editing now uses portable temporary filenames.
  • Release verification now exercises packaged Linux and Windows binaries with browser tests before publication.

Full Changelog: v0.1.1...v0.2.0

Gitna 0.1.1

Choose a tag to compare

@github-actions github-actions released this 25 Aug 10:18

What's changed

  • Replaced remaining donor branding with Gitna's theme-aware favicon and repository-header logo.
  • Made the commit ID in Graph hover details clickable, copying the full commit SHA with hover/focus styling and a brief success confirmation.

Distribution

  • npm releases now use GitHub Actions trusted publishing with OIDC provenance instead of a long-lived npm token.

Full changelog: v0.1.0...v0.1.1

Gitna 0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Aug 06:35

Gitna is a fast, local Git workbench that runs in your browser. It brings a focused source-control workflow, continuous visual diffs, and repository history to any editor without requiring Electron or a hosted service.

Highlights

  • Review staged, unstaged, commit, and comparison changes in a continuous Pierre CodeView with split and unified layouts.
  • Stage or unstage files, folders, and individual hunks.
  • Commit and amend while preserving normal Git hook behavior.
  • Browse repository files, branches, tags, stashes, and commit history.
  • Fetch, pull, push, compare, merge, rebase, cherry-pick, and revert.
  • Resolve conflicts using ours, theirs, or combined content.
  • Switch between local repositories without restarting Gitna.
  • Use a responsive Source Control overlay on narrow screens and WSL.

Install

npm

npm install -g gitna
gitna .

The npm launcher downloads the matching native binary from this GitHub release, verifies its SHA-256 checksum, and caches it locally.

mise

mise use -g github:roie/gitna
gitna .

Direct download

Download the archive for your platform below, extract it, and place gitna (gitna.exe on Windows) on your PATH.

Supported platforms

  • Linux x64
  • Linux arm64
  • Windows x64
  • WSL using the Linux binary and your normal Windows browser

Local by design

Gitna uses your installed Git and keeps repository data on your machine. It binds only to a random loopback port, protects each browser session with a high-entropy capability URL, and does not upload repository data.

Gitna requires an installed git executable and a modern browser.

Full changelog: https://github.com/roie/gitna/commits/v0.1.0