SAS® SDK Release Notes

Version 30.17.0

Notes:

  • Miscellaneous bug fixes

Version 30.16.0

Notes:

  • Miscellaneous bug fixes

Version 30.14.0

Notes:

  • Miscellaneous bug fixes

Version 30.13.0

Notes:

  • Miscellaneous bug fixes

Version 30.12.0

Notes:

  • Miscellaneous bug fixes

Version 30.11.0

Notes:

  • Miscellaneous bug fixes

Version 30.10.0

Notes:

  • Upgrade of various library dependencies

  • Miscellaneous bug fixes

Version 30.9.0

Notes:

  • Miscellaneous bug fixes

Version 30.8.0

Notes:

  • Miscellaneous bug fixes

Version 30.7.0

Notes:

  • Miscellaneous bug fixes

Version 30.5.0

Notes:

  • Miscellaneous bug fixes

Version 30.4.0

Notes:

  • Upgrade of various library dependencies

Version 30.3.0

Notes:

  • Upgrade of various library dependencies

Version 30.2.0

Notes:

  • targetSdkVersion has been updated to 33
  • Upgrade of various library dependencies

Version 30.1.0

Notes:

  • targetSdkVersion has been updated to 32
  • Upgrade of various library dependencies

Version 30.0.0

Notes:

  • minSdkVersion has been reverted to 24
  • targetSdkVersion has been updated to 31
  • Upgrade of various library dependencies

Version 29.0.0

Notes:

  • minSdkVersion has been updated to 28
  • targetSdkVersion has been updated to 31
  • Upgrade of various library dependencies

Version 28.15.0

Notes:

  • Addition of an SASManagerContext.authProvider property to provide pluggable support for single sign-on (SSO)

  • Upgrade of various library dependencies

Version 28.0.0

Notes:

  • Upgrade of various library dependencies

Version 27.0.0

Notes:

  • New APIs added to access individual Report objects from a report.
  • New Covid-19 Tracker sample app added to SAS SDK for Android Examples. The Covid-19 tracker app illustrates the use of the new report object APIs to build a completely custom presentation of the report content within a new app.

Version 26.0.1

Notes:

  • compileSDKVersion and build tools versions have been updated to 29
  • SDK now includes binaries for both arm64 and x86_64 architectures

Version 26.0.0

Notes:

  • minSdkVersion has been updated to 23

Version 8.34

Notes:

  • The name of a required shared provider key has changed

    from: sas_sdk_shared_provider_auth

    to: sas_sdk_shared_file_provider_auth

    Please update the property key in donottranslate.xml.

  • Update your app theme to inherit from Theme.MaterialComponents (or a descendant)

  • The CustomApp example now connects to and downloads reports from the Try Before you Buy server.

Version 8.33

Notes:

  • Kotlin version has been updated to 1.3.0
  • Migrated to Android X:
    • For complete instructions on the migration visit: Official Migration Guide.

    • Example:

      In the build.gradle file

      Replace: implementation com.android.support:appcompat-v7:28.0.0

      With: implementation androidx.appcompat:appcompat:1.0.2

Version 8.32

Notes:

  • compileSDKVersion and build tools versions have been updated to 28
  • ReportViewContoller:
    • AddFullScreenListener/RemoveFullScreenListener has been removed in favor of ReportEvents and addReportEventListener
  • ConnectionCreateDescriptor has been removed and its password property absorbed into ConnectionDescriptor. The reports property containing a list of ReportDescriptors has been removed. These ReportDescriptors are now passed in to SASManager.create().
  • SASManager:
    • create()
      • Now takes ConnectionDescriptor instead of ConnectionCreateDescriptor
      • Now takes a list of ReportDescriptors. These were previously contained in ConnectionCreateDescriptor.

Update Instructions:

  • ConnectionCreateDescriptor:
    • Replace any usage of ConnectionCreateDescriptor with a ConnectionDescriptor, including the same password property that was previously used in ConnectionCreateDescriptor.
    • Pass the list of reports that used to be contained by ConnectionCreateDescriptor to the method SASManager.create() when establishing a connection.
  • ReportViewController:
    • If you are using the addFullScreenListener/removeFullScreenListener, you’ll need to replace that implementation with a ReportEventListener and check for the FullScreenRequest ReportEvent type.
      • Example:

        it.addReportEventListener { reportEvent ->
            when (reportEvent) {
                is FullScreenRequest -> supportActionBar?.run {
                    if (reportEvent.fullScreen) {
                       hide()
                    } else {
                       show()
                    }
                }
            }
        }