Versions & Channels
Dalamud has two major concepts in terms of versioning: API Level and Channel/Track.
|Auto-assigned to most users
|Auto-assigned to a small number of users
|Core/plugin developers, testing-inclined users
|Core/plugin developers who want to get a head start on v9
The API Level is a number that is incremented whenever a breaking change is made to the Dalamud API. This means that plugins that were compiled against an older API Level will not work with newer versions of Dalamud.
For Dalamud v9 and higher, the API Level will always match the major version number - i.e. Dalamud 9.0.0 will have API Level 9, Dalamud 10.0.0 will have API Level 10, etc. For the current release version of Dalamud (7.x), the current API level is 8.
Before Dalamud v9, the API level did not have a direct relation to the Dalamud version. The API level was incremented whenever a breaking change was made to the Dalamud API, or for major game patches.
Historical API Levels
Interested in taking a trip down Dalamud memory lane? Here's a best-effort table of historical API levels.
The first commit/date of each API level is not necessarily when the API bump was released, but rather when the first commit was made that incremented the API level.
|First Dalamud Version
|First Game Version
Branches & Channels
Branches are channels are two different concepts, but they are closely related. Branches are the actual git branches that Dalamud is developed on, while Channels control the updates that users receive on their clients.
Dalamud has several release channels, each with their own update cadence and
stability guarantees. XIVLauncher will automatically update to the latest
version of the channel you are currently on, but you can switch channel at any
time through the "Branch Switcher" option in the
- Release: The default channel. This channel is updated with the latest stable release of Dalamud. This channel is recommended for most users.
- Canary: Newly tagged Dalamud releases are pushed to this channel. Canary is automatically assigned to a small subset of users from the Release channel. This channel should be just as stable as Release, but its existence helps us catch any serious issues with a new stable Dalamud release before it reaches all users worldwide.
- Staging (
stg): This channel is updated with the latest commits to
master, before a release version is tagged. New features are made available here before being moved to Canary/Release.
- v9: This channel tracks the latest commits to the
v9branch. This branch is the current development branch for Dalamud v9, and is recommended only for developers to use, as it has breaking changes (including an API level bump). You can view information on what's new in v9 here.
Channels don't always correspond to a single branch. For example, Release,
Canary, and Staging channels all track the
master branch, just at different
cadences. Not every branch has an associated channel, either.
The current main branches are:
master: The main development branch for Dalamud. This branch is used for all releases, and is the default branch for all pull requests.
v9: The development branch for Dalamud v9.
This was the first commit to introduce the
DALAMUD_API_LEVELconstant. The more you know! ✨ ↩