Changelog Fragments
This directory contains changelog fragments that will be compiled into the main CHANGELOG.md at release time using towncrier.
For Contributors: Adding a Changelog Entry
When you make a change that should be documented in the changelog, create a new file in this directory.
Creating a Fragment
Create a file in this directory with this naming pattern:
changelog/<PR_number>.<type>.md
Choose the appropriate type:
added.md- New featureschanged.md- Changes in existing functionalitydeprecated.md- Soon-to-be removed featuresremoved.md- Removed featuresfixed.md- Bug fixessecurity.md- Security fixes
Write your changelog entry as a Markdown bullet point. Include the - at the start:
Example files:
changelog/1234.added.md:
- Added support for Anthropic Claude 3.5 Sonnet with improved streaming performance.
changelog/5678.fixed.md:
- Fixed an issue where audio frames were dropped during high-load scenarios.
For entries with nested bullets:
changelog/1234.changed.md:
- Updated service configuration:
- Changed default timeout to 30 seconds
- Added retry logic for failed connections
- Improved error messages
Multiple Changes in One PR
Different types of changes: Create separate fragment files for each type:
changelog/1234.added.md
changelog/1234.fixed.md
Multiple changes of the same type: Create numbered fragment files:
changelog/1234.changed.md
changelog/1234.changed.2.md
changelog/1234.changed.3.md
Related changes: Use nested bullets in a single fragment:
- Updated service configuration:
- Changed default timeout to 30 seconds
- Added retry logic for failed connections
Rule of thumb: One logical change per fragment file. If changes are unrelated, use separate files.
Preview Your Changes
To see what your changelog entry will look like:
towncrier build --draft --version Unreleased
This won't modify any files, just show you a preview.
When to Skip Changelog Entries
You can skip adding a changelog entry for:
- Documentation-only changes
- Internal refactoring with no user-facing impact
- Test-only changes
- CI/build configuration changes
If you're unsure whether your change needs a changelog entry, ask in your PR!
For Maintainers: Releasing
Automated Release
The changelog is automatically generated via GitHub Actions. When you're ready to release:
-
Trigger the workflow from GitHub Actions:
- Go to Actions → "Generate Changelog for Release"
- Click "Run workflow"
- Enter the version (e.g.,
0.0.97) - Enter the release date (e.g.,
2025-12-04)
-
Review the PR that gets created automatically
-
Merge the PR to update the changelog