-
v1.1.0
StableRelease / build (amd64, freebsd) (push) Successful in 56sRelease / build (amd64, linux) (push) Successful in 58sRelease / build (arm64, freebsd) (push) Successful in 58sRelease / build (arm64, linux) (push) Successful in 58sRelease / build (loong64, linux) (push) Successful in 1m3sRelease / build (riscv64, freebsd) (push) Successful in 1m1sRelease / build (riscv64, linux) (push) Successful in 1m1sRelease / release (push) Successful in 20sreleased this
2026-07-26 19:48:22 +00:00 | 0 commits to main since this releaseAdded
- RISC-V and LoongArch builds — CI now produces binaries for
linux/riscv64,
linux/loong64, andfreebsd/riscv64in addition to the existing four
targets. - 80 % coverage gate —
just testand CI enforce ≥ 80 % test coverage on
internal/andpkg/packages. - Handler and email test suites — 22 handler tests covering CORS, rate
limiting, validation, honeypot, and send/store paths via mock interfaces.
12 email composition tests covering all four form types.
Changed
- Module migrated to sourcedock.dev — all imports and documentation now
referencesourcedock.dev/petrbalvin/nuntius. - CI migrated from Forgejo to Gitea — workflows now live in
.gitea/workflows/, run on thefedorarunner, and use the standard
actions/*short form. - Dependency bump —
interpresupdated to v1.1.1. - IPv6-first — the server now binds
[::]:portfor explicit dual-stack. - Installer rewritten in Python —
install.pyreplacesinstall.sh. - nginx → Caddy — all documentation and the installer now use Caddy as the
recommended reverse proxy.
Fixed
- Rate limiter memory leak — a periodic cleanup goroutine removes expired
IP entries from the token-bucket map. - Silent template errors —
compose()now produces a fallback HTML message
instead of silently discarding template execution errors. - Silent JSON encoding errors — all
json.NewEncoder(w).Encode()calls now
log errors instead of discarding them. - CI formatting gate —
gofmt -lin the test workflow now actually fails
when it finds unformatted files. - Missing
just fmtrecipe — addedgofmt -wtarget. - Copyright headers — added to all Go and Python source files.
- Smoke test restricted to native builds — cross-compiled binaries now
skip the smoke test step since they cannot execute on the Linux amd64 CI
runner.
Downloads
- RISC-V and LoongArch builds — CI now produces binaries for