Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Changelog Format in Pull Requests

The Changelog section of the pull request must always be at the end of the PR body.
The Changelog always starts off with the Changelog Header, followed by any amount of Category Blocks, which can contain any amount of Entries.

Changelog Header

See source code here

This begins with a case-insensitive :cl:, or the emoji πŸ†‘, followed by any amount of whitespace, then an optional author, which may only contain the characters a-z 0-9 _-,&, and spaces. Localize names to those characters if needed.
If the author part is empty, the name of the GitHub user that opened the PR will be used instead.

Examples:

<!-- Correct -->
:CL:
:cL: Toby, Not-Toby
:cl: Me, Myself & I
πŸ†‘

<!-- Incorrect -->
CL:
CL: Toby, Not Toby
:πŸ†‘:
:cl: Toby, TΓΆby!!!

Category Block

See source code here

A category block starts off with the case-insensitive name of the category, followed by a colon.
All entries after this until the next category block are part of that category.
Leading whitespace, as well as anything after the colon is ignored.

There is a whitelist of allowed categories, namely:

  • Main (This is the default if you do not start off)
  • DeltaVAdmin
  • Maps

Invalid category names get ignored and the previously set category stays the current one.

Examples:

<!-- Correct -->
MAIN:

maps:

			   DeltaVAdmin:               

<!-- Incorrect -->

mapping:

admin:

DeltaV:

maps::

Entry

See source code here

An entry is a list item, followed by an entry type, then a description. Any leading spaces are ignored.
The entry type has to be one of:

  • add
  • remove
  • tweak
  • bug
  • fix
  • bugfix

Where bug, fix, and bugfix are treated identically.

Examples:

<!-- Correct -->
- bug: Changelogs no longer explode

    *    add:      NΓ«αΊ… stΓΌff!! 🐈🐈🐈🐈

<!-- Incorrect -->
bug: Oh no I forgot a list symbol

- delete: We don't have deletions, only removals

* tweak :oops that's a typo on the space and semicolon

Leftovers

Any other line in the changelog block is ignored. You can use this to add comments, whitespace to ease readability, or whatever else you want.

Extra info

Since there are not unique changelogs for every map, unless a change is universal, mapping changelog entries should always be prefixed with the name of the map they apply to.

Example:

- add: Centcomm: Added a new bar

Example

As an example, a full changelog block may look like this:

:cl: Toby, DeltaV-Bot

- add: Added documentation about how to write a changelog block
* fix: Avoid mistakes in changelog blocks

MAPS:

- tweak: All walls have been replaced by bees

No there's no reason not to but this in the first block, but it's a good example :^)
MAIN:
- fix: I forgot to add this changelog entry a few lines above

DeltaVAdmin:
- remove: Removed all admins