diff --git a/.github/workflows/gitea-tracker.yml b/.github/workflows/gitea-tracker.yml index 28202e5..316d76e 100644 --- a/.github/workflows/gitea-tracker.yml +++ b/.github/workflows/gitea-tracker.yml @@ -80,30 +80,12 @@ jobs: ROW="| **${NEW}** | ${TODAY} | ⏳ Pending Verification | TBD |" sed -i "${INSERT}a ${ROW}" COMPATIBILITY.md - - name: COMPATIBILITY.md — latest verified note - if: steps.version.outputs.skip != 'true' - run: | - NEW="${{ steps.version.outputs.new_version }}" - # Update version inline on the line with TRACKER:LATEST-VERIFIED - sed -i "/TRACKER:LATEST-VERIFIED/s/Gitea [0-9.]*/Gitea ${NEW}/" COMPATIBILITY.md - - - name: README.md — badge and latest tested + - name: README.md — pending badge if: steps.version.outputs.skip != 'true' run: | NEW="${{ steps.version.outputs.new_version }}" # Badge: update version, change label tested→pending, color blue→yellow sed -i "/TRACKER:BADGE/s/%20[0-9a-z.-]*%20tested-blue/%20${NEW}%20pending-yellow/" README.md - # Latest tested: update version on the TRACKER:LATEST-TESTED line - sed -i "/TRACKER:LATEST-TESTED/s/Gitea [0-9.]*/Gitea ${NEW}/" README.md - - - - name: README translations — latest tested - if: steps.version.outputs.skip != 'true' - run: | - NEW="${{ steps.version.outputs.new_version }}" - for f in docs/README.zh-CN.md; do - sed -i "/TRACKER:LATEST-TESTED/s/Gitea [0-9.]*/Gitea ${NEW}/" "$f" - done - name: Create Pull Request if: steps.version.outputs.skip != 'true' @@ -117,7 +99,7 @@ jobs: This PR: - Updates the compatibility matrix in `COMPATIBILITY.md` - - Updates version badges in `README.md` and translations + - Marks the new version as pending in the `README.md` badge - Marks the new version as **⏳ Pending Verification** ## Verification Checklist @@ -126,12 +108,13 @@ jobs: - [ ] Run `cd tools && go run . preview all` to confirm templates still render - [ ] Update status from ⏳ to ✅ (compatible) or ❌ (breaking) in COMPATIBILITY.md - [ ] Update the `Mail Template Changes` and `Breaking?` columns with accurate notes + - [ ] After verification, update `TRACKER:LATEST-VERIFIED` and the English/Chinese `TRACKER:LATEST-TESTED` lines; switch the README badge from pending to tested ## Semantic tracking - Once verified, update the tracked Gitea version (release numbers stay unchanged): - - [ ] Update the parenthesized Gitea version on the active **Template Release** row in `COMPATIBILITY.md` (e.g. `v1.0.1(v${{ steps.version.outputs.new_version }})`) - - [ ] Update the README release line and badge to the new version - - [ ] Tag a new release only if the template content itself changed — `git tag vX.Y.Z && git push origin vX.Y.Z` (the release workflow packages automatically) + Once verified, update the tracked Gitea version: + - [ ] Keep the top **Template Release** row as `Unreleased` until its fixes are tagged; never label a released archive compatible with unshipped changes + - [ ] Update the README release status and compatibility matrix to distinguish source fixes from published packages + - [ ] Tag a new release when shipping template fixes — `git tag vX.Y.Z && git push origin vX.Y.Z` (the release workflow packages automatically) labels: compatibility, automated env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/AGENTS.md b/AGENTS.md index 4d54866..e21dc59 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -66,9 +66,9 @@ docs/ # Bilingual documentation (English + Simplified Chinese) ## Versioning -- Release numbers stay on the project's own scheme; the supported Gitea version is appended in parentheses — `v1.0.1(v1.27.2)` means release `v1.0.1` tracks Gitea `1.27.2` -- The current release is **v1.0.1** (tracks Gitea 1.27.2); the quick-reference table in `COMPATIBILITY.md` lists it first — the tracker workflow updates that row by position -- When a new Gitea version is verified compatible: update the parenthesized Gitea version in the active `COMPATIBILITY.md` row, plus the README release line and badge +- Release tags identify actual downloadable packages; the compatibility matrix distinguishes released tags from source-only fixes +- The current published release is **v1.27.2**; it has a push-notification bug in Bloom, Ember, and Heritage on Gitea 1.27.1+. The current source tree fixes it and is verified against Gitea 1.27.3. The quick-reference table in `COMPATIBILITY.md` lists the unreleased row first; the tracker workflow updates that row by position +- When a new Gitea version is checked: update the top `COMPATIBILITY.md` row and README badge; keep unreleased fixes distinct from the published release, and update verified/tested wording only after verification - Tag a new release (`vX.Y.Z`) only when the template content itself changes — the release workflow packages automatically on tag push - Keep the `TRACKER:` markers in `COMPATIBILITY.md` / `README.md` adjacent to their rows so the automated workflow keeps parsing them diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index 777ca24..8376d30 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -7,23 +7,26 @@ This document tracks the compatibility between **Gitea Mail Templates** releases | Template Release | Min Gitea | Max Tested Gitea | Status | |-----------------|-----------|-----------------|--------| -| **v1.0.1(v1.27.2)** | **1.25.0** | **1.27.2** | ✅ Active | +| **Unreleased** | **1.25.0** | **1.27.3** | ✅ Source verified; release pending | +| **v1.27.2** | **1.25.0** | **1.27.3** | ⚠️ Push notices fail in Bloom, Ember, and Heritage on Gitea 1.27.1+ | +| **v1.0.1** | **1.25.0** | **1.27.0** | ✅ Superseded; push notices need newer release on 1.27.1+ | | **v1.0.0** | **1.25.0** | **1.26.4** | ✅ Superseded | -> **Latest verified:** All 11 templates pass validation against Gitea 1.27.2 data contexts. +> **Latest verified:** The current source tree passes the Gitea 1.27.3 source audit and push-render test. The published v1.27.2 archive still contains three broken push-notification templates. ## Versioning -From **1.27.1** onward, template releases are **semantically tracked** against Gitea: the release keeps its own number, and the supported Gitea version is appended in parentheses — `v1.0.1(v1.27.2)` means release `v1.0.1` is the version to use with Gitea `1.27.2`. +The release tag identifies the downloadable template package. The supported Gitea version may be appended in parentheses in this compatibility matrix; the parenthesized version is not a Git tag. An **Unreleased** row describes fixes in the source tree that are not yet in a downloadable release. | Gitea version | Template release | |---------------|------------------| -| 1.27.2 | **v1.0.1(v1.27.2)** | -| 1.27.1 | **v1.0.1(v1.27.1)** | +| 1.27.3 | **Unreleased fix**; published v1.27.2 has a push-notification issue in three themes | +| 1.27.2 | **Unreleased fix**; published v1.27.2 has the same issue | +| 1.27.1 | **Unreleased fix**; published v1.27.2 has the same issue | - The [tracker workflow](.github/workflows/gitea-tracker.yml) opens a PR when a new Gitea release appears, marking it ⏳ Pending Verification. -- After verification, update the parenthesized Gitea version on the active **Template Release** row. A new release (`vX.Y.Z`) is only tagged when the template content itself changes — the [release workflow](.github/workflows/release.yml) packages the archive automatically on tag push. -- Releases before Gitea 1.27.1 predate semantic tracking and keep their plain version numbers in the matrix. +- After verification, update the top **Template Release** row. Keep source-only fixes marked **Unreleased** until a new tag is published; the [release workflow](.github/workflows/release.yml) packages the archive on tag push. +- The older `v1.0.1` tag predates the Gitea 1.27.1 push notification data fix and should not be used for Gitea 1.27.1 or newer. ## Check Your Gitea Version @@ -38,8 +41,9 @@ gitea --version | Gitea | Release Date | Mail Template Changes | Breaking? | |-------|-------------|----------------------|-----------| +| **1.27.3** | 2026-08-29 | No upstream mail template, mailer, or locale changes; an existing push-notification defect in three published themes was found and fixed in the current source tree | No upstream break (local fix pending release) | | **1.27.2** | 2026-08-14 | None — security + bug fixes | No | -| **1.27.1** | 2026-07-27 | Fixed push commit data paths: .ID → .UserCommit.GitCommit.ID (#38467) | No | +| **1.27.1** | 2026-07-27 | Push commit data paths changed: .ID → .UserCommit.GitCommit.ID (#38467); older custom templates can fail on push notifications | Yes (old .ID paths) | | **1.27.0** | 2026-07-13 | None — no mail template changes | No | | **1.26.4** | 2026-06-21 | None — hotfix release | No | | **1.26.3** | 2026-06-20 | None — security release | No | @@ -106,7 +110,7 @@ All templates use Gitea's official `mail.*` translation namespace. Keys are stab ## Automated Tracking -A [workflow](.github/workflows/gitea-tracker.yml) runs daily (UTC 08:00) to detect new Gitea releases. When a new version is found, it automatically creates a PR updating the matrix and badges with a **⏳ Pending Verification** status. Manual trigger is also available via `workflow_dispatch`. Once verification passes, release the templates under the same version number (see [Versioning](#versioning)). +A [workflow](.github/workflows/gitea-tracker.yml) runs daily (UTC 08:00) to detect new Gitea releases. When a new version is found, it automatically creates a PR updating the matrix and badges with a **⏳ Pending Verification** status. Manual trigger is also available via `workflow_dispatch`. Once verification passes, update the compatibility matrix; publish a new template tag when template changes require a release (see [Versioning](#versioning)). ## Reporting Issues diff --git a/README.md b/README.md index db53b18..02a56e1 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ A curated collection of professionally designed, audience-driven email templates for self-hosted [Gitea](https://about.gitea.com) instances. -[](COMPATIBILITY.md) +[](COMPATIBILITY.md) -> **Release v1.0.1 — tracks Gitea 1.27.2 — 110 template files, 10 visual styles, 11 email types each** +> **110 template files — 10 visual styles, 11 email types each. Current source verified with Gitea 1.27.3; push-notification fixes await a new release.** --- @@ -164,9 +164,9 @@ gitea-mail-templates/ ## Compatibility - **Gitea 1.25+** — matches the refactored mail template directory structure (v1.25) -- **Latest tested:** Gitea 1.27.2 -- **Versioning:** releases are semantically tracked — Gitea 1.27.2 → template release v1.0.1(v1.27.2) (see [COMPATIBILITY.md](COMPATIBILITY.md)) -- 100% variable-compatible with official Gitea templates — see [COMPATIBILITY.md](COMPATIBILITY.md) for the full matrix +- **Latest tested:** Gitea 1.27.3 +- **Published release:** v1.27.2. Its Bloom, Ember, and Heritage push notifications can fail on Gitea 1.27.1+; the fix is in the current source tree and awaits release (see [COMPATIBILITY.md](COMPATIBILITY.md)) +- The current source uses Gitea's official template data paths — see [COMPATIBILITY.md](COMPATIBILITY.md) for release-specific limitations - Uses only built-in Gitea template functions and official translation keys - No custom template functions or locale patches required diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md index 997d3bd..02d3e48 100644 --- a/docs/README.zh-CN.md +++ b/docs/README.zh-CN.md @@ -79,9 +79,9 @@ cd tools && go run . dev ## 兼容性 - **Gitea 1.25+** — v1.25 引入的邮件模板目录结构 -- **最新测试:** Gitea 1.27.2 -- **版本号:** 发布版本语义化追踪 Gitea 版本 — Gitea 1.27.2 → 模板发布版 v1.0.1(v1.27.2)(详见 [COMPATIBILITY.md](COMPATIBILITY.md)) -- 与 Gitea 官方模板 100% 兼容 — 详见 [COMPATIBILITY.md](COMPATIBILITY.md) +- **最新测试:** Gitea 1.27.3 +- **发布状态:** 已发布的 v1.27.2 在 Gitea 1.27.1+ 上,Bloom、Ember、Heritage 主题的推送通知可能失败;当前源码已修复,尚待发布(详见 [兼容性说明](../COMPATIBILITY.md)) +- 当前源码使用 Gitea 官方模板的数据路径;各发布版的限制详见 [兼容性说明](../COMPATIBILITY.md) ## 许可证 diff --git a/themes/bloom/mail/repo/issue/default.tmpl b/themes/bloom/mail/repo/issue/default.tmpl index e3954a1..b0783c2 100644 --- a/themes/bloom/mail/repo/issue/default.tmpl +++ b/themes/bloom/mail/repo/issue/default.tmpl @@ -124,8 +124,8 @@