Release Notes Language Style Guide

A concise release note can clearly and accurately deliver to users how your PR can make a difference. Your release note written in a PR will be presented in docs.pingcap.com as a part of the TiDB documentation.

This release notes language style guide briefly explains what a quality release note looks like, provides examples, and aims to help you write quality release notes.

What a quality release note looks like

A high-quality release note has the following merits:

  • Clear in type

  • Adequate and clear in meaning

  • User perspective

A release note with a distinguishable type can help users quickly identify the nature or goal of your PR change. Other teams will also benefit from it.

Depending on what your PR changes, you can refer to one of the following release note types:

  • Compatibility change

  • Bug fix

  • Improvement or Feature enhancement

Compatibility change

A compatibility change note means:

  • Your PR adds, removes, or modifies one or more configuration items or system variables.

  • Your PR modifies the default value of a configuration item or system variable.

For this type of note, you should clearly and adequately state the following aspects:

  • The previous code behavior, configuration item, or default value.

  • The new code behavior, configuration item, or default value since the new version.

Note that the object of the change should be user-perceivable. If the changed configuration item or system variable is not supposed to be exposed to users, do not include it in your release notes.

Examples:

Not recommended

Clear in type

Adequate and clear in meaning

User perspective

Recommended

copr: cast invalid utf8 string to real bug fix

Previously, when TiDB converts an illegal UTF-8 string to a Real type, an error is reported directly. From now on, TiDB will process the conversion according to the legal UTF-8 prefix in the string.

sink: fix kafka max message size inaccurate issue

Change the default value of Kafka Sink max-message-bytes from 512 MB to 1 MB to prevent TiCDC from sending too large messages to Kafka clusters

cdc/sink: adjust kafka initialization logic

Change the default value of Kafka Sink partition-num to 3 so that TiCDC distributes messages across Kafka partitions more evenly

cmd: hide --sort-dir in changefeed command. (deprecated warning exists)

Deprecate --sort-dir in the cdc cli changefeed command. Instead, users can set --sort-dir in the cdc server command.

Bug fix

A bug fix note means that your PR fixes an existing bug or issue. This type of notes start with "Fix" followed by "the issue/bug".

Write your note clearly and adequately so that your target readers can get the main point of your bug fix. The bug or issue must be directly perceivable to the users, and you can refer to the associated GitHub issues.

In addition, it is recommended to highlight the bug trigger condition or the workaround if there is any.

Examples:

Not recommended

Clear in type

Adequate and clear in meaning

User perspective

Recommended

lock_resolver: avoid pessimistic transactions using resolveLocksForWrite

Fix the issue that committing pessimistic transactions might cause write conflict

retry when meeting stablish conn fails

Fix the issue of unexpected results when TiFlash fails to establish MPP connections

Fix the issue that greatest(datetime) union null returns empty string

Fix the issue that the query result might be wrong when NULL is in the UNION subquery

copr: make CM Sketch built with the same encoding as what TiDB assumes

Fix the issue of potential wrong analyzed statistics when tidb_analyze_version is set to 1

Improvement

An improvement note means that your PR improves stability or performance of the product, or enhances an existing feature. In addition to describing what your PR has changed, you should also mention how users can benefit from it.

This type of release note consists of two parts: what you have changed + the benefit of your change. This type of release notes often starts with "support", "increase", "improve", "optimize", etc.

Examples:

Not recommended

Clear in type

Adequate and clear in meaning

User perspective

Recommended

Not use the stale read request's start_ts to update max_ts to avoid commit request keep retrying

Improve commit performance in some edge cases

Restore many small tables would be faster.

Split and scatter Regions concurrently to improve restore speed

server: stop status server early when gracefully shutdown

Shut down the status server first to make sure that the client can correctly check the shutdown status

Better err msg when PD endpoint missing certificate

Improve the error message when connecting to a TLS protected PD endpoint without a certificate

Last updated