This document describes the HMCL version release schedule starting from October 2025.
HMCL has multiple version branches, each named in the format <major>.<minor> (e.g., 3.7).
The major version is incremented only when there are significant architectural changes in HMCL, while the minor version is incremented regularly according to the release schedule.
HMCL has two types of versions: Stable and Beta.
The HMCL stable version is suitable for users who prioritize software stability. New features are merged into the stable version only after thorough testing.
The stable version number follows the naming rule <version branch>.<build number> (e.g., 3.7.1).
The build number is calculated independently for each version branch.
The HMCL beta version is suitable for users who want to experience new features first. The beta version includes the latest features and bug fixes, but may also have more issues due to insufficient testing.
The beta version follows the naming rule <version branch>.0.<build number> (e.g., 3.7.0.300).
The build number is shared globally across all version branches.
HMCL has two main release channels: Stable Channel and Beta Channel. They are used to release the HMCL stable and beta versions, respectively.
To test HMCL versions before official release, we will push updates to some users in advance. Users can enable the "Preview HMCL releases early" option on the "Settings > General" page to receive preview updates from the corresponding channel.
---
displayMode: compact
---
gantt
title HMCL Version Lifecycle (Example)
section 3.11
today: vert, 2026-02-20, 0d
Beta Phase: done, c1, after b1, 31d
Preview Phase: active, c2, after c1, 16d
Maintenance Phase: c3, after c2, 30d
3.11.0.118: milestone, after b1, 0d
3.11.0.119: milestone, 2026-02-01, 0d
3.11.1: milestone, after c1, 0d
section 3.10
Beta Phase: done, b1, after a1, 31d
Preview Phase: done, b2, after b1, 16d
Maintenance Phase: active, b3, after b2, 31d
3.10.0.116: milestone, after a1, 0d
3.10.0.117: milestone, 2025-12-30, 0d
3.10.1: milestone, after b1, 0d
3.10.2: milestone, 2026-01-23, 0d
3.10.3: milestone, after b2, 0d
3.10.4: milestone, 2026-02-11, 0d
section 3.9
Beta Phase: done, a1, 2025-11-15, 30d
Preview Phase: done, a2, after a1, 16d
Maintenance Phase: done, a3, after a2, 31d
3.9.0.114: milestone, 2025-11-15, 0d
3.9.0.115: milestone, 2025-11-30, 0d
3.9.1: milestone, after a1, 0d
3.9.2: milestone, 2025-12-23, 0d
3.9.3: milestone, after a2, 0d
3.9.4: milestone, 2026-01-11, 0d
In general, we release a new version branch every month,
and each version branch x.y has a lifecycle of two and a half months.
The lifecycle of each version branch is divided into the following stages:
-
Beta Phase (Mid-month M ~ Mid-month M+1)
During this phase, the version is developed in the Git branch
main.Typically, we release a beta version
x.y.0.<build number>based on this branch every week, which includes all features and bug fixes merged during the week. -
Preview Phase (Mid-month M+1 ~ End of month M+1)
In mid-month M+1, we fork the
mainbranch to create therelease/x.ybranch, which corresponds to the fixed version branchx.y.At the same time, the version branch corresponding to the
mainbranch is incremented tox.y♯, entering the beta phase of the next version branch.After the fork, no new features will be added to this version branch; only bug fixes and data updates will be made.
Within a few days, we will release a stable preview version
x.y.1and push it to users in the stable channel who have enabled preview updates.Before the end of month M+1, the stable version corresponding to version branch
x.ywill remain in preview status. If issues are found during the preview, we will release and push new stable preview versions (such asx.y.2,x.y.3, etc.) after fixing them. -
Stable Release (End of month M+1)
At the end of month M+1, if there are no unexpected issues, we will promote the latest stable preview
x.y.zto the official release and push it to all users in the stable channel. -
Maintenance Phase (Month M+2)
In month M+2, version branch
x.yenters the maintenance phase. We will release stable updates irregularly based on the number and severity of issues fixed, and push them to all users in the stable channel.At the end of month M+2, after the official release of the stable version corresponding to version branch
x.y♯, the lifecycle of version branchx.yends, the Git branchrelease/x.yis archived, and no longer receives updates.
Some special version branches are selected as Long-Term Support (LTS) branches. Their lifecycle does not end with the official release of the next version branch's stable version. We will continue to backport necessary patches to these branches for a longer period.
List of Long-Term Support Version Branches:
| Version Branch | Official Release Date | End of Lifecycle | Current Support Status | Notes |
|---|---|---|---|---|
| 3.6 | November 23, 2024 | TBD | Supported | This is the last version branch that supports running on Java 8. It is suitable for users on legacy platforms such as Windows XP. |