v1.3.0: native Gitea + Forgejo webhook support #1

Merged
eric merged 1 commit from dual-forge-support into main 2026-06-09 19:17:30 -07:00
Owner

Accept either X-Gitea-* or X-Forgejo-* headers (event, signature,
delivery) via _first_header(), preferring the Gitea names so existing
deployments behave identically. HMAC verification runs against whichever
signature header the forge sends; payloads are byte-identical today.

Rename GITEA_WEBHOOK_SECRET -> WEBHOOK_SECRET, keeping the old name as a
deprecated alias resolved in create_app(). Neutral naming throughout:
project apprise-forge-bridge, startup log, docker-compose service, and
Docker Hub image apprise-forge-notifications. README/Claude.md/SECURITY.md
updated for both forges; SECURITY.md base-image ref corrected to 3.14.

Add 5 tests (Forgejo headers, both-vendor, Forgejo bad-sig, dual
missing-event, legacy-secret alias) -> 80 total.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Accept either X-Gitea-* or X-Forgejo-* headers (event, signature, delivery) via _first_header(), preferring the Gitea names so existing deployments behave identically. HMAC verification runs against whichever signature header the forge sends; payloads are byte-identical today. Rename GITEA_WEBHOOK_SECRET -> WEBHOOK_SECRET, keeping the old name as a deprecated alias resolved in create_app(). Neutral naming throughout: project apprise-forge-bridge, startup log, docker-compose service, and Docker Hub image apprise-forge-notifications. README/Claude.md/SECURITY.md updated for both forges; SECURITY.md base-image ref corrected to 3.14. Add 5 tests (Forgejo headers, both-vendor, Forgejo bad-sig, dual missing-event, legacy-secret alias) -> 80 total. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Accept either X-Gitea-* or X-Forgejo-* headers (event, signature,
delivery) via _first_header(), preferring the Gitea names so existing
deployments behave identically. HMAC verification runs against whichever
signature header the forge sends; payloads are byte-identical today.

Rename GITEA_WEBHOOK_SECRET -> WEBHOOK_SECRET, keeping the old name as a
deprecated alias resolved in create_app(). Neutral naming throughout:
project apprise-forge-bridge, startup log, docker-compose service, and
Docker Hub image apprise-forge-notifications. README/Claude.md/SECURITY.md
updated for both forges; SECURITY.md base-image ref corrected to 3.14.

Add 5 tests (Forgejo headers, both-vendor, Forgejo bad-sig, dual
missing-event, legacy-secret alias) -> 80 total.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
eric merged commit 241355f119 into main 2026-06-09 19:17:30 -07:00
eric deleted branch dual-forge-support 2026-06-09 19:17:30 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eric/apprise-forge-notifications!1
No description provided.