-
Notifications
You must be signed in to change notification settings - Fork 828
添加 ReleaseSchedule.md #4606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
添加 ReleaseSchedule.md #4606
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
e2f93da
添加 ReleaseSchedule.md
Glavo acd90b0
update
Glavo 7276d0d
update
Glavo 9114e2f
update
Glavo 484a057
更新 ReleaseSchedule_zh.md
Glavo 16a302c
update
Glavo 7c019f4
update
Glavo 6431b79
update
Glavo 33d14a8
update
Glavo 73983fd
update
Glavo b5dc320
update
Glavo 57dd54e
update
Glavo 7bfdf32
update
Glavo e9f571a
update
Glavo 0f64bb2
update
Glavo 21c3719
update
Glavo 0dd2b10
update
Glavo 1156fb7
update
Glavo f4f6281
update
Glavo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,121 @@ | ||
| # Hello Minecraft! Launcher Release Schedule | ||
|
|
||
| <!-- #BEGIN LANGUAGE_SWITCHER --> | ||
| **English** | [中文](ReleaseSchedule_zh.md) | ||
| <!-- #END LANGUAGE_SWITCHER --> | ||
|
|
||
| This document describes the HMCL version release schedule starting from October 2025. | ||
|
|
||
| ## Versioning Rules | ||
|
|
||
| ### Version Branches | ||
|
|
||
| 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. | ||
|
|
||
| ### Version Types | ||
|
|
||
| HMCL has two types of versions: **Stable** and **Development**. | ||
|
|
||
| #### Stable Version | ||
|
|
||
| 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. | ||
|
|
||
| #### Development Version | ||
|
|
||
| The HMCL development version is suitable for users who want to experience new features first. | ||
| The development version includes the latest features and bug fixes, | ||
| but may also have more issues due to insufficient testing. | ||
|
|
||
| The development 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. | ||
|
|
||
| ## Release Channels | ||
|
|
||
| HMCL has two main release channels: **Stable Channel** and **Development Channel**. | ||
| They are used to release the HMCL stable and development versions, respectively. | ||
|
|
||
| To test HMCL versions before official release, we will push updates to some users in advance. | ||
| Users can enable the "Preview HMCL versions in advance" option on the "Settings > General" page to receive preview updates from the corresponding channel. | ||
|
|
||
| ## Release Model | ||
|
|
||
| ```mermaid | ||
| gantt | ||
| title HMCL Version Lifecycle (Example) | ||
| section 3.9 | ||
| Development Phase: a1, 2025-11-15, 30d | ||
| Preview Phase: a2, after a1, 16d | ||
| Stable Release: milestone, after a2, 0d | ||
| Maintenance Phase: a3, after a2, 31d | ||
| section 3.10 | ||
| Development Phase: b1, after a1, 31d | ||
| Preview Phase: b2, after b1, 16d | ||
| Stable Release: milestone, after b2, 0d | ||
| Maintenance Phase: b3, after b2, 31d | ||
| section 3.11 | ||
| Development Phase: c1, after b1, 31d | ||
| Preview Phase: c2, after c1, 16d | ||
| Stable Release: milestone, after c2, 0d | ||
| Maintenance Phase: c3, after c2, 30d | ||
| ``` | ||
|
|
||
| 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: | ||
|
|
||
| 1. **Development Phase** (Mid-month M ~ Mid-month M+1) | ||
|
|
||
| During this phase, the version is developed in the Git branch `main`. | ||
|
|
||
| Typically, we release a development version `x.y.0.<build number>` based on this branch every week, | ||
| which includes all features and bug fixes merged during the week. | ||
|
|
||
| 2. **Preview Phase** (Mid-month M+1 ~ End of month M+1) | ||
|
|
||
| In mid-month M+1, we fork the `main` branch to create the `release/x.y` branch, | ||
| which corresponds to the fixed version branch `x.y`. | ||
|
|
||
| At the same time, the version branch corresponding to the `main` branch is incremented to `x.y♯`, | ||
| entering the development 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.1` and | ||
| 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.y` will remain in preview status. | ||
| If issues are found during the preview, we will release and push new stable preview versions (such as `x.y.2`, `x.y.3`, etc.) after fixing them. | ||
|
|
||
| 3. **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.z` to the official release and push it to all users in the stable channel. | ||
|
|
||
| 4. **Maintenance Phase** (Month M+2) | ||
|
|
||
| In month M+2, version branch `x.y` enters 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 branch `x.y` ends, the Git branch `release/x.y` is | ||
| archived, and no longer receives updates. | ||
|
|
||
| ## Long-Term Support Version Branches | ||
|
|
||
| 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.<br>It is suitable for users on legacy platforms such as Windows XP. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,106 @@ | ||
| # Hello Minecraft! Launcher 发布计划 | ||
|
|
||
| <!-- #BEGIN LANGUAGE_SWITCHER --> | ||
| [English](ReleaseSchedule.md) | **中文** | ||
| <!-- #END LANGUAGE_SWITCHER --> | ||
|
|
||
| 本文介绍了自 2025 年 10 月起的 HMCL 版本发布计划。 | ||
|
|
||
| ## 版本规则 | ||
|
|
||
| ### 版本分支 | ||
|
|
||
| HMCL 存在多个**版本分支**,每个版本分支都以 `<主版本号>.<次版本号>` 的形式命名 (例如 `3.7`)。 | ||
|
|
||
| 其中,主版本号仅在 HMCL 发生重大架构变化时递增,次版本号会根据发布计划定时递增。 | ||
|
|
||
| ### 版本类型 | ||
|
|
||
| HMCL 具有两种版本类型: **稳定版**和**开发版**。 | ||
|
|
||
| #### 稳定版 | ||
|
|
||
| HMCL 稳定版适合优先追求软件稳定性的用户使用。新功能在经过充分测试后才会被合并到稳定版中。 | ||
|
|
||
| HMCL 稳定版版本号遵循 `<版本分支>.<构建号>` 的命名规则 (例如 `3.7.1`)。其中构建号对每个版本分支独立计算。 | ||
|
|
||
| #### 开发版 | ||
|
|
||
| HMCL 开发版适合希望优先体验新功能的用户使用。开发版会包含最新功能和 BUG 修复,但因为未经过充分测试,也可能会存在更多问题。 | ||
|
|
||
| HMCL 开发版遵循 `<版本分支>.0.<构建号>` 的命名规则 (例如 `3.7.0.300`)。其中构建号对所有版本分支全局共享。 | ||
|
|
||
| ## 发布通道 | ||
|
|
||
| HMCL 具有两个主要发布通道:**稳定版通道**和**开发版通道**。 | ||
| 它们分别用于发布 HMCL 稳定版和开发版。 | ||
|
|
||
| 为了在正式发布前测试 HMCL 版本,我们会向部分用户优先推送更新。 | ||
| 用户可以在「设置 > 通用」页面中打开「提前预览 HMCL 版本」选项以接收到对应通道的预览更新。 | ||
|
|
||
| ## 发布模型 | ||
|
|
||
| ```mermaid | ||
| gantt | ||
| title HMCL 版本生命周期 (示例) | ||
| section 3.9 | ||
| 开发阶段: a1, 2025-11-15, 30d | ||
| 预览阶段: a2, after a1, 16d | ||
| 稳定版发布: milestone, after a2, 0d | ||
| 维护阶段: a3, after a2, 31d | ||
| section 3.10 | ||
| 开发阶段: b1, after a1, 31d | ||
| 预览阶段: b2, after b1, 16d | ||
| 稳定版发布: milestone, after b2, 0d | ||
| 维护阶段: b3, after b2, 31d | ||
| section 3.11 | ||
| 开发阶段: c1, after b1, 31d | ||
| 预览阶段: c2, after c1, 16d | ||
| 稳定版发布: milestone, after c2, 0d | ||
| 维护阶段: c3, after c2, 30d | ||
| ``` | ||
|
|
||
| 通常情况下,我们每个月发布一个版本分支,每个版本分支 `x.y` 生命周期为两个半月。 | ||
|
|
||
| 每个版本分支生命周期分为以下阶段: | ||
|
|
||
| 1. **开发阶段** (M 月中旬 ~ M+1 月中旬) | ||
|
|
||
| 在此阶段,该版本在 Git 分支 `main` 中进行开发。 | ||
|
|
||
| 通常情况下,我们每周都会基于该分支发布一个开发版 `x.y.0.<构建号>`,其中包含当周合并的所有功能和错误修复。 | ||
|
|
||
| 2. **预览阶段** (M+1 月中旬 ~ M+1 月底) | ||
|
|
||
| 在 M+1 月中旬,我们会基于 Git 分支 `main` 分叉出分支 `release/x.y`,其对应的版本分支固定为 `x.y`。 | ||
|
|
||
| 与此同时,Git 分支 `main` 对应的版本分支递增至 `x.y♯`,进入下一个版本分支的开发版阶段。 | ||
|
|
||
| 在完成分叉后,该版本分支不会新增更多功能,只会进行错误修复和数据更新。 | ||
|
|
||
| 我们会在数日内发布稳定版预览 `x.y.1`,并将其推送给稳定版通道且接受预览更新的用户。 | ||
|
|
||
| 在 M+1 月底前,版本分支 `x.y` 对应的稳定版将一直保持预览状态。 | ||
| 若在预览过程中发现问题,我们会在修复后发布并推送新稳定版预览 (如 `x.y.2`、`x.y.3` 等)。 | ||
|
|
||
| 3. **稳定版发布** (M+1 月底) | ||
|
|
||
| 在 M+1 月底,如果没有意外情况,我们会将最新的稳定版预览 `x.y.z` 提升为正式版本,推送给稳定版通道的全部用户。 | ||
|
|
||
| 4. **维护阶段** (M+2 月) | ||
|
|
||
| 在 M+2 月,版本分支 `x.y` 进入维护阶段。我们会根据修复的问题数量和严重程度不定期地发布稳定版更新,并推送给稳定版通道的全部用户。 | ||
|
|
||
| 在 M+2 月底,版本分支 `x.y♯` 对应的稳定版正式发布后,版本分支 `x.y` 生命周期结束,Git 分支 `release/x.y` 被存档,不再接受更新。 | ||
|
|
||
| ## 长期支持版本分支 | ||
|
|
||
| 部分特殊版本分支会被我们选择为长期支持 (LTS) 版本分支, | ||
| 其生命周期不会因为下一个版本分支对应的稳定版正式发布而结束。 | ||
| 我们会在更长的时间中继续为这些分支移植必要的补丁。 | ||
|
|
||
| 长期支持版本分支列表: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 需要在表格内简述长期支持的理由吗?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
加上应该比较好,我明天改吧。 |
||
|
|
||
| | 版本分支 | 正式发布日期 | 生命周期结束日期 | 当前受支持状态 | 备注 | | ||
| |------|:----------------:|:--------:|:-------:|:---------------------------------------------------------| | ||
| | 3.6 | 2024 年 11 月 23 日 | 未定 | 支持中 | 这是最后一个支持使用 Java 8 运行的版本分支,<br>该版本分支适用于 Windows XP 等旧平台用户 | | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
此处的表达可能会让开发者误认为稳定版和开发版都有预览渠道,而实际上不存在“开发版预览”。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
开发版确实有预览渠道,只是平常不会使用。未来可能用于做灰度测试。