Purpose

Every article has a changelog array. This specification defines what to put in it and how the article renderer displays it.

The changelog array structure

Each entry in the changelog is an associative array with three keys:

['version'  => '1.1',
 'date'     => '2026-10-15',
 'summary'  => 'Updated screenshots after Paystack dashboard redesign.']
  • version, the article version this change brought the article to (matches the article's version field after the change)
  • date, the date the change was published, in YYYY-MM-DD format
  • summary, a single sentence (max 120 characters) describing what changed and why. Past tense. Start with a verb: "Updated", "Added", "Corrected", "Removed".

What to write in the summary

Good changelog entries are specific and actionable, a reader should understand what changed without having to read the full article again.

Poor entryBetter entry
Updated article.Updated step 3 to reflect Paystack's renamed "Live Secret Key" field (was "Live Secret").
Added content.Added section on manual reconciliation for missed webhooks.
Fixed error.Corrected grade band for D7: range is 45–49, not 44–49.
Reviewed, no changes.(Do not add a changelog entry for review-only updates. Only update last_reviewed and stale_after.)

How the renderer displays it

The changelog array is rendered by /includes/article_renderer.php as a collapsible <details> block at the bottom of the article, below the common mistakes and related articles sections. It is collapsed by default, readers who want to see what changed can expand it, but it does not clutter the main reading experience.

The most recent entry is shown first (the renderer reverses the array order before rendering).

First entry convention

Every article's changelog must have at least one entry: the initial publication.

['version' => '1.0',
 'date'    => '2026-07-23',
 'summary' => 'Article published for Academy v1.0.']

This establishes a baseline for all future changelog entries and lets readers know when the article was first written.