Changelog

About

Daily, weekly, and monthly summaries of the main branches of selected git repos.

Motivation

Ever watched a repository on GitHub? The notifications are mostly noise. Issue comments, pull-request threads, invalid questions, suggestions built on a misreading. On a busy project they pile up faster than anyone can read them, and most people quietly stop looking.

The efficient way to follow an active repository, I think, is to watch only what lands on the main branch. There is very little noise there, and it holds the real progress of the project in distilled form. Changelog is built around that view: a way to follow a repository by what actually shipped.

How it works

Every day a scheduled job runs a two-pass pipeline over each watched repository. A cheap model triages the day's commits, the real diffs of the ones that matter are pulled in, and a second model turns those into the article you read. Grounding the write-up in the actual diff keeps it honest about what shipped.

  1. 1 Collect commits
    Clone or fetch the repo and read the previous day's commits: message, author, and per-file line counts. No diffs are loaded yet, so the list stays cheap to scan.
  2. 2 Triage the commits gpt-5.4-nano
    The lightweight list goes to gpt-5.4-nano, which flags the high-impact commits by what the change actually means, not by commit-message conventions. Recall is favoured, so borderline commits make the cut.
  3. 3 Attach the diffs
    For the flagged commits, the real patches are pulled in. Noise is dropped (lockfiles, minified bundles, vendored trees) and long diffs are truncated, so the model sees the substance without blowing the token budget.
  4. 4 Write the summary gpt-5.4-mini
    The full commit list plus the attached diffs go to gpt-5.4-mini, which writes the article: a short write-up for each high-impact change, with everything trivial bundled under "Other misc changes."
The same pipeline rolls the daily issues up into weekly and monthly editions.

The cheap triage and the capped diffs keep the bill small: at current API prices an active repository runs about 1.5 to 2.5 cents a day, and quiet days cost under a cent.

Run your own

Changelog is open source. Fork it, point it at the repositories you care about, and you have your own daily digest running on free GitHub infrastructure in a few minutes.

  1. 1 Fork the repo
    Fork kt3k/changelog on GitHub into your own account.
  2. 2 Choose your repos
    Edit repos.yml and list the owner/name repositories you want to follow.
  3. 3 Add your API key
    In Settings → Secrets and variables → Actions, add an OPENAI_API_KEY repository secret.
  4. 4 Turn on Pages
    In Settings → Pages, set the source to GitHub Actions so the built site can deploy.
  5. 5 Run it
    Trigger the Digest workflow from the Actions tab to test, then let the daily schedule take over — weekly and monthly editions roll up automatically.
See the README for running locally and tuning the models.