Releases
Shows changes from recent stable releases.
v5.0.7
Changelog
Ordered Continuous-Activity Refinement
Android SDK 5.0.7 treats consecutive observations of the same material as one ordered current activity segment. The first onCampaignFound result remains available immediately, and applications can use the public campaign.activityId, campaign.materialId, and campaign.trait?.marker fields to update their timeline:
- A later marker-bearing callback with the same non-empty
campaign.activityIdcan refine only the current row. Do not search the entire history for a row to replace. - The activity transport keeps its original
recognized_atandposition. Preserve any first-observation time or position shown by the application instead of replacing it with refinement callback time. - The first confirmed marker and refined campaign fields are sticky. A later marker miss or duplicate callback must not downgrade that row.
- An intervening
campaign.materialIdseals the previous segment. A delayed callback for its older activity ID must not rewrite a historical row.
v5.0.5
Changelog
Android SDK 5.0.5 now exposes the server activity ID on initial and refined campaign callbacks. Applications can use this identity to replace an initial fingerprint result with its marker-refined result without deriving identity from campaign or material IDs. Existing campaign callbacks and public SDK APIs remain compatible.
v5.0.3
Changelog
AudioPack Hardening and Stable SDK Update
This release promotes the Android SDK and Maven package to stable 5.0.3 and updates the recognition engine to NADA 0.6.3 with hardened AudioPack loading.
Improvements
- Added AudioPack load budgets so malformed or oversized packs are rejected before they can consume excessive resources.
- Applied AudioPack replacements and appends transactionally so a failed pack leaves the active recognition database intact and usable.
- Serialized AudioPack writer operations to make concurrent database updates safer.
- Added validation for nonzero matcher and feature extractor configuration values while preserving the Android SDK defaults.
- Verified that the bundled recognition model and valid account AudioPacks continue to load normally.
Notes
AudioPack limits use the SDK defaults and are not exposed as public Android configuration options.
v5.0.2
Changelog
Segment Mapping Corrections
This release improves multi-segment material matching and updates the Android recognition engine to NADA 0.6.2.
Improvements
- Corrected segment selection when source-time segment metadata includes the leading gap removed during fingerprint extraction.
- Preserved segment-local match positions and durations for concatenated materials.
- Updated the native recognition dependencies to NADA
0.6.2.
v5.0.1
Changelog
Segment-Aware Matching and Packaging Update
This release adds segment-aware match metadata and improves shrinker compatibility for applications that consume the published Maven AAR.
Improvements
- Added segment-local position and duration handling for concatenated materials.
- Propagated match duration through the JNI-backed
AudioDB.MatchResultsurface. - Bundled the required Parcelize consumer R8 and ProGuard rule in the SDK AAR.
- Kept direct Maven integrations compatible with normal release minification.
v5.0.0
Changelog
Major SDK and Audio Marker Update
This release introduces the rebuilt NADA recognition engine and adds opt-in Audio Marker recognition alongside the existing audio fingerprint flow.
Improvements
- Replaced the legacy native matcher with the Rust-backed NADA recognition engine.
- Added pitch-variant-aware matching and more stable continuous capture on Android 10 and later.
- Added opt-in Audio Marker recognition with
SORIConfig(audiomarker = true). - Preserved the default fingerprint-only behavior unless Audio Marker recognition is explicitly enabled.
- Added marker update callbacks through
onPatternMarkerChanged(marker). - Attached detected marker values to campaign results through
campaign.trait?.marker. - Updated Audio Marker handling to match the current SORI Console marker workflow.
- Improved recognition stream stability and marker state handling across repeated recognition windows.
- Reduced the public native and JNI symbol surface while preserving required release-build behavior.
- Refined SDK internals for better reliability, maintainability, and platform compatibility.
Notes
Applications that only need fingerprint recognition can continue using the existing integration flow. Enable Audio Marker recognition only when your SORI Console setup uses Audio Markers.
v4.3.7
Changelog
Stability Update
This release improves recognition lifecycle handling and makes repeated start and stop requests safer for production applications.
Improvements
- Improved handling for duplicate recognition start and stop requests.
- Added sample app controls for updating the recognition database more easily.
- Improved sample app lifecycle behavior for more reliable integration testing.
- Refined SDK state handling to reduce the chance of inconsistent runtime behavior.
v4.3.6
Changelog
Reliability Update
This release strengthens SDK initialization and database update behavior for more consistent application startup and update flows.
Improvements
- Improved singleton initialization for more predictable SDK setup.
- Enhanced database version persistence during update flows.
- Added recovery behavior for cases where pending audio pack application cannot be completed immediately.
- Updated Android platform compatibility targets for recent development environments.
v4.3.5
Changelog
Maintenance Update
This release improves state reset behavior to prevent stale recognition data from affecting later sessions.
Improvements
- Refined reset handling so duplicate-detection state is cleared when SDK state is reset.
- Improved consistency when applications restart recognition after clearing state.
- Reduced the chance of stale runtime data affecting subsequent recognition sessions.
v4.3.4
Changelog
Performance and Stability Update
This release improves event delivery behavior and campaign result consistency under active recognition workloads.
Improvements
- Improved event handling under high activity to support smoother result delivery.
- Refined campaign deduplication for more consistent recognition outcomes.
- Reduced the chance of redundant campaign notifications in edge cases.
v4.3.3
Changelog
Reliability and Performance Update
This release focuses on foreground service reliability, event delivery performance, and Android platform compatibility.
Improvements
- Improved recognition result delivery performance.
- Enhanced foreground service recovery across app restarts and reconnections.
- Improved notification persistence for long-running recognition sessions.
- Added explicit foreground service type support for recent Android versions.
- Strengthened thread-safety and resource management across core SDK components.
- Reduced duplicate campaign events across multiple delivery paths.
- Refined internal organization to improve maintainability.
v4.3.2
Changelog
Network Reliability Update
This release adds stronger network resilience for recognition requests and background delivery.
Improvements
- Added configurable network handling and listener support.
- Improved request queuing when network connectivity is unavailable.
- Enhanced error handling for authentication and audio pack download flows.
- Improved delayed sending behavior for queued requests.
- Improved network monitoring compatibility across Android API levels.
- Added Android 15 compatibility improvements for native libraries.
- Improved metadata delivery in API requests.
- Strengthened foreground service notification behavior.
Notes
Review the network handling guide if your application needs custom behavior when connectivity is unavailable.
v4.3.0
Changelog
Background Update Support
This release adds support for updating recognition data independently from active recognition flows.
Improvements
- Added a standalone database update method for refreshing recognition materials.
- Added WorkManager integration guidance for periodic background updates.
- Improved Android 15 foreground service time-limit handling.
- Improved update behavior when recognition is not currently running.
- Refined preference serialization and error handling.
- Improved Android build and documentation artifact generation.
Notes
Applications that need automated recognition data refreshes can use the background database update guide.
