diff options
Diffstat (limited to 'quip-0017-Change-log-creation.rst')
-rw-r--r-- | quip-0017-Change-log-creation.rst | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/quip-0017-Change-log-creation.rst b/quip-0017-Change-log-creation.rst new file mode 100644 index 0000000..79fcd95 --- /dev/null +++ b/quip-0017-Change-log-creation.rst @@ -0,0 +1,80 @@ +QUIP: 17 +Title: Change log creation +Author: Mitch Curtis +Status: Active +Type: Process +Created: 2020-08-25 +Post-History: https://lists.qt-project.org/pipermail/development/2019-November/037927.html + +Overview +======== + +The Qt framework uses change logs as a means of informing users about new +features, important behavior changes, and bug fixes. Before each release, a +change log file is generated from the section of git commit messages that start +with the [ChangeLog] keyword. + +Content +======= + +Do include: +- Noteworthy features +- Significant changes +- Changes that affect many users +- Changes that affect compatibility +- Changes to information about third-party code (see QUIP-4) + +Do not include: + +- Fixes in tests +- Documentation fixes +- Pure code cleanup or refactoring +- Fixes for regressions introduced in not-yet-released commits +- Anything that is not relevant to users + +Format +====== + +- A [ChangeLog] entry may span multiple lines and ends with an empty line. +- You may add more than one [ChangeLog] entry, each in a separate paragraph, + if there are several ways the change affects users. +- Each entry starts with a sequence of tags, each in square brackets, the + first of which is [ChangeLog]. + + - If the Git repository contains multiple modules, use the module name as a + tag to indicate the area of the change, e.g. [QtCore]. + - Optionally specify a class or subtopic as an additional tag, e.g.: + [QtNetwork][QSslSocket] + - Other common tags are: + + - [General] + - [Important Behavior Changes] + - [Potentially Source-Incompatible Changes] + - [Deprecation Notices] + - [Platform Specific Changes] + - [Windows] + - [macOS] + - [Linux/XCB] + - [Third-Party Code] +- After the tags, describe how the change impacts users of the relevant + component. + + - Try to integrate the ChangeLog entry into the surrounding commit message to + avoid redundancy. + - If the change resolves a security issue, summarise the issue and mention any + relevant `CVE <https://cve.mitre.org>`_ or kindred identifiers. + - The description should use either simple past ("Fixed …") or be explicit + about referring to the current state ("… does now …"). + - Make sure the entry is reasonably self-contained. If you fail to formulate a + meaningful description, it's probably not useful information to start with. +- In summary, the entry should look like this: :: + + [ChangeLog][module][class/topic] description of the really important change + that was just made (on several lines). + +Tools +===== + +The createchangelog tool in the qtqa.git module is currently the most +feature-complete tool for change log creation. Documentation for it +can be found in its README under src/createchangelog. |