Keep A ChangeLog

Keywords: ChangeLog, Change Log, Release History

Summary

软件的修改历史是一个非常重要的文档,

Guiding Principles

  • Changelogs are for humans, not machines.

  • There should be an entry for every single version.

  • The same types of changes should be grouped.

  • Versions and sections should be linkable.

  • The latest version comes first.

  • The release date of each version is displayed.

  • Mention whether you follow Semantic Versioning.

Types of changes

  • Added for new features.

  • Changed for changes in existing functionality.

  • Deprecated for soon-to-be removed features.

  • Removed for now removed features.

  • Fixed for any bug fixes.

  • Security in case of vulnerabilities.

Example

Here’s an example CHANGELOG.rst

Changelog
==============================================================================
.. contents::
    :class: this-will-duplicate-information-and-it-is-still-useful-here
    :depth: 1
    :local:


TODO
------------------------------------------------------------------------------


Unreleased
------------------------------------------------------------------------------


[0.1.0] 2020-01-01
------------------------------------------------------------------------------
**Added**

- foo bar
- foo bar
- foo bar

**Changed**

- foo bar
- foo bar
- foo bar

**Deprecated**

- foo bar
- foo bar
- foo bar

**Removed**

- foo bar
- foo bar
- foo bar

**Fixed**

- foo bar
- foo bar
- foo bar

**Security**

- foo bar
- foo bar
- foo bar

Reference