Changelog
Release notes for Stoat Notifications for WHMCS.
1.0.0 — 14 November 2026
First public release.
Added
- Stoat notification provider for the native WHMCS notification system, implementing
NotificationModuleInterface. - Read-only Version row in the provider configuration dialog.
- Eight-page HTML documentation site with Open Graph, Twitter card and SEO metadata on every page.
- Three message formats: Message + Embed (default), Message only and Embed only.
- Markdown rendering for titles, messages and notification attributes.
- Stoat
SendableEmbedsupport with title, description, URL and CSS colour. - Per-rule webhook override, so billing, support and operations can post to different channels.
- Optional masquerade sender name (for example
WHMCS) and avatar, requiring theMasqueradepermission. - Configurable request timeout, clamped to 1–30 seconds.
- Self-hosted Stoat support through Allow Self-Hosted Host, with HTTPS still mandatory.
- Strict delivery toggle: fail on a rejected optional feature, or retry once without it.
- Connection test on save, always strict, so missing permissions surface during setup.
- Markdown-aware truncation that closes an unterminated code fence.
- Mention neutralisation for
@everyone,@hereand@online. - Actionable error messages mapped from Stoat’s error types, including
NotFound,NotAuthenticated,MissingPermission,FailedValidation,InSlowmodeandPayloadTooLarge. - Module log entries with the webhook token redacted.
- Full HTML documentation site.
Notes
- Webhook URLs are validated before every request: HTTPS only, no credentials, query string or fragment, host limited to
stoat.chator*.stoat.chatunless self-hosted is allowed. - Guilded-style decimal embed colours are converted to hex automatically when migrating an existing rule.
- Stoat embeds have no
fields[]ortimestamp, so attributes are folded into the description as Markdown. - No database changes and no addon activation step; WHMCS discovers the provider from
modules/notifications/.
Unreleased
Nothing scheduled. Send feature requests and bug reports to HardSoftCode.