Release Notes: v0.6.0¶
Release Date: 2026-06-15
Highlights¶
- Registry Integration: Auto-register Gemini Live provider with omnivoice-core
- Type-Safe Options: Provider-specific configuration via registry options
New Features¶
Registry Integration¶
The Gemini Live realtime provider now registers with omnivoice-core's provider registry, enabling automatic discovery via side-effect imports:
import (
omnivoice "github.com/plexusone/omnivoice-core"
"github.com/plexusone/omnivoice-core/registry"
_ "github.com/plexusone/omni-google/omnivoice/realtime" // Auto-register
)
// Get realtime provider via registry
provider, err := omnivoice.GetRealtimeProvider("gemini",
registry.WithAPIKey(os.Getenv("GOOGLE_API_KEY")),
registry.WithModel("gemini-2.0-flash-live"),
registry.WithVoice("Puck"),
registry.WithInstructions("You are a helpful assistant."),
)
// Access underlying provider for full API
wrapper := provider.(*realtime.RealtimeWrapper)
geminiProvider := wrapper.Provider()
Type-Safe Registry Options¶
Provider-specific options for Gemini Live configuration:
import "github.com/plexusone/omni-google/omnivoice/realtime"
provider, err := omnivoice.GetRealtimeProvider("gemini",
registry.WithAPIKey(os.Getenv("GOOGLE_API_KEY")),
// Type-safe Gemini-specific options
realtime.WithRegistryTools(tools),
realtime.WithRegistryFunctions(functions),
realtime.WithRegistryResponseModalities([]string{"AUDIO", "TEXT"}),
realtime.WithRegistryTemperature(0.7),
realtime.WithRegistryTopP(0.9),
realtime.WithRegistryTopK(40),
realtime.WithRegistryMaxOutputTokens(1024),
realtime.WithRegistryGoogleSearch(), // Enable grounding
realtime.WithRegistryCodeExecution(), // Enable code execution
)
Enhanced Factory¶
The realtime factory now handles typed extensions:
tools-[]ToolDeffor function callingfunctions-[]FunctionDeclarationfor legacy function formatresponseModalities-[]stringfor output modestemperature,topP,topK- Generation parametersmaxOutputTokens- Output limitsenableGoogleSearch- Google Search groundingenableCodeExecution- Code execution capability
Dependencies¶
| Package | Version | Notes |
|---|---|---|
| github.com/plexusone/omnivoice-core | v0.14.0 | Updated from v0.12.1 |
Installation¶
Migration Guide¶
From v0.5.0¶
No breaking changes. All existing code continues to work.
New optional capability: use the registry pattern instead of direct construction:
// Before (still works)
provider := realtime.NewProvider(apiKey, opts...)
// After (optional registry pattern)
import _ "github.com/plexusone/omni-google/omnivoice/realtime"
provider, err := omnivoice.GetRealtimeProvider("gemini", opts...)
Full Changelog¶
See CHANGELOG.md for the complete list of changes.