Copy the changelog entry assembling script from development
This commit is the combined cherry-pick of the following commits:
dba4de0a1294d14840ccfc812799ef6b63725935
b695d5e30a87a8d574ad21393a037710396f27d3
7c3f7cdeae991733573ed2ab81a213f0784cd9cb
4d977a4f4011be14b52330b7224d5b8cf88dc85a
e248e83f9f23ffe07bc54579522bf3182018b68f
eebf24f7a8d138f656b8cd1f724bfc73d2c4f033
6e97c439592b51c4277328a3ef0e0f61ddccc059
c68c7c8864fd5eaea891712c5a3455c87aae4d40
ac0f0860f17b319c8dd36052f8df5bda075274af
42f384c186db02c0a96b9a0ae5c95df6eae92726
98a53aa3990a6a7730bb15d27e215d3163485ac2
13dc6342822bd4158f8dc4ed30bb2f88af2de356
7fa3eb7d44bd01beaeff145bc1f00a5af37e2751
28af958ea4299eea9e0e3a112f04fcf7e8fc7049
8f46bbf46f3387fa93dd69040d039ad5cdc1ed4b
27a1facd486dc178a1c2e597ccb006b7ccc30258
afc9db8bb71bd76dce45f5246f9ea5b52d59a700
a26079613a0fb75ba616657f9e15a73912a056ef
da14e8225e48250375c2f9aa07d195f7f5e9a5b8
37d670a1e17f86b3411fdf15c643b4e1caf7a503
974349d40e69b4e93102abebc79dd54e7beeb4bc
d8b6c77388f2c6756aa16bfe3932d956b4d1d2d1
2b242495e12ffb9010c177fa2d62fc01854e70b8
6e91009cfe0bf578ee6afb0cba09f188a238f4af
566407d6f68e906946ff80648c2bde9024bda192
8c4a84c5ded7bb19a5a607591b38971ed79b0a11
5e39c9e94f62d924ec94f8887baa088f05930b07
974232f045781a17b494f6993b2b02e150476653
40b3f411ecb16522beb073e1131f8e727be29ea4
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/ChangeLog.d/00README.md b/ChangeLog.d/00README.md
new file mode 100644
index 0000000..b559e23
--- /dev/null
+++ b/ChangeLog.d/00README.md
@@ -0,0 +1,67 @@
+# Pending changelog entry directory
+
+This directory contains changelog entries that have not yet been merged
+to the changelog file ([`../ChangeLog`](../ChangeLog)).
+
+## Changelog entry file format
+
+A changelog entry file must have the extension `*.txt` and must have the
+following format:
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Security
+ * Change description.
+ * Another change description.
+
+Features
+ * Yet another change description. This is a long change description that
+ spans multiple lines.
+ * Yet again another change description.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The permitted changelog entry categories are as follows:
+<!-- Keep this synchronized with STANDARD_CATEGORIES in assemble_changelog.py! -->
+
+ API changes
+ Default behavior changes
+ Requirement changes
+ New deprecations
+ Removals
+ Features
+ Security
+ Bugfix
+ Changes
+
+Use “Changes” for anything that doesn't fit in the other categories, such as
+performance, documentation and test improvements.
+
+## How to write a changelog entry
+
+Each entry starts with three spaces, an asterisk and a space. Continuation
+lines start with 5 spaces. Lines wrap at 79 characters.
+
+Write full English sentences with proper capitalization and punctuation. Use
+the present tense. Use the imperative where applicable. For example: “Fix a
+bug in mbedtls_xxx() ….”
+
+Include GitHub issue numbers where relevant. Use the format “#1234” for an
+Mbed TLS issue. Add other external references such as CVE numbers where
+applicable.
+
+Credit the author of the contribution if the contribution is not a member of
+the Mbed TLS development team. Also credit bug reporters where applicable.
+
+**Explain why, not how**. Remember that the audience is the users of the
+library, not its developers. In particular, for a bug fix, explain the
+consequences of the bug, not how the bug was fixed. For a new feature, explain
+why one might be interested in the feature. For an API change or a deprecation,
+explain how to update existing applications.
+
+See [existing entries](../ChangeLog) for examples.
+
+## How `ChangeLog` is updated
+
+Run [`../scripts/assemble_changelog.py`](../scripts/assemble_changelog.py)
+from a Git working copy
+to move the entries from files in `ChangeLog.d` to the main `ChangeLog` file.