From cec0f1dabc65fb34f590ff6ca3e6e90740820db8 Mon Sep 17 00:00:00 2001 From: Bjarn Bronsveld Date: Sat, 19 Sep 2026 20:50:15 +0200 Subject: [PATCH 1/2] ci: use SDK release bot for changelog --- .github/workflows/update-changelog.yml | 60 ++++++++++++++++++++------ 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 6d2df5a..10135c7 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -5,7 +5,7 @@ on: types: [released] permissions: - contents: write + contents: read jobs: update: @@ -13,20 +13,54 @@ jobs: timeout-minutes: 5 steps: - - name: Checkout code - uses: actions/checkout@v7 + - name: Create release bot token + id: release-bot + uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2 with: - ref: main + app-id: ${{ vars.LETTERMINT_RELEASE_APP_ID }} + private-key: ${{ secrets.LETTERMINT_RELEASE_APP_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + repositories: ${{ github.event.repository.name }} + permission-contents: write - - name: Update Changelog - uses: stefanzweifel/changelog-updater-action@v1 + - name: Checkout default branch + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: - latest-version: ${{ github.event.release.name }} - release-notes: ${{ github.event.release.body }} + ref: ${{ github.event.repository.default_branch }} + token: ${{ steps.release-bot.outputs.token }} - - name: Commit updated CHANGELOG - uses: stefanzweifel/git-auto-commit-action@v7 + - name: Update changelog from release notes + uses: stefanzweifel/changelog-updater-action@a938690fad7edf25368f37e43a1ed1b34303eb36 # v1 with: - branch: main - commit_message: Update CHANGELOG - file_pattern: CHANGELOG.md + latest-version: ${{ github.event.release.tag_name }} + release-notes: ${{ github.event.release.body }} + + - name: Verify changed paths + shell: bash + run: | + test -f CHANGELOG.md + test ! -L CHANGELOG.md + + mapfile -t changed_paths < <(git status --porcelain=v1 --untracked-files=all | cut -c4-) + for path in "${changed_paths[@]}"; do + if [[ "$path" != "CHANGELOG.md" ]]; then + echo "Unexpected changed path: $path" >&2 + exit 1 + fi + done + + - name: Commit updated changelog + shell: bash + env: + DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} + run: | + if git diff --quiet -- CHANGELOG.md; then + echo "CHANGELOG.md is already current." + exit 0 + fi + + git config user.name "lettermint-sdk-release-bot[bot]" + git config user.email "331370748+lettermint-sdk-release-bot[bot]@users.noreply.github.com" + git add -- CHANGELOG.md + git commit -m "Update CHANGELOG" + git push origin "HEAD:${DEFAULT_BRANCH}" From 0733f0916a83bb85d9913b7016872ea9d4514098 Mon Sep 17 00:00:00 2001 From: Bjarn Bronsveld Date: Sat, 19 Sep 2026 21:08:10 +0200 Subject: [PATCH 2/2] docs: backfill release changelog --- CHANGELOG.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e610a32..ac99276 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,71 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v2.6.0 - 2026-09-14 + +### What's Changed + +* feat: add typed message tags by @bjarn in https://github.com/lettermint/lettermint-python/pull/24 +* chore: add all team as code owners by @bjarn in https://github.com/lettermint/lettermint-python/pull/25 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v2.5.0...v2.6.0 + +## v2.5.0 - 2026-09-05 + +### What's Changed + +* feat(api): support quarantined inbound message processing by @bjarn in https://github.com/lettermint/lettermint-python/pull/22 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v2.4.0...v2.5.0 + +## v2.4.0 - 2026-08-27 + +### What's Changed + +* feat(api): support scheduled message delivery by @bjarn in https://github.com/lettermint/lettermint-python/pull/21 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v2.3.0...v2.4.0 + +## v2.3.0 - 2026-08-19 + +### What's Changed + +* feat(api): support message tags and disposable email suppression by @bjarn in https://github.com/lettermint/lettermint-python/pull/20 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v2.2.0...v2.3.0 + +## v2.2.0 - 2026-08-13 + +### What's Changed + +* build(deps): bump actions/setup-python from 6 to 7 by @dependabot[bot] in https://github.com/lettermint/lettermint-python/pull/18 +* feat(api): add team RBAC and complete sync and async email options by @bjarn in https://github.com/lettermint/lettermint-python/pull/19 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v2.1.0...v2.2.0 + +## v2.1.0 - 2026-07-07 + +### What's Changed + +* Delete .github/workflows/dependabot-auto-merge.yml by @bjarn in https://github.com/lettermint/lettermint-python/pull/13 +* chore: update README for v2 API by @bjarn in https://github.com/lettermint/lettermint-python/pull/14 +* build(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/lettermint/lettermint-python/pull/15 +* ci(release): validate Python release tags by @bjarn in https://github.com/lettermint/lettermint-python/pull/17 +* feat: add route settings, webhook auto-reply events, and blocked file types by @bjarn in https://github.com/lettermint/lettermint-python/pull/16 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v2.0.0...v2.1.0 + +## v2.0.0 - 2026-05-11 + +### What's Changed + +* chore: add Discord badge to README by @bjarn in https://github.com/lettermint/lettermint-python/pull/8 +* build(deps): bump dependabot/fetch-metadata from 2 to 3 by @dependabot[bot] in https://github.com/lettermint/lettermint-python/pull/11 +* build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in https://github.com/lettermint/lettermint-python/pull/9 +* feat: implement Team API API endpoints by @bjarn in https://github.com/lettermint/lettermint-python/pull/12 + +**Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v1.0.2...v2.0.0 + ## v1.0.2 - 2025-12-23 ### What's Changed @@ -30,6 +95,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 **Full Changelog**: https://github.com/lettermint/lettermint-python/compare/v1.0.0...v1.0.1 +## v1.0.0 - 2025-12-23 + +_This release is published under the MIT License._ + +- Initial release + ## [Unreleased] ## [0.1.0] - 2024-01-01