Releases: dhis2/dhis2-android-sdk
Release 1.11.0.1
Bugs
ANDROSDK-1945
Endpoint /api/ping is not available in older patches of some DHIS2 major versions
Release 1.11.0
Features
ANDROSDK-1615
Date: implement period generator for KMM
ANDROSDK-1916
Download fileResources granularly
ANDROSDK-1899
Implement missing period type (Quarterly November)
ANDROSDK-1897
Create new properties for map configuration (accuracy and manual capture)
ANDROSDK-1919
Add support for TrackedEntity LineList
ANDROSDK-1870
Add support for Category in Line Listing
ANDROSDK-1867
Add non-authorized server ping service
ANDROSDK-1621
Replace Retrofit with KMM alternative Ktor
ANDROSDK-1891
Expose Ktor method for public API interaction
Bugs
ANDROSDK-1889
Property `isOnline` is not correctly evaluted in Tracker Search
ANDROSDK-1898
Filter by Category not working in TrackerVisualization
ANDROSDK-1907
Filter by dataElement value does not respect program indicator boundaries
ANDROSDK-1908
Add property displayContent in programRuleAction
ANDROSDK-1923
Crash on android 7.0 and lower
ANDROSDK-1924
Update lastest version algorithm to match logic in the APK Distribution app
ANDROSDK-1930
Network connection is closed or reset
ANDROSDK-1931
fix list parameters in request builder
ANDROSDK-1933
Relationship is created without creation date
ANDROSDK-1936
Expired cookie redirection not correctly handled
ANDROSDK-1939
EventService is returning EXPIRED event when expiryDays is 0
ANDROSDK-1940
Size parameter to download images is not correct
Library updates:
ANDROSDK-1873
Remove Flipper dependencies
ANDROSDK-1900
Remove Calendar dependencies
ANDROSDK-1888
Remove retrofit dependencies
ANDROSDK-1874
Upgrade to Kotlin 2.0
Breaking changes
- Ongoing migration from Java to Kotlin may cause warnings and breaking changes.
- The Retrofit http client service has been replaced with the KMM alternative Ktor. This change implied migrating all the API services to accommodate Ktor requirements. A detailed explanation and a guide for updating API services can be found here.
Release 1.10.1
Bug
ANDROSDK-1883 Program indicator engine shows NaN
ANDROSDK-1871 Program labels are not translated
ANDROSDK-1876 SQL query was failing with orgunit names including single quotes
ANDROSDK-1882 DataSetIntance evaluation does not filter by assgined orgunits
ANDROSDK-1885 Tracker importer: quicker cancellation of uncreated job
ANDROSDK-1893 Program specific setting (limit by orgunit) is overriden by global parameter
ANDROSDK-1868 Ignore null dimensions in Visualizations
ANDROSDK-1394 Do no change state if value is not changed
Release 1.10.0.1
Bug
ANDROSDK-1866 Events without registration are not downloaded
Release 1.10.0
Features
ANDROSDK-1218 Import / Export database
ANDROSDK-1630 Download custom icons for metadata
ANDROSDK-1799 Line listing in local analytics
ANDROSDK-1801 Support multiselect in analytics
ANDROSDK-1695 Download attributes/dataElements to display in relationships
ANDROSDK-1750 Add option to bypass DHIS2 version restriction
ANDROSDK-1800 Download configurable basemaps
ANDROSDK-1803 Add keyDefaultBaseMap property in SystemSettings
ANDROSDK-1806 Download custom tracker terminology
ANDROSDK-1816 Restrict APK distribution version by userGroup
ANDROSDK-1817 Download userGroups
ANDROSDK-1833 Create method .getCurrentAccount() in AccountManager
ANDROSDK-1839 Expose api/system/ping call
Bug
ANDROSDK-1852 Android API <= 24 fail to login in Let's encrypt servers
ANDROSDK-1818 OpenID login is failing due to database check
ANDROSDK-1825 EventService: method `isEventExpired` fails when eventDate is null
ANDROSDK-1835 Editable events crashes when no event or due date provided
ANDROSDK-1841 [Crash] ParserException: Invalid string token 'AVG' at line:1 character:0
Library updates:
ANDROSDK-1789 Implement Paging3
Update Gradle (8.3.1)
Release 1.9.1
Bugfixes:
- New tracker import: do not send values that have not been modified (trackerDataValues, attributeValues) (ANDROSDK-1564).
- Add missing value type validators (ANDROSDK-1777).
- Expose Attribute collection repository (ANDROSDK-1776).
- Database is not responsive when using encryption (ANDROSDK-1784).
Library updates:
- Update kotlin (1.9.21 and gradle (8.2.0) (ANDROSDK-1793).
- Update SQLCipher (4.5.5).
Release 1.9.0
Features
- ANDROSDK-1743 Evaluate a TEI header
- ANDROSDK-1728 Add a parameter to define a TEI header per program
- ANDROSDK-1688 Add ObjectStyle to Indicators
- ANDROSDK-1723 Add
disableReferrals
field in Android Settings model - ANDROSDK-1724 Add
disableCollapsibleSections
field in Android Settings model - ANDROSDK-1725 Add
description
field ProgramStageSection
Bug
- ANDROSDK-1694 Remove initial "transfers" query in Tracker upload
- ANDROSDK-1745 Event status filter is not applied if event date fiter is null
- ANDROSDK-1749 Inherit IMAGE attribute is not created in inherited TEI
- ANDROSDK-1765 Download ProgramStageSection render type
- ANDROSDK-1767 Reinforce method "isLogged" in UserModule
Library changes:
- ANDROSDK-1737 Update Kotlin version to 1.9.10.
- ANDROSDK-1740 Upgrade OkHttp library to 4.10.0. It might imply the update of OkHttp resolution to at least 4.10.0.
- ANDROSDK-1618 Dagger is replaced by Koin
- Some changes in the SDK forces to update Gradle to >= 7.4.2 in the consuming app.
Breaking changes:
-
If you are using Kotlin, you might experience some breaking changes in your code. These changes come from the continuous refactor of the codebase to Kotlin and usually they cannot be avoided. They have to do with how Java and Kotlin deal with nullability and, in general, these changes will introduce more robustness (null safety) in your code.
A common change is the return type of different methods, such as
ObjectRepository
. Taking DataElement as an example, this query (dataElements().uid("uid").get()) in the JAVA-implemented repository will return aDataElement!
in Kotlin, which means that it can't tell if the returned object is nullable or not. In this case, the Kotlin compiler let you deal with these object as if they were NonNull, which could lead to a NullPointerException. Now, the repository will return aDataElement?
, which explicitly informs about the nullability of the object.
Release 1.8.2
Bugfix:
- Do not send dataValues / attributes that are not assigned to a program (ANDROSDK-1704).
- If search text contains a comma the api fails (ANDROSDK-1219).
- Network authentication does not support special characters (ANDROSDK-1739).
- Login offline in local instance is not working (ANDROSDK-1706).
- Relationship with missed item are not properly cleaned (ANDROSDK-1715).
Release 1.8.1.1
Bugfix:
- Missing Visualization after update to 1.8.1 (ANDROSDK-1692).
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).