From 8390268543ff6aa08049a203835c9276d43d009a Mon Sep 17 00:00:00 2001 From: Bjarn Bronsveld Date: Sat, 10 Oct 2026 20:45:53 +0200 Subject: [PATCH 1/2] ci: stop opening a package version pull request after a release The release run failed on every release at "Open package version pull request": GitHub Actions may not create pull requests in this repository. The step is not needed. The release job sets the package version from the tag before it builds and publishes, so the published package and its User-Agent are correct whatever package.json on main says. The changelog job now only updates CHANGELOG.md. --- .github/workflows/release.yaml | 3 +- .github/workflows/update-changelog.yml | 44 +++++--------------------- 2 files changed, 9 insertions(+), 38 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2cb4970..9dc827c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -79,8 +79,7 @@ jobs: changelog: needs: release permissions: - contents: write - pull-requests: write + contents: read uses: ./.github/workflows/update-changelog.yml secrets: release_app_private_key: ${{ secrets.LETTERMINT_RELEASE_APP_PRIVATE_KEY }} diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 11ef51b..ee8ac26 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -1,4 +1,4 @@ -name: Update Changelog and Version +name: Update Changelog on: workflow_call: @@ -7,8 +7,7 @@ on: required: true permissions: - contents: write - pull-requests: write + contents: read jobs: update: @@ -32,16 +31,6 @@ jobs: ref: ${{ github.event.repository.default_branch }} token: ${{ steps.release-bot.outputs.token }} - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 24 - - - name: Update package version - env: - RELEASE_TAG: ${{ github.event.release.tag_name }} - run: npm version "${RELEASE_TAG#v}" --no-git-tag-version --allow-same-version --ignore-scripts - - name: Update changelog from release notes uses: stefanzweifel/changelog-updater-action@a938690fad7edf25368f37e43a1ed1b34303eb36 # v1 with: @@ -51,20 +40,15 @@ jobs: - name: Verify changed paths shell: bash run: | - for path in CHANGELOG.md package.json package-lock.json; do - test -f "$path" - test ! -L "$path" - done + 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 - case "$path" in - CHANGELOG.md|package.json|package-lock.json) ;; - *) - echo "Unexpected changed path: $path" >&2 - exit 1 - ;; - esac + if [[ "$path" != "CHANGELOG.md" ]]; then + echo "Unexpected changed path: $path" >&2 + exit 1 + fi done - name: Commit updated changelog @@ -86,15 +70,3 @@ jobs: git add -- CHANGELOG.md git commit -m "Update CHANGELOG" git push origin "HEAD:${DEFAULT_BRANCH}" - - - name: Open package version pull request - uses: peter-evans/create-pull-request@v8 - with: - token: ${{ github.token }} - branch: automation/update-changelog - commit-message: Update package version - title: Update package version - body: Update package.json and package-lock.json for the published release. - add-paths: | - package.json - package-lock.json From 1607c670ae54401ff1cd41c6d08102f3763db262 Mon Sep 17 00:00:00 2001 From: Bjarn Bronsveld Date: Sat, 10 Oct 2026 20:45:53 +0200 Subject: [PATCH 2/2] docs: put the changelog in release order The changelog updater writes a new entry above the first level-2 heading. Older minor releases used level-1 headings, so the 3.0.0 and 2.8.0 entries landed below 2.5.0. Every release heading is now level 2, newest first, under a Changelog title. The entry text is unchanged; the 2.8.0 compare link now starts at v2.7.0. --- CHANGELOG.md | 66 +++++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdff7dc..75c2070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,4 @@ -# [2.7.0](https://github.com/lettermint/lettermint-node/compare/v2.6.0...v2.7.0) (2026-09-14) - -### What's Changed - -* ci: publish Node SDK from GitHub releases by @bjarn in https://github.com/lettermint/lettermint-node/pull/27 -* feat: add typed message tags by @bjarn in https://github.com/lettermint/lettermint-node/pull/28 -* chore: add all team as code owners by @bjarn in https://github.com/lettermint/lettermint-node/pull/29 - -**Full Changelog**: https://github.com/lettermint/lettermint-node/compare/v2.6.0...v2.7.0 - -# [2.6.0](https://github.com/lettermint/lettermint-node/compare/v2.5.0...v2.6.0) (2026-09-07) - -### Features - -* add built-in webhook signature verification ([f256598](https://github.com/lettermint/lettermint-node/commit/f2565988da01c4c53873463de8581957667d0847)) - -# [2.5.0](https://github.com/lettermint/lettermint-node/compare/v2.4.1...v2.5.0) (2026-09-05) - -### Features - -* **api:** support quarantined inbound message processing ([0eac95c](https://github.com/lettermint/lettermint-node/commit/0eac95c6e1adfc059f6010f429a0aae665aa907f)) +# Changelog ## [v3.0.0](https://github.com/lettermint/lettermint-node/compare/v2.8.0...v3.0.0) - 2026-10-04 @@ -29,7 +9,7 @@ **Full Changelog**: https://github.com/lettermint/lettermint-node/compare/v2.8.0...v3.0.0 -## [v2.8.0](https://github.com/lettermint/lettermint-node/compare/v2.4.1...v2.8.0) - 2026-10-01 +## [v2.8.0](https://github.com/lettermint/lettermint-node/compare/v2.7.0...v2.8.0) - 2026-10-01 ### What's Changed @@ -41,37 +21,59 @@ **Full Changelog**: https://github.com/lettermint/lettermint-node/compare/v2.7.0...v2.8.0 +## [2.7.0](https://github.com/lettermint/lettermint-node/compare/v2.6.0...v2.7.0) (2026-09-14) + +### What's Changed + +* ci: publish Node SDK from GitHub releases by @bjarn in https://github.com/lettermint/lettermint-node/pull/27 +* feat: add typed message tags by @bjarn in https://github.com/lettermint/lettermint-node/pull/28 +* chore: add all team as code owners by @bjarn in https://github.com/lettermint/lettermint-node/pull/29 + +**Full Changelog**: https://github.com/lettermint/lettermint-node/compare/v2.6.0...v2.7.0 + +## [2.6.0](https://github.com/lettermint/lettermint-node/compare/v2.5.0...v2.6.0) (2026-09-07) + +### Features + +* add built-in webhook signature verification ([f256598](https://github.com/lettermint/lettermint-node/commit/f2565988da01c4c53873463de8581957667d0847)) + +## [2.5.0](https://github.com/lettermint/lettermint-node/compare/v2.4.1...v2.5.0) (2026-09-05) + +### Features + +* **api:** support quarantined inbound message processing ([0eac95c](https://github.com/lettermint/lettermint-node/commit/0eac95c6e1adfc059f6010f429a0aae665aa907f)) + ## [2.4.1](https://github.com/lettermint/lettermint-node/compare/v2.4.0...v2.4.1) (2026-08-27) ### Bug Fixes * expose ESM build via package.json exports ([1eae85e](https://github.com/lettermint/lettermint-node/commit/1eae85efbe98585eea785abcde2d6b37fdf3117b)), closes [#23](https://github.com/lettermint/lettermint-node/issues/23) -# [2.4.0](https://github.com/lettermint/lettermint-node/compare/v2.3.0...v2.4.0) (2026-08-27) +## [2.4.0](https://github.com/lettermint/lettermint-node/compare/v2.3.0...v2.4.0) (2026-08-27) ### Features * **api:** support scheduled message delivery ([#22](https://github.com/lettermint/lettermint-node/issues/22)) ([c0dd2bc](https://github.com/lettermint/lettermint-node/commit/c0dd2bceeaab05a9a3fc12fdf9f86e6467dd8888)) -# [2.3.0](https://github.com/lettermint/lettermint-node/compare/v2.2.0...v2.3.0) (2026-08-19) +## [2.3.0](https://github.com/lettermint/lettermint-node/compare/v2.2.0...v2.3.0) (2026-08-19) ### Features * **api:** support message tags and disposable email suppression ([#21](https://github.com/lettermint/lettermint-node/issues/21)) ([0dae037](https://github.com/lettermint/lettermint-node/commit/0dae037c56cfe4d9d53720e51cbecbfd2eb56e20)) -# [2.2.0](https://github.com/lettermint/lettermint-node/compare/v2.1.0...v2.2.0) (2026-08-13) +## [2.2.0](https://github.com/lettermint/lettermint-node/compare/v2.1.0...v2.2.0) (2026-08-13) ### Features * **email:** add TLS settings, attachment MIME types, and batch idempotency ([#19](https://github.com/lettermint/lettermint-node/issues/19)) ([3a6cacf](https://github.com/lettermint/lettermint-node/commit/3a6cacfb7b73e0467565530318725900fbe1fff3)), closes [#18](https://github.com/lettermint/lettermint-node/issues/18) -# [2.1.0](https://github.com/lettermint/lettermint-node/compare/v2.0.0...v2.1.0) (2026-07-07) +## [2.1.0](https://github.com/lettermint/lettermint-node/compare/v2.0.0...v2.1.0) (2026-07-07) ### Features * add route settings, webhook auto-reply events, and blocked file types ([#17](https://github.com/lettermint/lettermint-node/issues/17)) ([a598cf3](https://github.com/lettermint/lettermint-node/commit/a598cf3e3b011129275ee9c2a7a003fe82de7ce8)) -# [2.0.0](https://github.com/lettermint/lettermint-node/compare/v1.5.1...v2.0.0) (2026-05-11) +## [2.0.0](https://github.com/lettermint/lettermint-node/compare/v1.5.1...v2.0.0) (2026-05-11) ### Features @@ -89,19 +91,19 @@ * moved `this.reset()` to a `finally` block to guarantee cleanup even if the send operation fails. ([83343f1](https://github.com/lettermint/lettermint-node/commit/83343f17503f2aea20ba46ce5f264999e3b63f25)) * reset email properties after each send ([24a17ac](https://github.com/lettermint/lettermint-node/commit/24a17acbc2429c5eb30391f9df3dc0ea7aaf4de1)) -# [1.5.0](https://github.com/lettermint/lettermint-node/compare/v1.4.0...v1.5.0) (2025-12-23) +## [1.5.0](https://github.com/lettermint/lettermint-node/compare/v1.4.0...v1.5.0) (2025-12-23) ### Features * include SDK version and Node.js version in User-Agent header ([2c069a7](https://github.com/lettermint/lettermint-node/commit/2c069a70b96703e5e1f5c1383343bd992f2a6f95)) -# [1.4.0](https://github.com/lettermint/lettermint-node/compare/v1.3.0...v1.4.0) (2025-10-07) +## [1.4.0](https://github.com/lettermint/lettermint-node/compare/v1.3.0...v1.4.0) (2025-10-07) ### Features * add support for inline attachments in email requests ([45d9abc](https://github.com/lettermint/lettermint-node/commit/45d9abc464d57453e29d6b3e17877acb1850c791)) -# [1.3.0](https://github.com/lettermint/lettermint-node/compare/v1.2.1...v1.3.0) (2025-08-24) +## [1.3.0](https://github.com/lettermint/lettermint-node/compare/v1.2.1...v1.3.0) (2025-08-24) ### Features @@ -113,13 +115,13 @@ * update README to document metadata functionality ([f488fe3](https://github.com/lettermint/lettermint-node/commit/f488fe38561f0ed655082c60c35f174df3bc90c3)) -# [1.2.0](https://github.com/lettermint/lettermint-node/compare/v1.1.0...v1.2.0) (2025-08-23) +## [1.2.0](https://github.com/lettermint/lettermint-node/compare/v1.1.0...v1.2.0) (2025-08-23) ### Features * add support for metadata in email requests ([4906c0b](https://github.com/lettermint/lettermint-node/commit/4906c0b3e85feec79f5baa555790bb8794c22f46)) -# [1.1.0](https://github.com/lettermint/lettermint-node/compare/v1.0.1...v1.1.0) (2025-06-28) +## [1.1.0](https://github.com/lettermint/lettermint-node/compare/v1.0.1...v1.1.0) (2025-06-28) ### Bug Fixes