Written by GuillaumeTechProject Gitnetix

Gitnetix, two weeks later: from v0.7 to v0.20

From October 25 to November 9, 2026, 37 releases of my Git client: a new theme, blame inside the diff, GitLab, Bitbucket and Gitea, Jira sprints in the analytics, profiles, local dictation, and agents you can message while they work.

Gitnetix 0.20.5 in the Tokyo Night Storm theme: the acme-web branch tree with the upcoming 0.6.0 release, a fix branch where an agent works in its worktree, the checked-out branch, and the shipped releases grouped at the bottom.

Gitnetix is my release-centric Git client. The screenshots on its project page dated from October 25, 2026, at version 0.7.1. On November 9, it’s at version 0.20.5, 37 releases and 341 commits later. Those commits touch 190 files of the engine, the interface and the app, with 34,067 lines added and 4,368 removed. This article puts each old screenshot next to the new one, then shows the screens that didn’t exist yet.

The old screenshots show my own repositories. The new ones use the made-up data of the gitnetix.app demo: the Acme team, its acme-web, acme-api and design-system repositories, its pull requests and its Jira board.

Table of contents

A new theme and a new frame

On October 25, Gitnetix had a dark theme and a light theme, with an orange accent. Version 0.8.0 added more themes to pick from, with an Appearance pane that shows their colors. There are now 36, including Tokyo Night, Catppuccin, Rosé Pine, Dracula, Nord, Everforest and Kanagawa. Since 0.13.0, the app starts on Tokyo Night Storm until you pick another one. Since 0.12.0, the logo is drawn in the theme’s colors.

The frame changed too. The menu at the top left is gone. The profile button, at the top right, now opens the menu, and the settings, the AI setup and the templates open in a panel over the page (0.15.0). Worktrees & agents is no longer a page tab. It has its own square button at the top left, and opening it no longer disturbs the open project’s page (0.14.0).

The Gitnetix 0.7.1 workspace in the original dark theme: main's history in the Gitnetix repository, the v0.7.1 and v0.7.0 tags, and on the right the files the selected commit changed.
Before, version 0.7.1: main's history, with the menu at the top left and Worktrees & agents among the tabs.

The Gitnetix 0.20.5 workspace in the Tokyo Night Storm theme: acme-web's main history, the v0.5.2 tag both local and on origin, a selected merge commit and its three files on the right.
After, version 0.20.5: the same screen on the demo repository, with the profile button at the top right.

The commit list loads older commits as you scroll, back to the repository’s first commit (0.13.0). The commit menu can now create or delete a tag (0.9.1 and 0.10.0).

The branch tree

The tree is still the main screen, with main at the top, releases under it, and features and fixes under their release. On October 28, version 0.12.0 added a commit graph preview beside the tree, with the local and origin tips, the tags and HEAD. Version 0.13.0 removed it the next day.

The Gitnetix 0.7.1 branch tree: main, the upcoming 0.1.0 release still local, the checked-out mine-systems branch, and on the right the 22 files the branch changed.
Before, version 0.7.1: the Deep Core tree, with the orange path to the checked-out branch.

The Gitnetix 0.20.5 branch tree: main, the upcoming 0.6.0 release, a group of branches already merged into 0.6.0, the fix/stale-remote branch marked working because an agent is at work on it, the checked-out feat/branch-tree branch, and the group of shipped releases.
After, version 0.20.5: an agent works on fix/stale-remote in its worktree.

What changed in the tree:

  • Agent state. A worktree’s tag shows its agent’s state (working, waiting or done) instead of “worktree”, and it glows while the agent works (0.13.2 and 0.14.0).
  • Shipped cleanup. A button deletes the branches of shipped releases, locally and on origin, and keeps their tags (0.13.2).
  • Find. Ctrl+F searches the tree and the diff, marks every match and steps through them with the arrows (0.15.0).
  • Rename and rebase. You can rename a branch or an open release, locally and on origin (0.9.0), and rebase a branch onto any other one with “Rebase onto…” (0.11.0).
  • Stopped operations. A branch stopped in the middle of a rebase, merge, cherry-pick or revert shows it in the tree, and its menu can abort the operation (0.17.2).
  • Uncommitted changes. Switching branch or pulling with uncommitted changes asks what to do with them: bring them along, or stash them (0.11.1 and 0.11.2). Before, git refused and Gitnetix showed its error.

The diff and blame

There was no blame on October 25. Version 0.20.0 added it as a separate view, along with a file’s history, renames included. The next day, version 0.20.4 put blame in the diff itself and removed the view. You hover a line, or select a few, and the author of the commit that last changed it shows over its line number. Clicking the avatar opens that commit in the file’s history.

The full diff of BranchTree.tsx in Gitnetix 0.20.5: each run of lines carries its author's avatar over its line number, and a tooltip shows the Jules Laurent commit that changed the hovered line, with the link to the file's history.
Blame in the diff: four authors in one file, and the commit behind the hovered line.

The rest of the diff moved too:

  • Staging part of a file. You pick lines in the line numbers, or a whole hunk from its header, and a file can be both staged and unstaged (0.11.0). Picked lines can also be discarded, after a confirmation.
  • Syntax colors, loaded per language without blocking the interface, a color swatch before hex values, and a code view for SVG files (0.10.0).
  • Where the branch starts. A branch’s commit list ends with the commit where it left its base, in a “Branched from” section with its own reset actions (0.20.5).

Pull requests

In October, Gitnetix read pull requests from GitHub and Azure DevOps. Version 0.18.0 added GitLab, Bitbucket Cloud and Gitea. Their pull requests, reviews, protected branches and repository lists for cloning work as they do with GitHub, and releases publish to GitLab and Gitea. GitLab signs in with a code, on gitlab.com or on a self-managed server, and Bitbucket and Gitea through the browser.

The Gitnetix 0.7.1 pull requests screen: the Closed tab with five merged and three closed PRs, and the detail of a merged PR with its checks and description.
Before, version 0.7.1: the Gitnetix repository's PRs.

The Gitnetix 0.20.5 pull requests screen: a search box, the Mine, Others and All filters, and the detail of PR 148 with its running checks, its reviewers, its description and a conversation.
After, version 0.20.5: acme-web's PR 148, approved by Ana Moreau, with two checks still running.

The list now has a search box and a sync button (0.11.2), and a Mine, Others and All filter that is kept between visits (0.10.0). The welcome screen clones a repository, listing your GitHub repositories, last pushed first (0.18.0). When git can’t sign in to an HTTPS host, Gitnetix asks for a username and a token, saves them in the OS keychain and runs the action again.

Agents

The old screenshot showed the dialog that starts an agent session. It changed little. You still pick the project, the base, the ticket, the branch type and the agent. It now shrinks to a chip in a corner of the window (0.13.0), keeps its draft across pages and restarts, and has a mic for dictation.

The Gitnetix 0.7.1 New agent session dialog: a new branch off main in the Gitnetix project, the Feature type, the Claude Opus 5.5 agent at xhigh effort, and a request for keyboard shortcuts.
Before, version 0.7.1: starting an agent on a new branch.

The Gitnetix 0.20.5 New agent session dialog over an agent's log: a new branch off main in acme-web, the Feature type, Claude Opus 5.5 at xhigh effort, a request for Home and End keys in the tree, and the mic in the text box.
After, version 0.20.5: the same dialog, which shrinks and keeps its draft.

Most of the work went into what happens after the start:

  • Messaging an agent while it works. Messages wait in a queue and go out together when its turn ends (0.9.2). You can edit them, remove them or send them right away (0.18.0).
  • Questions. An agent’s questions show as its chat bubbles, one per question, with answer buttons, and a question can take several answers (0.17.2).
  • Each turn’s files. The log lists the files each turn changed, with added and removed lines. Clicking one opens that turn’s diff (0.18.0).
  • Usage limits. When a CLI stops at a usage limit, the session waits for the reset, then goes on with its queued messages (0.19.0).
  • Each CLI’s models. GitHub Copilot, Codex and Gemini pick their model from a menu read from their CLI, and the effort menu shows only the levels the model takes (0.20.5).
  • An app that stays smooth. Agents and every command they start run below the app’s CPU priority. Before, a build on every core slowed the app’s drawing about 4 times (0.17.3).

The Gitnetix 0.20.5 Worktrees & agents tab: the fix/stale-remote branch running, its log with folded steps and the agent's reply, a queued message with Edit and Remove actions, and the agent and model picker at the bottom.
An agent's log while it works, with a queued message that goes out when its turn ends.

Release notes

The screen kept its shape: a range of tags or branches, a template, a language, then the text. The language choice has a third option, “Template base”. With it, AI writes in each language the template asks for, so a template that asks for French and English gets both (0.18.1). The prompts now include the pull requests, the changed files and the diff.

The Gitnetix 0.7.1 release notes screen: the range from v0.6.0 to HEAD, 41 commits, the default template in English, and the v0.7.1 notes.
Before, version 0.7.1: the v0.7.1 notes, written by Claude Sonnet 5.5.

The Gitnetix 0.20.5 release notes screen: the range from v0.5.2 to release/0.6.0, 9 commits and one merge, the English, Français or Template base choice, and acme-web's v0.6.0 notes.
After, version 0.20.5: acme-web's 0.6.0 notes, and a Publish release button for GitHub, GitLab or Gitea.

Shipping can update and date the changelog as the release ships (0.9.1), and it now pushes before moving main and creating the tag, so a refused push leaves the release open (0.19.6). Version 0.17.2 also added global skills, which go in front of every template. The one shipped by default, Unslop, keeps the writing free of the words and patterns that give machine-written text away.

Analytics and tickets

The commits tab looks like it did in October. Clicking a day shows its commits by person and type, and clicking a release shows its features, fixes and merged branches (0.9.0). Since 0.19.0, you can count only one or a few people, and each person’s email addresses are grouped under one name.

Gitnetix 0.7.1 analytics over 14 days: 24 releases shipped, 14 merges and 316 commits, and the activity per day in orange bars.
Before, version 0.7.1: two weeks of Gitnetix itself.

Gitnetix 0.20.5 analytics over 30 days for acme-web: 3 releases shipped, a median lead time of 10 days, 10 merges and 52 commits, with the Commits and Jira · GitHub tabs and the All people filter.
After, version 0.20.5: a tickets tab next to the commits, and a filter by person.

The new tab is named after the connected ticket trackers. For Jira, it charts the running sprint and the ones before it: the burndown against the ideal line, the velocity, the bugs fixed, the estimated hours left on tickets not completed, and the completion per person. Each ticket shows how long it took from the start of work to done, from its Jira history, and tickets open longer than 85% of the finished ones are flagged. Every chart opens as a table and exports as CSV, and “Ask AI” answers questions about the sprints on screen (0.19.0). The Weekly view counts the tickets done per week and per person in Jira, Trello, Asana and, since 0.19.2, GitHub issues.

The Jira · GitHub tab of Gitnetix 0.20.5 analytics: the running sprint 14, flagged at risk, its velocity, burn rate, bugs fixed and completion, then the burndown against the ideal line and the sprint makeup.
The WEB board's running sprint, on working day 6 of 10.

AI setup

AI setup now opens in the menu panel instead of taking over the screen. Gemini runs through the Antigravity CLI (agy) since 0.18.0, with its own effort choice since 0.20.5, and Claude now has a Max effort level. Gitnetix also finds CLIs that are not on PATH, such as those installed through nvm or shipped with the Claude Desktop app.

Gitnetix 0.7.1 AI setup in full screen: Claude as the default with its CLI found but not tested, the other providers, the Claude Sonnet 5.5 model at Medium effort, and the start of task routing.
Before, version 0.7.1: AI setup took over the screen.

Gitnetix 0.20.5 AI setup in the menu panel: Claude and Codex connected through their CLI, Gemini and GitHub Copilot found, Claude Sonnet 5.5 at Medium effort with a Max level, and task routing.
After, version 0.20.5: the same screen in the menu panel.

Commit messages, branch names and PR descriptions start faster, because they no longer open a full Claude Code session in the repository (0.17.3).

Profiles and a first-run setup

Version 0.15.0 added profiles. Each keeps its own projects, connections, tokens, AI setup and settings, with a name, an emoji, a photo or a Gravatar, and a color. Since 0.16.0, a profile has one Git identity for all its projects, prefilled from the git config (0.17.3). The settings panel shows the active profile at the top, with the others beside it.

The Gitnetix 0.20.5 settings panel: the Acme profile, which commits as Grace Hopper, with 3 projects, GitHub and Jira, the Personal and Open source profiles beside it, then the acme-web project settings and the app settings.
The Acme profile, and two more profiles one click away.

A new profile opens on a first-run setup: the theme, the profile, the agent, the Git host, Jira, the Git identity, the dictation shortcut and phone pairing (0.16.0). Since 0.18.0, every step can be skipped except agent setup. You can’t go on until an agent CLI (Claude Code, Codex, Antigravity, GitHub Copilot or Ollama) answers a test, and each one has a button that opens its download page.

The Agent setup step of the Gitnetix 0.20.5 first-run setup, marked as the only required step: Claude, Codex, Gemini and GitHub Copilot found on the computer with a Test button each, and Ollama with an Install button.
The required step of the first-run setup.

The shortcuts page lists every keyboard shortcut and lets you change each one (0.17.0).

Dictation

Since 0.10.0, you can dictate into any text box with a shortcut, or with the mic on the phone. Transcription runs on the computer. The first version used Whisper, with a model per language. Since 0.13.1, it’s Parakeet Ultra, which detects the language by itself, in English, French and 23 more European languages, even mixed in one sentence. The 740 MB model downloads once. Dictation gets the names of the projects, the branch and the changed files as vocabulary, and AI can rewrite the text cleanly. Without that rewrite, nothing you say leaves the computer.

The Gitnetix 0.20.5 Voice dictation pane: the text explaining local transcription in 25 languages and the 740 MB model, the Ctrl+D shortcut and the Rewrite with AI checkbox.
Dictation settings: the shortcut, and the AI rewrite.

Faster and safer

Part of the 341 commits doesn’t show in the screenshots:

  • Fewer git calls. Gitnetix watches each checkout’s files and refreshes on save, instead of checking every 4 seconds. It fetches origin only when its branches or tags moved, with an ls-remote every 5 seconds while the window is visible. All refs are read in one git call, because each git process costs about 40 ms on Windows (0.17.4).
  • Less work for the interface. Endless animations run on one shared 12 fps tick and pause after 30 seconds without input (0.13.1 and 0.17.1). Dialogs no longer draw a blurred shadow (0.17.3).
  • Security checks. Version 0.19.6 accepts an OAuth callback only when it carries the state of the sign-in in progress, refuses a saved token when the server changes, removes the user and password from logged URLs, checks the token before reading an RPC request’s body, and drops ref names that start with a dash, so no git command reads them as options.

How the new screenshots were made

The new screenshots show the real 0.20.5 interface, opened in a browser and connected to a headless Gitnetix server. That server runs on git repositories made for the occasion with the people and branches of the site’s demo: Grace Hopper, Ana Moreau, Jules Laurent, Riya Kapoor and Tom Becker, releases 0.4.0 to 0.5.2 shipped and 0.6.0 under way. The tree, the history, blame and the commit analytics come from those repositories. The pull requests, the Jira board, the AI-written notes, the agent session and the CLI models are made-up answers, slipped in between the interface and the server.

What’s next

The to-do list in the repository starts with a rework of Worktrees & agents, an Undo action, and a dashboard that gathers the pull requests and analytics of every repository.