← Workflows

阅读中文版本

Release Announcement Drafting Workflow

Draft a release announcement that distinguishes user impact from internal detail and links to the changelog.

beginner~40 minreleasecommunicationdocs

Objective

Communicate a release clearly to users and stakeholders with accurate, non-hyped content.

Environment

  • A changelog
  • An announcement channel
  • Reviewers for accuracy

Steps

1. Separate user impact from internals

Extract only changes users can observe and group them by theme.

Expected state: The draft leads with what users will notice.

2. State breaking changes plainly

Describe any required user action with a migration path and deadline.

Expected state: Breaking changes are unmissable with actions and dates.

3. Review for accuracy

Have a reviewer confirm each claim against the changelog and shipped code.

Expected state: No announcement claim overstates what shipped.

4. Publish and link

Publish the announcement with links to the changelog and docs.

Expected state: Readers can reach the details from the announcement.

Decision points

Announce internally first or externally?

  • Internal then external
  • External only

Brief internal support first so they can handle questions.

Detail level?

  • User-facing summary
  • Full technical detail

Lead with a user-facing summary and link to full detail.

Expected outcome

Users and stakeholders receive an accurate announcement that highlights what affects them and how to act.

Verification

Confirm each claim matches the changelog, breaking changes list actions and dates, and links resolve.

Cleanup

Archive the announcement with the release and update the docs it references.

Overview

Communicate a release clearly to users and stakeholders with accurate, non-hyped content.

This workflow is reusable across teams and environments; adapt the commands to your tooling while keeping the sequence and checkpoints intact.

Environment and prerequisites

  • A changelog
  • An announcement channel
  • Reviewers for accuracy

Procedure

1. Separate user impact from internals

Extract only changes users can observe and group them by theme.

Expected state: The draft leads with what users will notice.

2. State breaking changes plainly

Describe any required user action with a migration path and deadline.

Expected state: Breaking changes are unmissable with actions and dates.

3. Review for accuracy

Have a reviewer confirm each claim against the changelog and shipped code.

Expected state: No announcement claim overstates what shipped.

Publish the announcement with links to the changelog and docs.

Expected state: Readers can reach the details from the announcement.

# keep the announcement claim traceable to the changelog entry
 grep -n 'deprecat' CHANGELOG.md

Verification

Confirm each claim matches the changelog, breaking changes list actions and dates, and links resolve.

Decision points

Announce internally first or externally?

  • Internal then external
  • External only

Recommendation: Brief internal support first so they can handle questions.

Detail level?

  • User-facing summary
  • Full technical detail

Recommendation: Lead with a user-facing summary and link to full detail.

Common failures

  • Hyping internal changes confuses users.
  • Burying breaking changes causes support spikes.
  • Unverified claims damage trust.