Skip to content

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.Ack errors 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
WhatsApp 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-twilio v0.5.0
  • Bump github.com/slack-go/slack from 0.20.0 to 0.21.1
  • Bump modernc.org/sqlite from 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:

go get github.com/plexusone/omnichat@v0.6.0

Twilio Setup

  1. Sign up at Twilio
  2. Get your Account SID and Auth Token from the Console
  3. Buy or configure a phone number with SMS capability
  4. Configure the provider with credentials and phone number
  5. 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)