Skip to content

Releases

GitOS 0.1.4

Choose a tag to compare

@Dhunu Dhunu released this 06 Nov 15:32

Themes, and updates that wait for you

New: 14 themes

Choose a theme in Settings › General › Appearance. Each one recolors the window, sidebar, inputs, diffs and commit graph, and switching is instant, so you keep your place and your commit draft.

Dark+, Monokai, Tokyo Night, Dracula, One Dark Pro, GitHub Dark, GitHub Light, Nord, Catppuccin Mocha, Night Owl, Gruvbox Dark, Rosé Pine, Solarized Dark and Solarized Light.

The original GitOS theme is still the default, and it follows your Mac's light or dark mode.

New: updates download in the background

  • Automatic checks. GitOS checks for updates when it opens and every hour while it's running, then downloads them quietly.
  • You choose when to install. When an update is ready, Restart to Update appears in the sidebar. Click Later to hide it, and it stays available in the GitOS menu and Settings › General.
  • Quitting doesn't install. If you quit instead, GitOS cancels the install and downloads the update again next time you open it.

You can turn automatic checks off in Settings › General.

Good to know

  • Save your commit message first. Restarting to update clears any message you're still typing.
  • This update uses the old window. Updating from an earlier version shows the previous update window one last time. The new flow starts from the next update after this one.
  • Force-quitting. If GitOS crashes or is force-quit while an update is ready, the update may still install.
  • Selected rows. In the sidebar and lists, the selected row stays GitOS teal in a focused window, whichever theme you use.

Full Changelog: v0.1.3...v0.1.4

GitOS 0.1.3

Choose a tag to compare

@Dhunu Dhunu released this 06 Nov 14:01

Work with organization repositories, without waiting for approval

New: sign in with an access token

Organizations can block apps they haven't approved, and GitHub turns this on by default for new organizations. When that happens, their private repositories look like they don't exist to GitOS, even if your account has access and other apps work fine.

You can now add an account with a classic personal access token instead:

  1. Go to Settings › Accounts › + and click Use a Token…
  2. Click Create a Classic Token on GitHub. The permissions GitOS needs are already ticked.
  3. Paste the token and click Add Account.

If you've already added that account, the token replaces its existing sign-in. Your token is stored in your Keychain.

Good to know:

  • Tokens don't need organization approval, unless the organization blocks classic tokens. If it does, an owner needs to approve GitOS.
  • If the organization uses SSO, also click Configure SSO next to the token on GitHub.
  • A classic token can reach everything your account can, so set an expiry date. When it expires, add a new one with Use a Token…
  • Check your organization's rules before using a token on work code.

Fixed

  • Misleading "Repository not found" advice. GitOS used to suggest you had the wrong account. For repositories you don't own, it now explains that the organization may need to approve GitOS.
  • Faster way out of that error. The error now offers Use an Access Token… and Review Access on GitHub, so you can fix it from there.

Full Changelog: v0.1.2...v0.1.3

GitOS 0.1.2

Choose a tag to compare

@Dhunu Dhunu released this 06 Nov 07:15

Find every branch, and see everything GitHub has

New

  • Searchable branch picker. Click the branch name in the toolbar and start typing. Use ↑ ↓ and Return to pick a branch.
  • Remote branches are visible. Branches on GitHub that you've never checked out now appear in a Remote section. Choosing one creates a local branch that tracks it.

Fixed

  • Branches missing from lists. Remote-only branches can now be used as a pull request base, merged, and opened in a new worktree.
  • Pull Requests and Issues stopped at 50. Both lists now load up to 500 of the most recently updated items, and show a notice with a GitHub link if there are more. Pull requests no longer use up space in the Issues list.
  • History stopped at 500 commits. A Load More button now appears when there are older commits.
  • "Bad credentials" in Pull Requests and Issues. A rejected sign-in now shows the Reconnect banner on these tabs too.
  • Confusing "Repository not found" errors. If the repository may belong to another account, or the account lacks permission, GitOS now suggests switching accounts.
  • "Commit 0 files to main". The button now says "Stage changes to commit" or "Nothing to commit".

Full Changelog: v0.1.1...v0.1.2

GitOS 0.1.1

Choose a tag to compare

@Dhunu Dhunu released this 06 Nov 06:34

Bug fix: GitHub accounts signing out after a few hours

Reconnect your accounts once after installing 0.1.1: go to Settings › Accounts and click Reconnect… on each one. Keep your browser signed in to the account you're reconnecting. After that, you won't need to do this again.

What went wrong

A few hours after signing in, fetch, pull and push stopped working on private repositories with this error:

remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed for 'https://github.com/…'

Public repositories kept working, because they don't need a sign-in. Reconnecting fixed it, but only for a few hours.

Cause

The GitOS OAuth app had GitHub's Token expiration feature turned on, so every sign-in lasted only 8 hours. GitHub also sends a refresh token for renewing a sign-in, but GitOS threw it away. Nothing was wrong with your Keychain, and your tokens weren't leaked or revoked.

The fix

  • Sign-ins no longer expire. Token expiration is now off for the GitOS OAuth app, so new sign-ins from the built-in app keep working.
  • GitOS can renew expiring tokens. If your own OAuth App has token expiration on (Settings › GitHub), GitOS keeps the refresh token and renews before expiry, on launch, when your Mac wakes, and once more if GitHub rejects a token.
  • Clear message when a sign-in stops working. A banner names the account and offers Reconnect…, replacing the raw git error.
  • No pointless retries. Background fetches for that account pause until it's reconnected, then resume automatically.

Updating from 0.1.0

0.1.0 includes auto-update, so you can use GitOS › Check for Updates…, or download the .dmg below. Either way, reconnect your accounts afterwards, because sign-ins from 0.1.0 don't renew.

Full Changelog: v0.1.0...v0.1.1

GitOS 0.1.0

Choose a tag to compare

@Dhunu Dhunu released this 05 Nov 18:47