Gitea 1.27.1 fixed the mail template for push events (#38467) —
commit data must now be accessed via .UserCommit.GitCommit instead
of directly on the commit object.
Changed across all 10 themes:
- {{.ID}} → {{.UserCommit.GitCommit.ID}}
- {{.ID.String}} → {{.UserCommit.GitCommit.ID.String}}
- {{.MessageTitle}} → {{.UserCommit.GitCommit.MessageTitle}}
Verification:
- 3 mail-related files changed in Gitea v1.27.0→v1.27.1
- All 110 templates (10 themes × 11 types) render successfully
- No breaking changes — data structure unchanged, only access path
Co-Authored-By: Claude <noreply@anthropic.com>
Verification results:
- 0 files changed in templates/mail/ or services/mailer/ between v1.26.0 and v1.27.0
- All 110 templates (10 themes × 11 types) render successfully
- No new mail template types, no removed types
- No changes to template functions or data contexts
- No breaking changes for mail templates
Marking v1.0.1 as compatible with Gitea 1.27.0.
Co-Authored-By: Claude <noreply@anthropic.com>
Add TRACKER: HTML comment markers to COMPATIBILITY.md, README.md, and
all 5 translation READMEs. Rewrite gitea-tracker.yml to use grep -n
for precise line-based insertion and sed line-address editing.
Markers introduced:
- TRACKER:QUICK-REF-MAX — Quick Reference max tested version
- TRACKER:VERSION-INSERT — Version History row insertion point
- TRACKER:LATEST-VERIFIED — latest verified note version
- TRACKER:BADGE — shields.io badge version
- TRACKER:LATEST-TESTED — latest tested version in READMEs
Co-Authored-By: Claude <noreply@anthropic.com>
- Create COMPATIBILITY.md with version matrix, Gitea release tracking,
template variable reference, and compatibility verification process
- Add Gitea 1.25+ | 1.26.4 tested badge to README
- Update all 6 READMEs (EN + 5 translations) with latest tested version
and link to COMPATIBILITY.md
- Include COMPATIBILITY.md in release artifacts
Co-Authored-By: Claude <noreply@anthropic.com>
- Delete tools/server/ (Node.js, juice, inliner.mjs, server.mjs, node_modules)
- Create tools/preview/server.go — pure Go dev server with SSE + file polling
- Rewrite tools/cli/dev.go — start Go server in-process, no Node.js required
- Simplify preview/index.html — View dropdown (Modern/Source), remove Client
Simulation panel, remove Gmail/Outlook logic, WebSocket → SSE
- Update all 14 documentation files (README, CONTRIBUTING, AGENTS + translations)
to reflect pure Go dev server and simplified preview
Co-Authored-By: Claude <noreply@anthropic.com>
- README.md: restructure Preview section into Static + Dev modes
with feature comparison table; mention juice inlining and live reload
- CONTRIBUTING.md: update Development Setup with Go/Node.js
requirements, static vs dev preview workflows, Juice reference
- AGENTS.md: add dev command to subcommand list, document
tools/server/ directory, update Build Tool section
- docs/CONTRIBUTING.*.md (5 languages): add dev server section,
Node.js requirement, live reload description
- docs/README.*.md (5 languages): add dev mode to Preview section
- docs/images/README.md: update capture instructions for dev server
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Split monolithic build-preview.go into modular packages:
tools.go (entry), cli/ (list/create/delete/preview commands),
config/ (JSON loading), preview/ (rendering engine, funcs, locale)
- Extract all template metadata into data/templates_config.json
as single source of truth — no hardcoded template data in Go
- Replace hand-rolled CLI parsing with github.com/urfave/cli/v2
- Add sensible defaults for --folder (../themes) and --config
(./data/templates_config.json) — most commands now run bare
- Add type-coercing gt/lt/ge/le template funcs for JSON float64
- Fix AppUrl to gitea.com matching official template convention
- rendered.js now exports __REGISTRY__ and __PARAMS__ alongside
__RENDERED__ — preview/index.html reads all from single source
- Cross-validate all 11 template data contexts against official
Gitea source (services/mailer/*.go + templates/mail/*.tmpl)
- Update all docs (README, AGENTS, CONTRIBUTING, 5 languages)
to reflect new CLI workflow with create scaffolding command
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>