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.
New features and fixes in Ghost, newest first.
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.
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.
A file link highlights several lines with #L10,L11,L59, a range with #L10-L59, or both at once, and scrolls to the first.
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.
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.
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.
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.
An organization's README appears above its pinned repositories.
Sign in or sign up with a GitHub account.
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.
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.
Merge commits Ghost creates, and suggestions applied from a review, are signed with the instance's key, and GitHub's merge commits verify.
The pull request page has a Code button with the commands to check the request out locally. See Checking out pull requests locally.
A push is verified before it is committed to the repository, and merges are refused once the base account is at its storage quota.
Repository languages are counted the way GitHub's Linguist counts them, so data files no longer skew the bar.
Import a repository from GitHub along with its issues, pull requests and releases.
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.
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.
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.
Create and delete branches from a repository's branches page.
Pull requests merge with a merge commit, a squash or a rebase, and the squash message can be edited before merging.
Approve, comment on or request changes to a pull request. Conflicting files are named when a request cannot merge cleanly.
Create tags and releases, and attach assets to a release.
Organizations share the user namespace and come with teams, base permissions and repository transfers.
Invite collaborators to a repository and give each a role.
A Settings tab to rename a repository and change its description, visibility and default branch. Deleting a repository purges everything it stored.
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.