Changelog

New features and fixes in Ghost, newest first.

Link previews for releases

Sharing a repository's releases, or a single release, now shows a preview card with its name, notes, author and assets. Every preview card has a new look to match the rest of Ghost.

Find files and browse the tree

Press t or choose Go to file on a repository's code view to fuzzy-find any file at the current branch, tag or commit; a match in the file name ranks above one in its directories. A file page shows the repository's files in a sidebar, opened down to the file you are reading, and remembers whether you collapsed it.

Several lines in one link

A file link highlights several lines with #L10,L11,L59, a range with #L10-L59, or both at once, and scrolls to the first.

Pull request commits in the timeline

A pull request's timeline now lists the commits each push added, and marks force pushes with the head they replaced. A push that moves a request's head sends a pull_request.synchronized webhook.

Attachments in every Markdown field

Issues, pull requests, comments and releases share one Markdown editor. Drop or paste files into it to attach them; HEIC photos are converted to JPEG first, and a draft waits until its uploads finish. The editor suggests people and issues as you type @ or #, fenced code blocks are highlighted, and the assignee picker is searchable.

Git LFS

Repositories serve Git LFS objects and locks over HTTP and SSH, and files stored with LFS show their contents in the browser. See Git LFS.

Storage limits

Pushes, forks and release assets each count against a storage quota on the owning account, and git says why when a push is refused. Settings show usage and limits for users and organizations.

Organization pages

An organization's README appears above its pinned repositories.

Sign in with GitHub

Sign in or sign up with a GitHub account.

Faster code search and large repositories

Code search pages its results with infinite scroll, returns up to 2000 matching files and is rate-limited per account. Branch lists are searchable, branches with slashes resolve in every URL, and a #L link highlights and scrolls to its line.

Importing large repositories

The GitHub importer pushes once, runs its phases in parallel and resumes from where it stopped. Large pushes are verified without being held in memory, and Markdown renders the way GitHub renders it.

Signed merge commits

Merge commits Ghost creates, and suggestions applied from a review, are signed with the instance's key, and GitHub's merge commits verify.

Push validation

A push is verified before it is committed to the repository, and merges are refused once the base account is at its storage quota.

Language statistics

Repository languages are counted the way GitHub's Linguist counts them, so data files no longer skew the bar.

Import from GitHub

Import a repository from GitHub along with its issues, pull requests and releases.

Self-hosting

Ghost ships a Docker Compose stack with setup scripts for bash and PowerShell, and sends mail through local sendmail when no mail service is configured. See Self-hosting.

Webhooks

Repositories and organizations send webhooks, with a catalog of events to choose from. Deliveries to Slack, Discord, Google Chat and Teams are posted as chat messages, and a webhook's signing secret can be replaced. See Receiving webhooks.

Notifications

An inbox and thread emails for mentions, team mentions, assignments, comments, reviews and state changes. Subscribe to a thread, or watch or ignore a repository.

Branch management

Create and delete branches from a repository's branches page.

Merge strategies

Pull requests merge with a merge commit, a squash or a rebase, and the squash message can be edited before merging.

Pull request reviews

Approve, comment on or request changes to a pull request. Conflicting files are named when a request cannot merge cleanly.

Tags and releases

Create tags and releases, and attach assets to a release.

Organizations

Organizations share the user namespace and come with teams, base permissions and repository transfers.

Collaborators

Invite collaborators to a repository and give each a role.

Repository settings

A Settings tab to rename a repository and change its description, visibility and default branch. Deleting a repository purges everything it stored.

Issue and pull request references

Issues and pull requests that mention each other show the reference in their timelines, and closing keywords such as fixes #12 close the issue they name.