Releases: mhpdev-com/react-native-speech
Releases · mhpdev-com/react-native-speech
Release 1.4.0
1.4.0 (2026-02-08)
New
Speech.speaksupports per‑utterance options viaSpeech.speak(text, options)and returns an utterance ID for tracking.
Breaking Changes
Speech.initialize→Speech.configure(also in native module interface and Jest mock).- Event payload
idtype changed fromnumbertostring. speakandspeakWithOptionsnow resolve withstring(utterance ID) instead ofvoid.speakWithOptionsis deprecated in favor ofspeak(text, options)(still present, but return type changed).
Fixes
- Android queue handling now cleans up completed/error items and avoids stale indices.
- Android stop/resume flow uses current utterance ID reliably.
- iOS voice listing handles
nilvoices safely. - iOS error handling guards against missing utterances and cleans up metadata.
HighlightedTextclamps ranges, tolerates unsorted highlights, handles empty inputs, and usesTextpress handling reliably.
Performance
- Android speech queue uses a
LinkedHashMapto reduce queue scanning and improve lookup predictability. HighlightedTextavoids sorting when highlights are already ordered and reduces intermediate allocations.
Full Changelog: v1.3.2...v1.4.0
Release 1.4.0-beta.0
1.4.0-beta.0 (2026-02-08)
- perf: correlate events per speak (utteranceId) (2568490)
- perf: optimize HighlightedText segmentation and rendering (b27211c)
- perf(ios): improving getAvailableVoices method (e409128)
- feat: allowing the speak method to accept options and deprecating the speakWithOptions method (d4a19b5)
- feat: rename initialize to configure across API (bf13f84)
- feat: returning the utterance id after queueing to speak (56b06b9)
- chore(example): updating info.plist and the ios script in package.json (1dc10a0)
Full Changelog: v1.3.2...v1.4.0-beta.0
Release 1.3.2
Full Changelog: v1.3.1...v1.3.2
This release contains under-the-hood Android reliability improvements and bug fixes only. It does not affect iOS and does not change the module's public API or behavior.
Addresses: #5
Fixed
- Race condition in TTS engine initialization causing engine detection failures on slower Android devices
- Added 5-second timeout for TTS initialization to prevent hanging
- Implemented exponential backoff retry mechanism (up to 3 retries) for failed initializations
- Improved thread safety with proper synchronization and volatile state flags
- Enhanced error recovery
Improved
- TTS initialization reliability on older/slower devices
- State verification to ensure voices and engines are properly loaded
- Resource cleanup between initialization attempts
- Error handling throughout TTS operations
Release 1.3.1
Release 1.3.0
1.3.0 (2025-10-17)
Full Changelog: v1.2.1...v1.3.0
- Added a new constant for max input length and the length validation before speech (on
Android). - Updated the module name to avoid conflicts with other libraries.
Release 1.3.0-beta.0
Full Changelog: v1.2.1...v1.3.0-beta.0
Release 1.2.1
Release 1.2.0
Changelog:
1.2.0 (2025-09-09)
- Upgrading packages and React Native to v0.81.0 (aa9634c)
- Adding the audio ducking for Android and iOS (b840a51)
- Adding silentMode for iOS (3d5ab9e)
- Adding getEngines and setEngine methods for Android (5a1f404)
- Adding openVoiceDataInstaller for Android (0d0ce9b)
- Fixing the global options overriding issue on getValidatedOptions (7b311f0)
Full Changelog: v1.1.5...v1.2.0