Skip to content

Conversation

@jonathan343
Copy link
Contributor

Summary

Changelog entries are currently being managed manually for each smithy package. This PR includes the following changes to help automate this process and improve consistency:

  • Rename changelog files from CHANGES.md to CHANGELOG.md
  • Adds a new-entry.py script that creates a new change entry under a package's .changes/next-release directory.
  • Adds a new-release.py script that consolidates all next-release changes into a permanent .changes/x.y.z.json file.
  • Adds a render.py script that re-renders a package's CHANGELOG.md file using all the .changes/<version>.json entries.
  • Backfills all existing changelog entries for each package and re-renders each changelog file.

Workflow Eample

  1. Generate a new changelog entry:
./scripts/changelog/new-entry.py -p <package_name> -t <type> -d <description>

This generates a file like<package_name>/.changes/next-release/<unique_id>.json with the following content:

{
  "type": "<type>",
  "description": "<description>"
}
  1. Generate a new release
./scripts/changelog/new-release.py -p <package_name> -v <version>

This generates a new file like <package_name>/.changes/<version>.json with all changes to be released:

{
  "changes": [
    {
      "type": "<type>",
      "description": "<description>"
    },
    {
      "type": "<type>",
      "description": "<description>"
    }
  ]
}
  1. Render the new changelog:
./scripts/changelog/render.py -p <package_name> -o <path_to_changelog>

This command will re-render the changelog and replace the content at <path_to_changelog>


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jonathan343 jonathan343 requested a review from a team as a code owner September 4, 2025 17:48
Copy link
Contributor

@arandito arandito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Comments are mostly typos in the changelog and some minor nits.

SamRemis
SamRemis previously approved these changes Sep 11, 2025
@jonathan343 jonathan343 merged commit c973cbb into develop Sep 12, 2025
6 checks passed
@jonathan343 jonathan343 deleted the changelog-management branch September 12, 2025 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants