Skip to content

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.activityId can refine only the current row. Do not search the entire history for a row to replace.
  • The activity transport keeps its original recognized_at and position. 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.materialId seals 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.MatchResult surface.
  • 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.