# Release history

The current ghchronicle release and its date, read at build from VERSION and CHANGELOG.md, what that file records, and where every release is published.

Source: https://jmrplens.github.io/ghchronicle/reference/changelog/

The current release of ghchronicle is 2.6.5, tagged on
2026-09-30. Neither is typed on this page: the number is read from the
repository's `VERSION` file when the site is built, the date from the heading
that number carries in `CHANGELOG.md`, and the site does not build when that
heading is missing. Every install command that names a version takes it from
the same file.

## What the changelog records

[`CHANGELOG.md`](https://github.com/jmrplens/ghchronicle/blob/main/CHANGELOG.md)
says what changed in each release, why, the measurement behind it, and the
part nobody verified. Where a claim in it was measured, it says on what. It has
one section per version, newest first, each headed by the version and the day
its tag was pushed, and from 2.5.1 on a release's section is its notes on
GitHub word for word; the release page adds the pull and verification commands
and a link to the commits. One section has no tag behind it: 2.5.2 was never
released on its own, and its changes shipped in 2.6.0. It is in English, like
the whole repository outside this site.

What the first hours after moving from one release to the next look like is on
[upgrading](https://jmrplens.github.io/ghchronicle/install/upgrading/).

The site links the file rather than copying it, so there is one history to
keep. Versions follow [semantic versioning](https://semver.org/), and a binary
names its own with `ghchronicle -version`, one of
[the five flags that print and exit](https://jmrplens.github.io/ghchronicle/reference/cli/#the-five-that-print-and-exit).

## Where each release is

- [GitHub Releases](https://github.com/jmrplens/ghchronicle/releases) has every
  numbered tag with its notes and its files: an archive for Linux,
  macOS and Windows on amd64 and arm64, an SPDX SBOM for each archive, and
  `checksums.txt` over all of them. The checksum file and every SBOM carry a
  keyless cosign signature, and
  [checking what you downloaded](https://jmrplens.github.io/ghchronicle/install/linux/#check-what-you-downloaded)
  has the commands. A release named after a major tag, such as `v1`, is there
  for the Action's Marketplace listing and carries no files.
- The container image, `ghcr.io/jmrplens/ghchronicle`, is tagged with each
  release's version behind a `v`, and with `latest`, for `linux/amd64` and
  `linux/arm64`; `latest` moves onto a release's image only once the release
  workflow has verified and run it. From 2.5.1 on it carries a keyless cosign signature by the
  same workflow identity as the checksum file, and
  [verify the image](https://jmrplens.github.io/ghchronicle/install/docker/#verify-the-image) has the
  command.
- [The releases feed](https://github.com/jmrplens/ghchronicle/releases.atom) is
  the same list as Atom, for a feed reader.
- The Action follows the major version: `jmrplens/ghchronicle@v2` resolves
  through a `v2` tag that the release workflow moves onto each 2.x release once
  its files are published. See [GitHub Actions](https://jmrplens.github.io/ghchronicle/install/actions/).
