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-place
from 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
.zip
archive. - Create a new directory in
./src/TreeData
with 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
.zip
archive root to the new directory:data.json
.
- Copy the following files from the
assets
subdirectory in the.zip
archive to the new directory:groups-3.png
skills-3.jpg
skills-disabled-3.jpg
.
- Copy
./fix_ascendancy_positions.py
to the new directory and run it. This should result in a new filedata_fixed.json
. Removedata.json
and renamedata_fixed.json
todata.json
. Remove the copiedfix_ascendancy_positions.py
. - Open
.src/GameVersions.lua
and updatetreeVersionList
andtreeVersions
according 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.json
from the new directory. Do not commit this file.