Releases: smartscanapp/smartscan-android-lib
Releases · smartscanapp/smartscan-android-lib
v1.1.1
- Added new text embedding provider, Mini-LM
- Add
initializedandisInitializedtoIEmbeddingProvider
Changed
- IEmbeddingProvider is require to provider
embeddingDimvariable (used to be optional) - Renamed
embeddingLengthtoembeddingDimforFileEmbeddingStoreconstructor param - Move interfaces:
- Moved to core/embeddings:
IEmbeddingStore,IRetriever,IEmbeddingProvider - Moved to core/processor:
IProcessorListener - Moved to ml/models:
IModelLoader
- Moved to core/embeddings:
v1.1.0
Changed
-
Project structure refactored from core + extensions to core + ml.
-
Imports updated accordingly:
- core → minimal runtime: shared interfaces, data classes, embeddings, media helpers, processor execution, and efficient batch/concurrent processing.
- ml → ML infrastructure and models: model loaders, base models, embedding providers (e.g., CLIP), and few-shot classifiers. Optional or experimental ML-related features can be added under
ml/providers. - Both modules organize contracts and data classes under their own
data/packages.
-
All
IEmbeddingProvidersmust now implementembedBatch -
ClipImageEmbedderandClipTextEmbeddernow accept context instead of resources -
BatchProcessornow accepts aContext(usesapplicationContextinternally).
Fix
- fix
ClipTextEmbedder: prevent IllegalCapacity in embed
Removed
Organiserclass removed.
Notes
This release replaces the old core and extensions structure.
If you are upgrading from ≤1.0.4, update imports and Gradle dependencies.
v1.0.4
Changed
- Pass file directly in
FileEmbeddingStoreconstructor instead of dir and filename - Update batch processor to ensure progress is tracked correctly regardless of errors
- Update batch processor to call onComplete even if items is empty
v1.0.3
Added
FileEmbeddingRetrievernow supports batch retrieval viastartandendindices with a newqueryoverload.FileEmbeddingStoregetAllmethod renamed toget, and two new overloads added:get(ids: List<Long>)– fetch multiple embeddings by ID.get(id: Long)– fetch a single embedding by ID.
- Tests added to verify correct behavior and boundary handling for the new query overload.
v1.0.2
Changed
- Moved MemoryUtils into processor
- Moved IProcessorListener to its own file
- Moved MemoryOptions into ProcessorData.kt
- Update indexers to users correctly named parameter item instead of id to prevent issues with named parameters
Fixed
- Fixed typo in getScaledDimension function
v1.0.1
Changed
- IEmbeddingStore interface - getAll, isCached, exist
- Use linked hashmap for cache instead of list
- Pass store to Indexers
- Update tests
v1.0.0
Initial release