Releases: dhis2/dhis2-android-sdk
Releases · dhis2/dhis2-android-sdk
Release 1.8.1
Bugfix:
- Program indicators: implement support for operator "is...in" (ANDROSDK-1686), add missing support for d2:minValue and d2:maxValue functions (ANDROSDK-1571).
- Analytics: calculation support (ANDROSDK-1687).
- Map download: add optional NetworkTimeout parameter (ANDROSDK-1690).
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).
Release 1.7.1
Bugfix:
- Update SQLCipher to prevent "Defective OpenSSL Version (OpenSSL 1.1.1g)" (ANDROSDK-1611).
- File resize helper: store resized image in cache folder (ANDROSDK-1597).
- Include paging for options call (ANDROSDK-1601).
- Wrong composed Program Indicator expressions cause the App to crash (ANDROSDK-1604).
- Support open source maps (ANDROSDK-1605).
- Fix daysInBetween function to consider summer time (ANDROSDK-1606).
- DataSetInstance filters: filter by relevant attributeOptionCombo (ANDROSDK-1608), filter relevant period types (ANDROSDK-1600).
Release 1.7.0
New features:
- Data sync: notify about synchronized dataSets and programs (ANDROSDK-1550).
- Improved analytics support: program indicator boundaries (ANDROSDK-1433), missing variables in program indicator engine (ANDROSDK-1376), missing aggregation functions (ANDROSDK-1570), expose aggregation parameter in Analytics repo (ANDROSDK-1572), filter by attributeOptionCombo (ANDROSDK-1548).
- Event repository: filter by DataValue (ANDROSDK-1324).
- TrackedEntity repository: catch up support for new TEI filter format (working lists) (ANDROSDK-1560).
- FILE and IMAGE value types support: support for FILE and IMAGE value types has been extended to aggregated and tracker (ANDROSDK-1251, ANDROSDK-1567, ANDROSDK-1465).
- Program owner - Referrals: move permanently a TEI (ANDROSDK-1545).
- SMS synchronization: expose methods to enable synchronization with 3rd party apps (ANDROSDK-1575).
Important announcements:
- Google Play Services have been removed from the SDK in order to make it fully open-source. This is a requirement for uploading an app to some markets, such as F-Droid. Previously, the SDK only used Google Play Services to import SafetyNet and force the installation of security patches for network connections. This task can be done by other open-source alternatives, such as Conscrypt. So now the SDK is freed of these libraries and it is the responsibility of the application to decide if using Google Play Services, Conscrypt, or none of them. Check the docs to know how to setup an alternate provider or import the Google Play Services (Docs).
Breaking changes:
- Tracker download methods don't return
D2Progress
, butTrackerD2Progress
(that extendsD2Progress
). - Aggregate download methods don't return
D2Progress
, butAggregatedD2Progress
(that extendsD2Progress
). - Removed
followUp
,enrollmentStatus
andenrollmentCreatedPeriod
inTrackedEntityInstanceFilters.Builder
. UseentityQueryCriteria
instead.
Release 1.6.2
Bugfix:
- Remove incomplete relationships when removing data (ANDROSDK-1421).
- Adapt trackedEntityInstanceFilters to new fields in 2.38 (ANDROSDK-1502).
- TrackedEntityAttributes: add legendSets (ANDROSDK-1546) and aggregationType (ANDROSDK-1547).
- Analytics: add support for Event data items (ANDROSDK-1419).
- Unique constraint exception in DB (ANDROSDK-1561).
- Period generation exception (ANDROSDK-1562).
Minor breaking changes:
- Removed
periodTo
andperiodFrom
filters in repositoryTrackedEntityInstanceFilterRepository
. - Removed
followUp
,enrollmentStatus
andenrollmentCreatedPeriod
inTrackedEntityInstanceFilter.Builder
.
Release 1.6.1
Bugfix:
- Analytics: sort periods and remove duplicates (ANDROSDK-1543).
- Value evaluation in CoordinateEvaluator (ANDROSDK-1553).
- SMS version is not returned in patch releases (ANDROSDK-1554).
- TEI search does not return a single online result (ANDROSDK-1544).
Performance improvements:
- Download programIndicators relevant to the user (ANDROSDK-1519).
Release 1.6.0
New features:
- Multi user / multi server support (ANDROSDK-23).
- Break the glass support (ANDROSDK-489).
- Add legends support in analytics (ANDROSDK-1469, ANDROSDK-1472, ANDROSDK-1497).
- Update datavalue import conflict to 2.38 (ANDROSDK-1346).
- Enable new tracker importer in >= 2.38 (ANDROSDK-1509, ANDROSDK-1510).
- User management: delete DB when user is disabled (ANDROSDK-402), add observable to detect deleted accounts (ANDROSDK-1534).
- Add SectionRendering for ProgramSections (ANDROSDK-1492).
- Android Settings App: add messageOfTheDay (ANDROSDK-1500), add optionalSearch (ANDROSDK-1501).
- Use new endpoint to download CategoryOption - OrganisationUnit link (ANDROSDK-1523).
- Add excludeUids method in TEI query search (ANDROSDK-1533).
- Add explicit orderBy in TEI and Event download (ANDROSDK-1527).
Config:
- Drop support for DHIS2 2.29 (ANDROSDK-1516).
- Update Gradle and Kotlin version (ANDROSDK-1476).
- Update android sdkVersion: update targetSdkVersion to 31 (ANDROSDK-1513), update minSdkVersion to 21 (drop support for 4.4) (ANDROSDK-1345).
Breaking changes:
- The class ProgramStageSectionRendering has been renamed to SectionRendering. This class is used in both ProgramStageSection and ProgramSection. Dependent classes have been renamed as well (SectionDeviceRendering, SectionRenderingType).
- Add missing enums. It could be a breaking change if the enum is used in a
when
statement without an else, it would become non-exhaustive (ANDROSDK-1526).
Release 1.5.3
Bugfixes:
- Download CategoryOption - OrganisationUnit relation (ANDROSDK-1481).
- New tracker importer: support granular synchronization of file resources (ANDROSDK-1488).
- Do not list non-bidirectional relationships from "TO" component (ANDROSDK-1490).
- Debugging: do not return 'temporary-url' in server errors (ANDROSDK-1493).
Release 1.5.2
Bugfixes:
- LastUpdated is not properly used in global TEI download (ANDROSDK-1495).
Release 1.5.1
Bugfixes:
- Fix FileResource import handling (ANDROSDK-1487, ANDROSDK-1452).
- DataValue conflict message in 2.37 (ANDROSDK-1484).
- Post tracker data in ERROR or WARNING statuses (ANDROSDK-1479).
- Handle "relaxedChars" tomcat error (ANDROSDK-1477).
- New tracker importer: support single-event relationships (ANDROSDK-1468).
- Relationships: update status of FROM component in unidirectional relationships (ANDROSDK-1473).
- Add title and subtitle to Visualization (ANDROSDK-1453).
- Support followUp filter in working lists (ANDROSDK-1462).
- Settings app: add custom name in visualization objects (ANDROSDK-1478)