v3.19.0
CL-lau/SQL-GPTv3.19.0Sep 14, 2026by github-actions[bot]
Upgrading?
AI Summary
This release enforces a mandatory Webhook signing secret configuration across builder, viewer, and PartyKit servers, requires separate viewer hostnames for previews, and enhances SMTP validation. It also includes significant security hardening and maintenance updates.
Key Highlights
- Mandatory `WEBHOOK_RELAY_SECRET` must be set to the same value in builder, viewer, and PartyKit.
- Separate viewer hostname required (cannot share hostname with `NEXTAUTH_URL`).
- SMTP configuration tests now validate destinations and pin IP addresses.
- Security hardening including preview isolation, webhook authentication, and SSRF protection.
- Docker images updated to Debian Bookworm.
Breaking Changes
- Webhook signing secret must be set to the same secret in builder, viewer, and PartyKit.
- Viewer hostname must differ from `NEXTAUTH_URL` hostname.
- Non-object callback bodies are rejected for older publishers/listeners.
- Webhook waits now expire with configured session timeout (or 24h) and rotating secret invalidates waits.
Full Release Notes
### Breaking changes #### Webhook signing secret and coordinated upgrade If you use Webhook blocks, you must now set `WEBHOOK_RELAY_SECRET` to the **same secret in builder, viewer and your PartyKit server**. This also applies to Webhook blocks used in previews and WhatsApp flows. Missing or mismatched secrets prevent Webhook responses from resuming conversations. Generate an independent secret from at least 32 random bytes (for example, `openssl rand -hex 32`). Keep it server-side: do not prefix it with `NEXT_PUBLIC_` or reuse `ENCRYPTION_SECRET`. Keep `NEXT_PUBLIC_PARTYKIT_HOST` configured as before. See [configuration](https://docs.typebot.io/self-hosting/configuration#partykit). Plan a maintenance window for this protocol change: 1. Provision the shared secret on builder, viewer and PartyKit. 2. Deploy the updated PartyKit worker and stop the old relay, including its existing connections. 3. Upgrade builder and viewer together, along with the updated JS/React embeds. Update any separately hosted or pinned embeds before resuming Webhook traffic. 4. Refresh open tabs and restart conversations waiting on a Webhook created before the upgrade. Confirm that an authorized callback resumes a new conversation. Older publishers and listeners are incompatible with the new relay. Existing authenticated callback URLs and JSON-object request bodies remain unchanged; non-object callback bodies are now rejected. Explicitly client-executed HTTP Request blocks keep their existing contract. If no matching listener is connected, the callback returns HTTP 502; retry the authenticated callback after the client reconnects. Webhook waits now expire with the configured session timeout, or after 24 hours if no timeout is set. The builder settings listener expires after 15 minutes and can be restarted. Expired waits require a new conversation. Rotating the secret also invalidates outstanding waits and subscriptions. #### Separate viewer hostname for previews The first URL in `NEXT_PUBLIC_VIEWER_URL` must use a different hostname from `NEXTAUTH_URL`. Different ports on the same hostname are insufficient. Configure a separate viewer hostname before upgrading so builder previews remain available. #### SMTP configuration tests SMTP configuration tests now validate destinations and pin the connection to a validated IP address. Private SMTP servers require an exact hostname entry in `SSRF_ALLOWED_HOSTS`; this instance-wide allowlist permits RFC1918 addresses only. Loopback, link-local and metadata endpoints remain blocked. ### Fixed - 🐛 Resolve variables in Forge option arrays. ### Security - 🐛 Strengthen preview isolation, linked draft permissions and preview session creation. - 🐛 Restrict WhatsApp sessions to internal runtime access. - 🐛 Authenticate webhook responses and relay subscriptions, and enforce webhook ownership and write access. - 🐛 Protect SMTP configuration tests and special-use IP ranges against SSRF. - 🐛 Block external sign-in redirects and serialize concurrent email verification attempts. - 🐛 Restrict guest workspace access and prevent writes during read-only typebot migrations. - 🐛 Prevent public ID validation backtracking and upgrade security-sensitive dependencies. ### Maintenance - 🔧 Move Docker images to Debian Bookworm after Bullseye reached end of support. - 🔧 Add enterprise chat tier billing support. - 🔧 Replace inactive cleanup with a retention audit.
Related Repositories
public-apis/public-apis★ 491,126
A collective list of free APIs
NousResearch/hermes-agent★ 255,898
The agent that grows with you
yt-dlp/yt-dlp★ 199,995
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,479
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.