Skip to content

Release Notes: v0.4.0

Release Date: 2026-04-18

Highlights

  • Breaking: Rename from omnivoice-twilio to twilio-go
  • Add OmniChat SMS provider for omnichat integration

What's New

Module Rename

The module has been renamed from github.com/plexusone/omnivoice-twilio to github.com/plexusone/twilio-go to better reflect its expanded scope beyond voice-only functionality.

New Package Structure

twilio-go/
├── client/           # Exported Twilio REST API client (was internal)
├── omnichat/         # NEW: SMS provider for omnichat
└── omnivoice/
    ├── callsystem/   # Call handling provider
    ├── transport/    # Media Streams provider
    ├── stt/          # Speech-to-text provider
    └── tts/          # Text-to-speech provider

OmniChat SMS Provider

New omnichat package implementing provider.Provider from omnichat:

import "github.com/plexusone/twilio-go/omnichat"

provider, _ := omnichat.New(
    omnichat.WithAccountSID("ACxxxxxxxx"),
    omnichat.WithAuthToken("your-token"),
    omnichat.WithPhoneNumber("+15551234567"),
)

// Connect and send SMS
provider.Connect(ctx)
provider.Send(ctx, "+15559876543", provider.OutgoingMessage{
    Content: "Hello from Twilio!",
})

// Handle incoming SMS via webhook
http.Handle("/sms", provider.WebhookHandler())

Exported Twilio Client

The Twilio REST API client is now exported at client/ (previously internal/client):

import "github.com/plexusone/twilio-go/client"

c, _ := client.New(&client.Config{
    AccountSID: "ACxxxxxxxx",
    AuthToken:  "your-token",
})

// Send SMS directly
msg, _ := c.SendSMS(ctx, &client.SendSMSParams{
    To:   "+15559876543",
    From: "+15551234567",
    Body: "Hello!",
})

Breaking Changes

Module Path

- import "github.com/plexusone/omnivoice-twilio/callsystem"
+ import "github.com/plexusone/twilio-go/omnivoice/callsystem"

Package Locations

Old Path New Path
omnivoice-twilio/callsystem twilio-go/omnivoice/callsystem
omnivoice-twilio/transport twilio-go/omnivoice/transport
omnivoice-twilio/stt twilio-go/omnivoice/stt
omnivoice-twilio/tts twilio-go/omnivoice/tts

Note: The Twilio client is now exported at twilio-go/client (previously internal and inaccessible).

Migration Guide

Step 1: Update Import Paths

Replace all imports:

# Using sed
find . -name "*.go" -exec sed -i '' \
  's|github.com/plexusone/omnivoice-twilio|github.com/plexusone/twilio-go/omnivoice|g' {} +

# Or manually update imports

Step 2: Update go.mod

go get github.com/plexusone/twilio-go@v0.4.0
go mod tidy

Step 3: Verify Build

go build ./...
go test ./...

Dependencies

  • Bump github.com/twilio/twilio-go from 1.30.4 to 1.30.5

Security Fixes

  • Resolve G120 gosec lint errors by adding http.MaxBytesReader to webhook handlers

Full Changelog

See CHANGELOG.md for the complete list of changes.