# MyTwig changelog

Every MyTwig release, newest first. Downloads: https://github.com/HeroSizy/mytwig-releases/releases

## v0.3.1 (2026-10-22)

- Closing the Repositories tab, or clicking another tab while it or a page was showing, no longer quits MyTwig.
- A date in the search, or in a search the AI writes, covers the whole day: after: from its midnight and before: through its end, so after:2026-10-22 before:2026-10-22 finds that day's commits instead of none.
- The mouse wheel scrolls a diff while the pointer is over a hunk's header or a hidden-lines separator, also in pull request review.

## v0.3.0 (2026-10-22)

- Work with AI in more places. Describe the commits you want in the search bar (“what did I change in the login last month”) and the model writes the search for you. In the command palette, “Ask AI: …” plans the git steps for a request; you tick the steps to run, and one Undo puts the repository back.
- CI in the app. A pull request lists its checks, failed ones first. A GitHub Actions job's log opens at its first error, the model can explain it, a failed job runs again on its own or with its run, and auto-merge turns on or off.
- Review what changed since your last review. A pull request you reviewed before opens on what changed since, also after a force-push or rebase, with its commits paired then and now.
- Preview a drop before it runs. Hovering a rebase or merge in the drop menu, or Sync Stack, draws the result on the graph: the commits made again, the branches moved, and the commit that would stop on conflicts.
- Rich diffs for Jupyter notebooks, Markdown, SVG, JSON and YAML, with a switch to the plain lines.
- Remembered conflict resolutions (git rerere), marked “as last time” in the conflict list, with Mark Resolved and Resolve Again.
- Monorepo scope. Scope to Folder… keeps the graph, the changes and the search to one folder, shows its owners from CODEOWNERS, and can check out only that folder (sparse checkout).
- Secret scan before pushing. Push and Create Pull Request check the commits not on a remote yet for tokens, keys and passwords, and ask first. Turn it off in Settings → Git → Secrets.
- Jira and Linear (Settings → Integrations): issues on branches and commits, a Tasks page as a list or a board, Start Work to make the issue's branch, and issues moved as their pull requests open and merge.
- mytwig:// links open a repository, a commit, a branch, a pull request or a file in MyTwig, and a commit's menu has Copy MyTwig Link.
- Pull request templates from GitHub, GitLab, Gitea, Forgejo, Bitbucket and Azure DevOps, with a list to pick one.
- Experimental (Settings → Experimental):
- License and Third-Party Notices in Settings → About. Public Beta builds need no license.
- The settings use one row style for accounts, SSH keys and credentials, with one ⋯ menu each; Identity and Signing save as you edit them.
- A branch folder in the left panel acts on all its branches (hide, show, solo, delete, pick), and an eye on each of Local, Remote, Tags and Stashes hides that kind in the graph.
- The command palette lists your most used commands first.
- Double-clicking a branch that another worktree has checked out opens that worktree.
- VoiceOver names the lists, buttons, panels and settings, reads changed files as “Added b.txt”, and announces work that starts and errors.
- Built with Go 1.27.3, which fixes a security issue in the standard library.
- A repository listed by one of several GitHub accounts clones with that account, instead of failing with “Repository not found”, and later fetches and pushes use the same account.

## v0.2.3 (2026-10-22)

- Interactive rebase from the keyboard. Up/Down (or K/J) select a commit, Cmd+Up/Down move it, P, R, S, F and D pick, reword, squash, fix up or drop it, Enter starts the rebase and Esc cancels. The row menu shows the keys.
- Rebase or merge by dropping a branch on a remote branch. Besides a pull request, the drop now offers to rebase the branch onto the remote branch, or to merge into its local branch, also without a forge.
- Conflict preview. The result of a conflicted file switches between Edit and Preview: a live diff of the result against ours, as it would be saved, with the conflicts left marked.
- More diagram kinds in AI explanations and pull request descriptions: state, class and entity relationship diagrams and git graphs.
- A window for each AI prompt. Settings → AI lists each task's prompt in one row; Edit… opens it in a resizable editor beside its placeholders.
- Edit an issue link in place in Settings → Git, instead of removing it and typing it again.
- The unstaged and staged file lists share the working tree panel in a split you can drag, instead of six rows each.
- A branch with an open pull request shows its mark also when the accounts loaded during the first read, when the branch is on a fork on the same host, and right after the pull request is opened.
- MyTwig finds the GitHub CLI installed by Homebrew also when it starts from the Dock or Finder, so a gh sign-in is detected.
- The mouse wheel scrolls a diff also over its review comments, hunk buttons and hover cards.

## v0.2.2 (2026-10-21)

- Glass clarity. On macOS, Settings → Appearance → Glass clarity sets how much the sidebar, the details panel, the command palette and dialogs show what is under them, from frosted (0) to nearly clear (100). The default is 50. The panels change as you drag the slider.
- Help → Send Feedback… opens a new issue on GitHub in the form of the app's language, with the MyTwig version, the system, its version and the architecture filled in.
- One calm loading indicator replaces the spinners and "Loading…" texts everywhere, and the toolbar shows it while Git works (for example while pushing).
- Updated the app's UI framework, for smoother redrawing and sharp text at every zoom level.
- In Clone Repository, the search field of the repository list now takes clicks and typing. The same fix lets every field take the keyboard in Add Remote, Edit Remote, Create Pull Request and pull request review comments.
- A GitLab account (or another account added by hand) now shows its user name in Settings → Accounts and in the clone dialog's account list. Without a connection it shows the host instead of a blank.

## v0.2.1 (2026-10-21)

- Drag a branch onto a remote branch to open a pull request. Drop a local branch on a remote branch, in the graph or in the left panel: MyTwig pushes the local branch and opens the new pull request dialog with that remote branch as the base. Drop a remote branch to open a pull request from it as it is.
- Remote icons on branch labels. A remote branch's label shows its remote's icon in place of the origin/ prefix: the owner's avatar on the forge, the host's logo (GitHub, GitLab, Bitbucket, Gitea, Forgejo, Codeberg, SourceHut), or an image you choose. Right-click a remote in the left panel to pick its icon, or choose Settings → Graph → Remote branches → Name to show names again.
- A dashed line joins the uncommitted changes (// WIP) to the commit checked out.
- A stash's label in the graph shows the stash icon.
- In a narrow graph column, the WIP node and stash nodes stay inside the column instead of covering the commit message.

## v0.2.0 (2026-10-20)

- A commit graph of every branch, with branch and tag labels and author avatars. Columns can be resized, reordered and hidden. The graph stays fast on very large histories, such as Git's own 85,000 commits.
- Commit search finds commits by message, author, SHA or ref as you type. It also searches the whole history with operators: content:, change:, message:, author:, path:, after: and before:.
- File history, blame and the history of a range of lines. You can also browse every file of a commit as it was.
- Compare any two branches, tags or commits, and cherry-pick from the comparison.
- Also included: the reflog view, bisect with a banner over the graph, stashes shown in the graph, and markers on the scroll bar.
- Stage, unstage or discard whole files, hunks or selected lines. You can undo a discard.
- The commit box supports commit templates, summary-length hints, co-authors, sign-off, recent messages, amend, and commit-and-push.
- Split Commit and Split Changes into Commits: divide a commit, or your uncommitted changes, into several commits by file, hunk or line.
- Absorb: staged fixes go into the commits that last touched those lines.
- Partial and snapshot stashes, patches (save and apply), and ignoring files from their context menu with ready-made .gitignore templates.
- Drag a branch onto another to merge or rebase it. You can merge in several ways: fast-forward, merge commit, squash, or stop before committing.
- Conflict prediction warns you about conflicts with the upstream or the default branch before they happen.
- A conflict editor shows ours and theirs side by side above an editable result, with find and replace.
- Interactive rebase: drag to reorder, or pick, reword, squash, fix up and drop commits. You can also squash or move several picked commits by dragging them.
- Undo and redo for commits, merges, rebases, checkouts, branch changes and stashes. The Operation Timeline can restore the repository to how it was before a rebase, reset, pull, merge and more.
- Fetch, pull and push with progress and ahead/behind counts. MyTwig asks before risky pushes (to the default branch, files over 100 MB, or a diverged remote), and auto-fetches in the background.
- Also included: worktrees, submodules, Git LFS, Git Flow, and stacked branches (experimental).
- Pull requests and issues from GitHub (including Enterprise), GitLab, Gitea/Forgejo and Bitbucket Cloud, in the sidebar and on the graph's labels.
- Review GitHub pull requests in the app: comment on any line, reply to and resolve threads, approve or request changes, and merge.
- When cloning, MyTwig lists the repositories of every account you are signed in to. There are also options for large repositories (blobless, shallow, sparse) and a Repository Performance panel.
- Menu bar / tray companion: pull requests waiting on you, CI results, notifications, activity tiles, and the status of your recent repositories.
- Generate commit messages. Explain a commit or a set of changes, with Markdown and diagrams. Write pull request descriptions. Get conflict suggestions in the conflict editor. Have the model plan how to split changes into commits.
- Supported providers include Anthropic, OpenAI and OpenAI-compatible services (DeepSeek, Qwen, Kimi, OpenRouter, Microsoft Foundry, LiteLLM), Google Gemini, local Ollama and LM Studio, and the claude, codex, copilot and gemini command-line tools. Prompts can be edited per user or per repository.
- Requests go straight from your machine to the provider you chose.
- Tabs per repository, a repository manager with groups and folder scanning, a command palette, and keyboard shortcuts that you can change in Settings.
- Settings window with search. Light and dark themes, accent colors, interface and code fonts (several bundled), zoom, and avatar styles. On macOS, Liquid Glass styling that can be turned off.
- English and Simplified Chinese.
- Also included: a built-in terminal panel, Open in your editor or terminal, custom commands, profiles, "Commit as" identities from your accounts, commit signing (GPG, SSH, X.509), SSH key management, a Git command log, and a mytwig command-line launcher (macOS and Linux).
- Automatic, signed updates: MyTwig checks this repository every 30 minutes and verifies each update's Ed25519 signature before installing it. You can configure this in Settings → General → Updates.
- Install with one command: curl -fsSL https://github.com/HeroSizy/mytwig-releases/releases/latest/download/install.sh | sh on macOS and Linux, [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; irm https://github.com/HeroSizy/mytwig-releases/releases/latest/download/install.ps1 | iex in PowerShell on Windows. On macOS the script checks the download's Ed25519 signature, installs MyTwig in /Applications (or ~/Applications) without the Gatekeeper prompt and opens it; on Windows it checks the installer's SHA-256 and runs it silently. --uninstall removes MyTwig on macOS and Linux and keeps your settings.
- A macOS build for each kind of Mac: MyTwig 0.2.0 arm64.dmg for Apple silicon and MyTwig 0.2.0 amd64.dmg for Intel Macs, each about half the size a universal app would be. The install script picks the right one, and each build updates from its own architecture's updates.
- Optional crash reports (off by default). The first launch asks once, and Settings → Privacy has the switch. Only real crashes are reported, never quitting or force quitting the app. A report holds only the versions of MyTwig, git and the OS, where in MyTwig's code it crashed, and a random install ID: never your code, file paths, branch names, remotes, names or emails. View Last Report… shows exactly what is sent. Settings → Privacy also lists every host MyTwig connects to.
- MyTwig does very little work while idle. It only rereads what changed on disk, fetches only when due, and refreshes hidden tabs when you open them.
- Faster drawing on wide histories: only the graph lanes in view are drawn.
- The layout adapts to narrow windows: author, SHA and date columns give way before the commit message does, then the side panels.
- Zooming scales the whole window, including the title bar row and the tabs.
- Text stays readable on any accent color, light or dark.
- Git started from the Dock or Finder now finds the same tools your terminal does, such as Homebrew's Git and git-lfs hooks.
- Forge tokens are stored in the system keychain on every platform: Keychain on macOS, Credential Manager on Windows, and the Secret Service on Linux.
- Diffs, blame and the conflict editor no longer leave lines out when the window is zoomed.
- With a narrow window, commit subjects no longer show up empty.
- A failing read beside the history, such as a stray submodule entry, no longer empties the branch, tag and stash lists.
- The app no longer crashes on start when a repository finishes loading before the window is ready.
- On GitHub Enterprise servers, pull requests now match their branches even when the remote URL uses different letter case. Repositories with more than 100 open pull requests show all of them.
- While the terminal panel has the keyboard, keys such as the arrows, Esc and Control shortcuts go to the shell, not to the graph.
- Tooltips follow the light or dark theme.
- Unsigned builds. The macOS app has an ad-hoc signature only. It isn't signed with an Apple Developer ID or notarized, so Gatekeeper blocks the first launch until you choose Open Anyway in System Settings → Privacy & Security. The Windows installer isn't code-signed, so SmartScreen may warn you about it.
- Terminal panel. Closing a repository's tab or quitting MyTwig ends the terminal panel's shell, and anything still running in it, without asking first.
- Windows builds are tested less thoroughly than macOS and Linux builds. The test suite is compiled for Windows but not run on it.
- Forge differences. Reviewing pull requests in the app works with GitHub only for now. Bitbucket shows pull requests but not issues, and the menu bar finds only the Bitbucket pull requests you created. GitLab can't filter by mention.
- Linux .deb installs don't update themselves. Install the newer package, or use install.sh, which does update itself.
- Some features need a newer Git: staged-only stash needs 2.35, and conflict prediction and stacked rebases need 2.38. The minimum overall is Git 2.32.
- Stacked branches are experimental and are off by default (Settings → Experimental).

