The changelog is generated from PR descriptions. The following rules apply:
- All PRs that should go into the changelog must be labeled with either
Changelog: Feature
orChangelog: Bugfix
. Everything else is ignored. - Label the PR with
Product: Highcharts Stock
,Product: Highcharts Maps
etc. for specific products. PRs with no product tags go into the Highcharts changelog. - Only the first paragraph of the description is used. Anything below the first
line break
\n
is removed (except upgrade notes). - Upgrade notes are marked with
#### Upgrade note
, then the next paragraph, or the subsequent items of a bullet list after this will be parsed as upgrade notes into the changelog. - For consistency, bug fixes should start with "Fixed #xxxx, [some description...]". Lower case after the comma.
- Since the changelog refers to changes that were done by a past release, write in past tense.
- Describe bug fixes in a way that users recognize and can relate to their issue. It should describe the bug it fixes, rather than (or in addition to) describing the internals of how it was fixed.
- Names of API members should be written with code formatting.
- Bad: Fixed issue with dataGrouping.
- Good: Fixed issue with
dataGrouping
. - Good: Fixed issue with data grouping.
-
Run the script that copies PR descriptions since the last release into markdown files for each product. When including feature branches (typically on minor/major releases), remember to add the
branches
argument:--branches master,v11
.node changelog/generate --review
If a
tree.json
error occurs, runnpx gulp jsdoc-options
and try the step above again. -
Review the contents of the generated HTML page in a browser, and make edits upstream in the PR descriptions.
-
Generate again, this time without the
review
flag. Remember thebranches
argument if applicable.node changelog/generate
-
Optionally, make edits to the generated markdown files that could not be done upstream.
-
Run the script that assembles the content of all markdown files in to a HTML file and uploads it to S3, where the website will pick it up. If testing, run
node changelog/generate-html
first.node changelog/upload