Skip to content

Public changelog from completed items #23

Description

@mukto90

Problem

The roadmap shows what is planned and in progress, but Completed items just sit in a column with no release context. Users cannot see what shipped, when, or in which version. A public changelog is the natural second half of a roadmap, closes the loop for voters ("you asked, we shipped"), and doubles as SEO content.

Proposal

Generate a public changelog from items marked Completed, grouped by release.

Data

  • New optional item fields (shown in the item editor sidebar): Released on (date) and Version / release name (text, e.g. v2.4).
  • When an item is moved to a status flagged as "done" (new status option "Counts as shipped", default on for Completed), auto-fill Released on with today's date if empty.
  • Optional free-form "Release notes" excerpt (falls back to item content).

Front end

  • [niroroadmap_changelog] shortcode and Changelog block. Attributes: product, limit, group="month|version", tag.
  • Reverse-chronological feed: release header (version/date), list of shipped items with tag chips and vote count ("Requested by 128 people").
  • Each entry opens the same popup, or links to the item.
  • Optional RSS/Atom feed at /niroroadmap/changelog/feed/ and <link rel="alternate"> in the page head.
  • Schema.org Article/ItemList markup (optional).
  • Link between board and changelog (a "See what shipped" link in the Completed column; setting).

Admin

  • Changelog page picker in Settings (auto-create like the Roadmap page, once).
  • Bulk action "Mark as released in version..." on the items list.

Acceptance criteria

  • Items in a "shipped" status appear in the changelog, ordered by release date.
  • Grouping by month and by version both work; items with no version fall back to month.
  • Per-product filtering works.
  • Shortcode and block render identical output and are cache friendly.
  • Feed validates in a feed validator and only contains published items.
  • Drafts, pending, and password-protected items never appear.
  • Output is escaped; works with default block themes and classic themes.
  • Existing Completed items without a release date show under "Earlier".

Technical notes

  • Store as post meta released_at, release_version; expose via REST for the block editor.
  • Reuse the CSS custom property system for styling.
  • Hook for the notify issue: send the "it shipped" email at the same moment as the release date is set.

Priority rationale

Medium. Strong value and cheap to build on existing data; not blocking other work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureSomething we want to add

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions