Files
Eric Ireland b200459d8d Prepare snacforge 2.95-sf.1 for release
Add executable regression and sanitizer checks, a hardened release profile, CI, fork security and update policies, release notes, and ephemeral Docker development certificates.

Assisted-by: OpenAI Codex (GPT-5)

Reviewed-by: Eric Ireland
2026-09-11 11:51:23 +10:00

1.3 KiB

Importing upstream snac releases

The upstream remote is fetch-only. Do not push snacforge commits to it.

  1. Fetch tags and verify the proposed upstream release tag with GPG.
  2. Create a temporary branch at the verified upstream tag.
  3. Reapply each snacforge commit separately, resolving and reviewing conflicts.
  4. Use an unambiguous version such as UPSTREAM-sf.N.
  5. Run make check, make check-sanitize, and make release on the target production platform.
  6. Test a disposable copy of production data and exercise HTTP, posting, media, federation, NodeInfo, queues, and socket behaviour.
  7. Review the complete upstream-to-release diff and update CHANGELOG.md.
  8. Create a signed snacforge-UPSTREAM-sf.N tag. Record the exact commit and release binary SHA-256 in the annotated tag message.
  9. Push the reviewed branch and tag to origin; deploy that exact binary only after retaining source, binary, and configuration rollback copies.

Sanitizer note

The inherited xs packed dictionary representation intentionally stores some headers at byte offsets that UndefinedBehaviorSanitizer's alignment check rejects. make check-sanitize explicitly disables that one check so it can run AddressSanitizer and the remaining UndefinedBehaviorSanitizer checks. Revisit this exception if upstream changes the container layout.