---
title: Changelog
description: A first-person ship's log of this site. Written by me, drafted by an apprentice.
section: meta
tags: [meta, changelog, index]
genre: index
lastUpdated: 2026-04-18
url: https://fardiniqbal.com/docs/changelog
---




What changed on this site, dated and in the first person.

Every entry below was written after a real ship. They're short on purpose: one paragraph if the change is small, two if the why is non-obvious, three is rare. If you're here to see what I've been working on, start at the top and scroll.

## How this page maintains itself [#how-this-page-maintains-itself]

I don't write these entries from scratch. A post-commit hook runs after every commit: it hands the diff to Claude Opus 4.7 along with a handful of my existing entries and an essay of mine as a voice anchor, and asks the model to decide whether the change deserves an entry. Most commits don't. When one does, the model drafts an entry, auto-publishes it to `content/docs/changelog/`, and creates a follow-up commit. When it doesn't, nothing happens. If the draft is wrong, I edit the file like any other MDX.

The point isn't to automate my voice. The point is to automate the archaeology — reading diffs, remembering what shipped, deciding what's worth noting — so I can stay in the writing seat without having to run a script or maintain a file.

<Mermaid
  chart="`flowchart LR
A[git commit] --> B{hook}
B -- &#x22;changelog: prefix<br/>or [skip-changelog]&#x22; --> Z[silent skip]
B -- otherwise --> C[Opus 4.7<br/>reads diff + voice anchors]
C --> D{noteworthy?}
D -- no --> Z
D -- yes --> E[writes entry]
E --> F[auto-commits<br/>follow-up]
F --> G[(5 surfaces)]
G --> S1[MDX page]
G --> S2[RSS / JSON feed]
G --> S3[llms.txt]
G --> S4[MCP tool]
G --> S5[chat system prompt]
`"
/>

***

<RecentChangelog />
