Release 1.8.0
Features:
- New Tracker endpoint by default in 2.40: use new exporter (ANDROSDK-1641) and new importer by default (ANDROSDK-1634).
- AccountManager: add "syncState" property in DatabaseAccount (ANDROSDK-1593).
- AccountManager: make "maxAccounts" nullable, meaning limitless (ANDROSDK-1631).
- ProgramStageWorkingList support (ANDROSDK-1637, ANDROSDK-1650).
- Add DataValueConflict repository (ANDROSDK-1612).
- Add online DataStore repository (ANDROSDK-1588).
- Add MULTI_TEXT value type (ANDROSDK-1636).
- Add CANVAS ValueTypeRenderingType (ANDROSDK-1640).
- Analytics: add support for query modifiers (ANDROSDK-1569).
- Analytics: add NULL literal (ANDROSDK-1629).
- Visualization settings: method to filter by program or dataSet (ANDROSDK-1566).
- TrackedEntityAttribute: add "confidential" property (ANDROSDK-1613).
- ProgramStage: add "validationStrategy" property (ANDROSDK-1648).
Bugfix:
- Properties "createdAtClient" and "lastUpdatedAtClient" are set to null in the device after data download (ANDROSDK-1653).
- Property "completeBy" is ignored in events (ANDROSDK-1659).
- Relationships are not persisted if they are download in other bundle (ANDROSDK-1645).
- Remove incomplete or inaccessible CategoryOptionCombos (ANDROSDK-1592).
Libraries:
- Added dependency with "kotlinx-datetime".
- Added dependency with "kotlin-coroutines".
- Removed Apache libraries (commons-lang3, jexl).
- Removed Jode Time library.
Breaking changes:
- Applications must enable coreLibraryDesugaring. The SDK uses kotlinx-datetime, which requires desugaring for Android API < 26 (Google devs docs) (ANDROSDK-1632).
- DHISVersionManager: removed shortcut methods to check the version (such as
is2_38(), is2_39(),...
). These methods can be easily replaced by the methodisVersion(DHISVersion.V2_38)
,isVersion(DHISVersion.V2_39)
,... . - Remove method "withCategoryOptionCombos()" in "CategoryComboCollectionRepository". Those objects were not nested in the CategoryCombos, so it was useless.
- UserCredentials class is simplified and the repository is marked as deprecated. The class UserCredentials has been deprecated in the backend. The SDK keeps the repository and the class with a few properties (username, name, userRoles). Now, these properties are owned by the User class, so use User class instead (ANDROSDK-1584).