Tutorial:Mod changelog format: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Intro, some reordering, data and version info complete, see also section)
(category information)
Line 25: Line 25:


=== Version section start ===
=== Version section start ===
Must be exactly <code>---------------------------------------------------------------------------------------------------</code>.
The line must be exactly <code>---------------------------------------------------------------------------------------------------</code>.


The next line must be a [[#Version]] line.
The next line must be a [[#Version]] line.
=== Version ===
=== Version ===
Must start with exactly <code>Version:&nbsp;</code>, note the space after the colon. The remaining part of the line will be parsed as the version the section is about.<br>
The line must start with exactly <code>Version:&nbsp;</code>, note the space after the colon. The remaining part of the line will be parsed as the version the section is about.<br>
The version itself is expected in the format <code>number.number.number</code> for <code>major.minor.sub</code>, for example <code>0.6.4</code>. Each number can range from 0 to 65535. <code>0.0.0</code> is not considered a valid version.
The version itself is expected in the format <code>number.number.number</code> for <code>major.minor.sub</code>, for example <code>0.6.4</code>. Each number can range from 0 to 65535. <code>0.0.0</code> is not considered a valid version.


Line 38: Line 38:
<code>Version: 0.12.35</code>
<code>Version: 0.12.35</code>
=== Date ===
=== Date ===
Must start with exactly <code>Date:&nbsp;</code>, note the space after the colon. The remaining part of the line will be parsed as the date the version was released. There are no restrictions for the format of the date itself.
The line must start with exactly <code>Date:&nbsp;</code>, note the space after the colon. The remaining part of the line will be parsed as the date the version was released. There are no restrictions for the format of the date itself.


There may not be two date lines within the same version section.<br>
There may not be two date lines within the same version section.<br>
Line 47: Line 47:
=== Category ===
=== Category ===


Must start with exactly two spaces. The remaining part of the line will be parsed as the category. Must end with a colon (reminder, no whitespace at end of line!). This colon is removed for the purpose of display. TODO names and sorting
The line must start with exactly two spaces. The remaining part of the line will be parsed as the category. The line must end with a colon. This colon is removed for the purpose of display.


This line and the following entry lines are optional.
There are no restrictions for the format of the category itself.
<div class="toccolours mw-collapsible mw-collapsed" style="width: 60em;">
However, some categories are recognized by the game and sorted before the "All" tab in the GUI:
<div class="mw-collapsible-content">
* Major Features
* Features
* Minor Features
* Graphics
* Sounds
* Optimizations
* Balancing
* Combat Balancing
* Circuit Network
* Changes
* Bugfixes
* Modding
* Scripting
* Gui
* Control
* Translation
* Debug
* Ease of use
* Info
* Locale
</div></div>
Example:<br>
<code>&nbsp;&nbsp;Minor Features:</code>
=== Entry ===
=== Entry ===


Must start with exactly four spaces followed by exactly <code>- </code>&nbsp;(note the space after the dash) for a single line entry. For a multiline entry, lines after the first line must start with exactly six spaces.
The line must start with exactly four spaces followed by exactly <code>- </code>&nbsp;(note the space after the dash) for a single line entry. For a multiline entry, lines after the first line must start with exactly six spaces.
 
If an entry is used, a previous line in the version section must be a [[#Category]] line. The entry is then associated with the category, see [[#Example changelog]].


Entries in the same version and the same category may not be exact duplicates.
Entries in the same version and the same category may not be exact duplicates.
Line 57: Line 89:
Example:<br>
Example:<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;- Fixed the missing title in character logistics window.</code>
<code>&nbsp;&nbsp;&nbsp;&nbsp;- Fixed the missing title in character logistics window.</code>
== Example changelog ==
== Example changelog ==
It may be simpler to copy and modify this example than to start from scratch.
<pre>---------------------------------------------------------------------------------------------------
<pre>---------------------------------------------------------------------------------------------------
Version: 1.1.60
Version: 1.1.60

Revision as of 15:37, 11 November 2022

This is the format required by the in-game changelog viewer to display mod changelogs in the browse mods GUI. The changelog.txt file is expected to be located in the root of the mod folder, see Tutorial:Mod_structure#Files.

The online mod portal does not require this changelog format, it will display any changelog.txt file content.

TODO completely empty lines are ignored?


Important general format

  • Do not use tabs
    • Indentation is done with two spaces
  • Do not leave whitespace at the end of lines ("trailing spaces")

Usually, text editors can enforce this automatically, it is recommended to set this up.

Formatting rules

#Important general format applies everywhere and will lead to confusing error messages if not followed.

TODO One section per version.

Version section start

The line must be exactly ---------------------------------------------------------------------------------------------------.

The next line must be a #Version line.

Version

The line must start with exactly Version: , note the space after the colon. The remaining part of the line will be parsed as the version the section is about.
The version itself is expected in the format number.number.number for major.minor.sub, for example 0.6.4. Each number can range from 0 to 65535. 0.0.0 is not considered a valid version.

There may not be two version sections with the same version.
This line is mandatory.

Example:
Version: 0.12.35

Date

The line must start with exactly Date: , note the space after the colon. The remaining part of the line will be parsed as the date the version was released. There are no restrictions for the format of the date itself.

There may not be two date lines within the same version section.
This line is optional.

Example:
Date: 01. 06. 2016

Category

The line must start with exactly two spaces. The remaining part of the line will be parsed as the category. The line must end with a colon. This colon is removed for the purpose of display.

This line and the following entry lines are optional.

There are no restrictions for the format of the category itself.

However, some categories are recognized by the game and sorted before the "All" tab in the GUI:

  • Major Features
  • Features
  • Minor Features
  • Graphics
  • Sounds
  • Optimizations
  • Balancing
  • Combat Balancing
  • Circuit Network
  • Changes
  • Bugfixes
  • Modding
  • Scripting
  • Gui
  • Control
  • Translation
  • Debug
  • Ease of use
  • Info
  • Locale

Example:
  Minor Features:

Entry

The line must start with exactly four spaces followed by exactly -  (note the space after the dash) for a single line entry. For a multiline entry, lines after the first line must start with exactly six spaces.

If an entry is used, a previous line in the version section must be a #Category line. The entry is then associated with the category, see #Example changelog.

Entries in the same version and the same category may not be exact duplicates.

Example:
    - Fixed the missing title in character logistics window.

Example changelog

It may be simpler to copy and modify this example than to start from scratch.

---------------------------------------------------------------------------------------------------
Version: 1.1.60
Date: 06. 06. 2022
  Features:
    - This is an entry in the "Features" category.
    - This is another entry in the "Features" category.
    - This general section is the 1.1.60 version section.
  Balancing:
    - This is a multiline entry in the "Balancing" category.
      There is some extra text here because it is needed for the example.
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  Bugfixes:
    - Fixed that canceling syncing mods with a save would exit the GUI.
    - Fixed a desync when fast-replacing burner generators.
---------------------------------------------------------------------------------------------------
Version: 1.1.59
Date: 06. 05. 2022
  Bugfixes:
    - This general section is the 1.1.59 version section.
    - This is an entry in the "Bugfixes" category.
    - Fixed grenade shadows.
---------------------------------------------------------------------------------------------------
Version: 0.1.0
Date: 24. 12. 2012
  Major Features:
    - Initial release.
    - This general section is the 0.1.0 version section.

See also