Changelog Tools

by adamius

Changelog parser rule checker tool. Only useful for those writing mods. Requires a recent Python 3.x from

2 years ago
0.17 - 0.18
2 years ago
Latest Version:
0.0.14 (2 years ago)
Factorio version:
0.17 - 0.18
168 times

Python script with my (incomplete) understanding of the the Factorio changelog parser rules. Probably not useful for general players. Might contain unexpected bugs.

IMPORTANT NOTE: This is not executable from within Factorio! I'm releasing it as a mod for simpler distribution.

Requires a recent Python 3.x from It currently still works with Python 2.x but as that is deprecated do not expect such support to last.

The tool does not modify or directly fix changelog.txt files. It is intended as a reporting tool only.

Command line options

python3 [--mods-folder <folder path>] [--changelog <filepath>]

--mods-folder <folder path>
scan a folder as if it contains multiple subfolders or zip files. each subfolder or zip has a single mod.

specify a particular filepath and treat is as a changelog.txt or a zipfile with a changelog.txt inside it.

show tool's line classification. Cuts to the question of why a particular message is appearing.

disable the summary statistics.

Multiple --changelog pairs can be put on same command line to allow checking multiple individual files. eg --changelog --changelog
-f is an alias for --changelog
-h is an alias for --help

Quickstart for Windows users

0) confirm you know what the terminal or command prompt is and how to get to it. Hint: cmd.exe
1) install this mod from the portal
2) make sure python 3 is installed. It is downloadable from I recommend the default 64bit version. Confirm you get a python prompt if you run python3 from terminal.
3) using the command prompt terminal, go to your factorio mods folder
4) expand the da-changelog-tools zip file in that folder.
5) in the da-changelog-tools folder, double click the check-changelogs.cmd file
6) the tool will evaluate all mods and produce a report. You can use command output redirection to redirect the output report to a file.


To really use this mod, you need to open a terminal in the folder where you extracted the zip file. Then you can actually call the python script with command line parameters.

check a mods folder somewhere
python3 --mods-folder C:\Users\adamius\AppData\Roaming\Factorio\mods

check a particular text file
python3 --changelog C:\Users\adamius\AppData\Roaming\Factorio\mods\da-changelog-tools_0.0.5\changelog.txt

check a folder full of mods somewhere else
python3 --mods-folder d:\factorio\devel\mods

Note: You may not need to put python3 in front of "" or on some systems you may need to use python instead. Be aware that might use the older python 2.x instead. For clarity, all examples here will explicitly use python3.

eg more examples (each line is a separate example)
python3 --changelog C:\Users\adamius\AppData\Roaming\Factorio\mods\da-changelog-tools_0.0.5\changelog.txt

python3 --mods-folder C:\Users\adamius\AppData\Roaming\Factorio\mods

python3 --changelog changelog.txt

python3 --changelog changelog.txt > report.txt

Obviously you'll need to swap out my username if you want to use the similar full path on your system.

Thanks to:
Pi-C for his many, many error reports and suggestions.