Release Notes: v0.6.0¶
Release Date: 2026-04-18
Summary¶
This release adds Twilio as the seventh messaging provider in OmniChat, enabling SMS messaging through Twilio's REST API.
Highlights¶
- Twilio SMS provider for SMS messaging integration
New Features¶
Twilio Provider¶
SMS messaging support using omni-twilio:
import "github.com/plexusone/omnichat/providers/twilio"
p, err := twilio.New(twilio.Config{
AccountSID: os.Getenv("TWILIO_ACCOUNT_SID"),
AuthToken: os.Getenv("TWILIO_AUTH_TOKEN"),
PhoneNumber: os.Getenv("TWILIO_PHONE_NUMBER"),
Logger: slog.Default(),
})
// Send SMS
router.Send(ctx, "twilio", "+15559876543", provider.OutgoingMessage{
Content: "Hello from OmniChat!",
})
// Receive SMS via webhook
http.Handle("/sms", p.WebhookHandler())
Features:
- Send SMS via Twilio REST API
- Receive SMS via Twilio webhooks
- Webhook handler with request validation
- E.164 phone number format support
Bug Fixes¶
- Slack provider: Handle
socketClient.Ackerrors in event handler instead of silently discarding them
Supported Platforms¶
OmniChat now supports 7 messaging platforms:
| Provider | Package | Status |
|---|---|---|
| Discord | providers/discord |
Stable |
| Telegram | providers/telegram |
Stable |
providers/whatsapp |
Stable | |
| Slack | providers/slack |
Stable |
| Gmail | providers/email/gmail |
Stable |
| IRC | providers/irc |
Stable |
| Twilio | providers/twilio |
New |
Dependencies¶
- Add
github.com/plexusone/omni-twiliov0.5.0 - Bump
github.com/slack-go/slackfrom 0.20.0 to 0.21.1 - Bump
modernc.org/sqlitefrom 1.48.0 to 1.49.0
Documentation¶
- Apply PlexusOne unified theme with dark mode and navigation header
Upgrade Guide¶
This release is backwards compatible. To add Twilio support:
Twilio Setup¶
- Sign up at Twilio
- Get your Account SID and Auth Token from the Console
- Buy or configure a phone number with SMS capability
- Configure the provider with credentials and phone number
- Set up webhook endpoint for incoming SMS
See the Twilio Provider Documentation for detailed setup instructions.
Example Configuration¶
router := provider.NewRouter(logger)
twilioProvider, _ := twilio.New(twilio.Config{
AccountSID: os.Getenv("TWILIO_ACCOUNT_SID"),
AuthToken: os.Getenv("TWILIO_AUTH_TOKEN"),
PhoneNumber: os.Getenv("TWILIO_PHONE_NUMBER"),
Logger: logger,
})
router.Register(twilioProvider)
router.ConnectAll(ctx)
// Set up webhook for incoming SMS
http.Handle("/sms", twilioProvider.WebhookHandler())
Contributors¶
- Claude Opus 4.5 (AI pair programming)