Skip to content

Commit 2caa27f

Browse files
committed
Add guidelines for adding a ChangeLog entry
1 parent bf65047 commit 2caa27f

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

CONTRIBUTING.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,28 @@ You can use `tool/hooks/lint-check.sh` as a git hook to run `jt lint fast` autom
3535

3636
## ChangeLog
3737

38-
When opening a Pull Request, please add a ChangeLog entry with the format:
38+
When opening a Pull Request, if the change is visible or meaningful to users (they are the intended readers of the ChangeLog),
39+
please add a ChangeLog entry with this format:
3940

4041
```
4142
* Description (#GitHub issue number if any, @author).
4243
```
4344

4445
See the [the ChangeLog](CHANGELOG.md) for examples.
4546

47+
This is the meaning of the sections in the ChangeLog:
48+
* New features: a big new feature or a new method provided by TruffleRuby which does not exist in CRuby (e.g. a new interop method).
49+
* Compatibility: any change which helps compatibility with CRuby, whether it is a new method or behavior closer to CRuby.
50+
* Bug fixes: only for fixes where the bug "silently" caused incorrect behavior.
51+
For example, if it raised an exception before, the wrong behavior was pretty clear, so it should be under `Compatibility` not `Bug fixes`.
52+
On the other hand, if e.g. `1 + 2` returned `4` that should be under `Bug fixes`.
53+
* Performance: something which improves performance (whether interpreter, warmup or peak).
54+
* Memory Footprint: something which improves memory footprint.
55+
* Changes: this means incompatible changes that users may need to adapt to.
56+
57+
Always keep an empty line around the various sections, like it is done for entries in older releases.
58+
The idea is only add lines, never remove lines (important since this file uses union merge).
59+
4660
GitHub might show on the Pull Request:
4761
```
4862
Conflicting files

0 commit comments

Comments
 (0)