or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Release Process Proposal
This document proposes a small tweak to kickstart writing the release notes as part of the normal development process, instead of waiting to start writing until the last second as we do now.
The key points of the proposal are as follows:
We add a
bevy/release_notes
directory to the main repo. Files within this folder are namedbevy/release_notes/{feature_name}.md
. Each file will become a single entry in the blog post for the next release (just as the release-notes files in the website repo do now).The release note files in the main repo are considered temporary drafts and apply only to the version currently under development. During the release process, they are moved to the website repo and finalized (we will say more on this later).
Each release note file will contain both content and metadata. The exact format is up for discussion. The list of metadata should include at minimum the list of PRs that contributed to the feature, and set of all authors and collaborators. This metadata will be manually curated rather than auto-generated (note: in both previous releases we extracted this information automatically and later discovered issues).
When a maintainer decides that a PR should be highlighted in the blog post, they add the
M-Release-Note
tag to it. This tag indicates that the PR author should append their name and the PR number to the metadata for relevant the feature file (creating it if it does not exist). To ensure the PR does not get lost, updating the metadata should be mandatory, and failing to do so should prevent merging. Maintainers can always do this step themselves by commiting to the branch before merging.The
M-Release-Note
can also be added to issues to indicate PRs that implement/close those issues should have the tag applied. Most issues and PRs do not need to be highlighted in the blog post, and should not be tagged withM-Release-Note
. PRs without the tag shouldn't touch the release notes directory.When a PR has the
M-Release-Note
tag, maintainers can request content be added to a release note as part of normal PR review. They may choose to accept a simpleTODO
line that expresses the author's intentions, but they may also request more detailed explanations. There is concern that, if content is mandatory, it will be a burden on some highly active contributors. We trust the maintainers to make the right call, but suggest as general guidelines:TODO
line is acceptable with maintainer ascent.Release notes in the main directory are only allowed to contain text. Images and videos should not be added. If required, authors can add files to the PR description and then copy the links into the release note.
Over the course of the development cycle, multiple feature files will be created within the
release_notes
directory on the main repo. When the development cycle ends and we begin the release candidate process, the maintainers will open two PRs: One to delete all the release notes from the main repo, and second to add them back to therelease-content/{version}/release-notes
directory of the website repo. The latter PR may be left open for some time to allow people to contribute suggestions and comments through the github review features. From there, managing the editing process is left to the maintainers. Additional images and videos can be added to the website repo at this stage.The end effect is that "pre-release" work can happen on the release notes in the main repo as part of normal PRs, but we can continue use the current process once the release candidate phase commences. The hope is that the low friction of doing a bit of extra work with their normal PRs will encourage people to pitch in early and often.
Open Questions
Evaluation Criteria
We want this process to spread out the load of writing and editing the release notes to the broader community. So the questions we should ask are: