This guide covers every breaking change and deprecation between SofIA SDK v0.0.x and v1.0.0, with before/after code examples and a checklist to complete the migration.
Start by upgrading to the latest version:
Then make sure the SDK is imported once in your app’s entry file — this side-effect import is what registers the <sofia-sdk> custom element. Without it, the component never mounts:
Using React? Import the component and its styles from the /react subpath instead:
Not sure whether the SDK registered? Run customElements.get('sofia-sdk') in the browser console — it should return the component definition, not undefined.
Migration overview
Step-by-step migration
The toolsargs prop has been renamed to template. The JSON Schema content is identical — only the attribute name changes.
Before (v0.x):
After (v1.0):
In v1.0, templateid is also required for report generation. Without both template and templateid, the SDK operates in chat-only mode.
2. Remove isonlychat
Chat-only mode is now automatic. If you omit both template and templateid, the SDK operates in chat-only mode without showing the generate button.
Before (v0.x):
After (v1.0):
3. Remove disablegenerate
To hide the generate button, omit template and templateid instead of setting a flag.
Before (v0.x):
After (v1.0):
4. Remove disableactions
If the component should not be rendered, don’t mount it at all instead of passing a disable flag.
Before (v0.x):
After (v1.0):
5. Remove remaining deprecated props
Remove these props entirely — they have no effect in v1.0:
6. Update callback assignments (framework-specific)
The handleReport, setIsOpen, and setGetLastReport callbacks remain unchanged. However, verify your bindings are correct:
Vanilla JS:
React:
Angular:
7. Remove wssurl (v1.0.7+) and simplify baseurl (v1.0.8+)
As of v1.0.7, wssurl is deprecated and ignored — the transcription WebSocket URL is delivered by the settings API. Remove it. For newer keys, the SDK (v1.0.8) resolves the endpoint automatically, so you can also drop baseurl (Omniloy tells you whether your key needs it).
Before:
After (newer key):
Does your key still require baseurl? Keep it, but still remove wssurl.
Migration checklist
Use this checklist to verify your migration is complete:
Enable debug="true" during migration. The SDK logs deprecation warnings for any v0.x props still in use, prefixed with [Sofia SDK] DEPRECATED:.
Breaking changes summary
Props removed in v1.0
These props were deprecated in v0.0.10 and are removed in v1.0. If still passed, they have no functional effect but emit deprecation warnings when debug="true" is enabled.
New requirements in v1.0
templateid is now required alongside template for report generation
- The generate button only appears when both
template and templateid are provided
template must be a valid JSON Schema Draft-07 with $schema, type, and properties
Connection props (changed in v1.0.7)
apikey — required connection prop (unchanged)
wssurl — deprecated and ignored since v1.0.7; the transcriber URL now comes from the settings API — remove it
Connection props (changed in v1.0.8)
baseurl — now conditional: optional for newer keys (endpoint auto-resolved), still required otherwise
No changes
These props work exactly the same in v1.0:
userid, patientid — required session identifiers
patientdata — optional patient context
language — localization ("es" or "en")
debug — enables verbose logging
isopen — controls widget visibility
handleReport — report delivery callback
setIsOpen — visibility state callback
setGetLastReport — last report retrieval