Path of Building Community follows Semantic Versioning.
Releases are done via GitHub actions in order to simplify release note generation.
Steps:
- First, update any GGPK files and tree files needed in the dev branch. This will minimize what you have to update later.
- Navigate to the "Release new version" action
- Click "Run workflow" on the right, and fill in the values
- Run the workflow from the 'dev' branch
- Fill in the most recent tag
- Choose a new version number (see above)
- This will run and create a new branch and PR so you can review the changes, making tweaks to any of the release notes that don't make sense
- If you changed any files after the PR was created, you'll have to update the manifest file
- Run
python3 update_manifest.py --in-placefrom the root directory of PoB
- Run
- Create a tag for the new release either by creating a release on GitHub, or running (for example)
git tag v2.4.0; git push --tags - Merge the PR into
master. PoB will take a few minutes before it can find the update
Updating data from the GGPK uses the PoB exporter (see CONTRIBUTING.md#exporting-ggpk-data-from-path-of-exile), followed by some manual tweaks that haven't been fixed in a script, yet.
Steps:
- Run each script in the Exporter in order
- Revert the following changes similar to the linked examples:
- Fix stats on Rigwald's Pack
- Make sure "of the Underground" mods don't apply to you as well as nearby enemies in ModItem.lua
- Make sure the description of a keystone isn't removed
Skill tree updates require JSON data, usually released by GGG a few days before a new
league starts, in forum posts like
this one.
The JSON data and required skill tree assets should come in a .zip archive.
Steps:
- Download the
.ziparchive. - Create a new directory in
./src/TreeDatawith the following schema:<major_league_version>_<minor_league_version>. For 3.14, the correct directory name would be3_14. - Copy the following file from the
.ziparchive root to the new directory:data.json.
- Copy the following files from the
assetssubdirectory in the.ziparchive to the new directory:groups-3.pngskills-3.jpgskills-disabled-3.jpg.
- Copy
./fix_ascendancy_positions.pyto the new directory and run it. This should result in a new filedata_fixed.json. Removedata.jsonand renamedata_fixed.jsontodata.json. Remove the copiedfix_ascendancy_positions.py. - Open
.src/GameVersions.luaand updatetreeVersionListandtreeVersionsaccording to the file's format. This is important, otherwise the JSON data converter won't trigger. - Restart Path of Building Community. This should result in a new file
tree.lua. - Remove
data.jsonfrom the new directory. Do not commit this file.