Hide empty testing batches in changelog

This commit is contained in:
2026-09-04 20:32:35 -07:00
parent 4eb9e6c96a
commit 79f3d40fcd
4 changed files with 11 additions and 3 deletions
+1
View File
@@ -44,6 +44,7 @@ The app shows its version number and a player-facing changelog in the ☰ menu
- Ordinary commits do **not** bump `VERSION` or the Nix package versions.
- Accumulate player-visible changes in one entry at the **top** of `CHANGELOG` with `version: null` and `changes: [...]`. The About dialog labels it **In testing**. Append to or consolidate this batch across commits; do not create a separate entry per commit or assign a release date yet.
- Omit the In testing entry when there are no unreleased player-facing changes; empty batches are hidden. Do not add placeholder entries just to describe changelog maintenance.
- The changelog is for players: skip refactors, tests, tooling, and other internal-only changes. Internal-only commits need no changelog entry.
- Release labeling is a separate process, performed only when explicitly requested. At release time:
1. Consolidate the In testing batch into meaningful player-facing groups using `groups: [{ title, changes: [...] }]`, replacing its flat `changes` list. Remove duplicates and describe the final behavior.
+2
View File
@@ -8,6 +8,8 @@
## Polish
- [x] Hide In testing when there are no unreleased changes and remove the placeholder batch.
- [x] Consolidate the September 4 changelog entries into one grouped version.
- [x] Accumulate In testing changelog batches and reserve app/Nix version bumps for grouped releases.
+7 -1
View File
@@ -2,6 +2,12 @@
import { createEventDispatcher } from 'svelte';
import { VERSION, CHANGELOG } from '../lib/changelog';
const visibleEntries = CHANGELOG.filter((entry) =>
entry.version !== null ||
(entry.groups ?? [{ changes: entry.changes ?? [] }])
.some((group) => group.changes.some((change) => change.trim()))
);
const dispatch = createEventDispatcher();
function close() { dispatch('close'); }
</script>
@@ -17,7 +23,7 @@
<h4 class="about-heading">What's New</h4>
<ul class="changelog">
{#each CHANGELOG as entry (entry.version)}
{#each visibleEntries as entry (entry.version)}
<li class="changelog-entry">
<div class="changelog-head">
<span class="changelog-ver">{entry.version === null ? 'In testing' : `v${entry.version}`}</span>
+1 -2
View File
@@ -10,9 +10,8 @@ export const VERSION = 50;
// Newest first. In testing: { version: null, changes: [string, ...] }.
// Release: { version, date: 'YYYY-MM-DD', groups: [{ title, changes: [...] }] }.
// Historical flat changes arrays are also supported.
// Historical flat changes arrays are also supported. Omit the testing entry when empty.
export const CHANGELOG = [
{ version: null, changes: ['Upcoming changes now appear together under In testing in About, ahead of numbered releases.'] },
{
version: 50,
date: '2026-09-04',