Releases: microsoftconnect/ms-intune-app-sdk-android
Version 10.3.1
MAM SDK Changes
• Handle crashes caused by UnsupportedOperationExceptio when resources cannot be found for an app specific theme.
• Track managed dialog requirement per identity.
• Track wipe requirement for PIN retries exceeded per identity.
• MAMUserInfo getPrimaryUser and getPrimaryUserOID methods will throw UnsupportedOperationException if called when multiple managed identities is enabled. This is a forward-looking change -- multiple managed identities is not yet supported in production.
Version 10.2.1
What’s New
- MAM SDK API methods that take UPNs to specify identities are deprecated. They will be removed completely at the next major version increment. New methods that specify identities by OID (also known as AAD User ID, AAD ID or Entra ID) should be used instead. See the MAM SDK integration guide and javadocs for details.
- Remove single identity assumptions in the enrolled identity and MAM service URL caches.
- IMPORTANT: this update performs cache migrations that are not compatible for rollback. After updating and deploying, your app cannot downgrade to an earlier SDK version in a subsequent release.
Version 10.0.0
What’s New
- Support for Android 14 targeting.
- Update Javassist dependency to 3.29.2-GA.
- Update minimum supported MAM SDK version to Android 4.1 (API level 16).
- Fix behavior for
onQueryDeletedMedia
andonQueryMedia
inMAMCloudMediaProvider
- Fix
ClassNotFoundException
inOfflineActivityBehavior
. - Error telemetry improvements.
- Add Gradle build cache support for MAM plugin on AGP 7.4+.
Version 9.7.0
What’s New
- Add
MAMTrustedRootCertsManager
andMAMCertTrustWebViewClient
APIs for trusted root certificates support. - Fix
SecurityException
in isolated processes on devices with API 27 or under. - Remove no-longer-necessary ProGuard rules targeting the legacy Android
Support Libraries. SDK support for these was removed in8.0.0
. - Fix configuration cache and incremental build issues with new build plugin.
The new plugin is now fully supported for AGP 8. - Fix handling of int, float, and short in
MAMAppConfig
when
returning config from Android Enterprise (rather than Managed App - App Config) - Deprecate ADALConnectionDetails and remove obsolete meta-data authentication configurations.
- Preview build plugin is now part of the main artifact.
Applycom.microsoft.intune.mam-preview
to use the new behavior with
Android Gradle Plugin 7.4. The preview plugin is applied automatically
for AGP 8. - Add missing hooks for onActivityDestroyed in ActivityLifecycleCallbacks.
Version 9.5.0
What’s New
- Add
MAMTrustedRootCertsManager
andMAMCertTrustWebViewClient
APIs for trusted root certificates support. - Fix
SecurityException
in isolated processes on devices with API 27 or under.
Version 9.4.0
What’s New
- Add new preview build plugin to support Android Gradle Plugin 8.0.
This plugin can be applied by adding-preview
to the sdk version
and ensuring the-preview
library is included on the buildscript
classpath. - Add an overload to
MAMEnrollmentManager.unregisterAccountForMAM()
that takes the account's OID in addition to its UPN to more precisely
identify the account. MAMServiceAuthenticationCallbackExtended
interface is added to provide
an overload of theacquireToken
method that accepts additional parameters
for the AAD Tenant Id and the AAD Authority. Apps that need one or more
of these additional parameters to correctly acquire tokens should
implement this interface, but other apps don't need to.- Fix build plugin issue applying certain rewrites to super calls in
an invalid way. This could result in invalid bytecode (and then
runtime crashes) in apps which subclasses system services wrapped by
MAM, notablyLayoutInflater
. - The build plugin will now modify subclasses of
LayoutInflater
such
that they inherit fromMAMLayoutInflater
. - Add MAM Strict Mode check:
UNREGISTER_ACCOUNT_WITHIN_ACQUIRE_TOKEN
to
check for calls to the MAMEnrollmentManager'sunregisterAccountForMAM()
method from within the app-provided MAMServiceAuthenticationCallback's
acquireToken()
method. This can cause compliance remediation to fail,
and will not unregister the account.
Version 9.1.0
What’s New
- Fix incompatibility with
androidx.lifecycle:lifecycle-runtime:2.5.0+
that caused crash due to missing hooks for activityLifecycleCallbacks. - The build plugin will now replace inheritance of
FileBackupHelper
withMAMFileBackupHelper
andSharedPreferencesBackupHelper
withMAMSharedPreferencesBackupHelper
.
Version 9.0.1
What’s New
- Fix offline behavior for PackageManager methods added in API 33.
Version 9.0.0
What’s New
New Functionality
SDK 9.0.0 is the yearly major release that includes support for the new version of Android, Android 13 (API 33). If your app will target API 33, you must upgrade to SDK 9. If your app does not target API 33, it will continue to run properly on Android 13 devices without upgrading to SDK 9.
- Support for API 33 targeting.
- Add build plugin support for missing PackageManager method
getPackageInfo(VersionedPackage versionedPackage, int flags)
- The Build Tool CLI now supports accepting a plain-text file for the input and output parameters.
- Include API 33 Photo Picker tool in the
PHOTO_LIBRARY
location ofgetIsOpenFromLocationAllowed
andgetIsSaveToLocationAllowed
SDK methods. - The build plugin will now replace instantiation of
CloudMediaProvider
withMAMCloudMediaProvider
. - Support predictive back gestures in MAM-owned activities.
- Minor logging improvements to Gradle plugin.
- Add version check to Gradle plugin to prevent mamification when using Android Gradle Plugin 7.2.0/7.2.1 due to https://issuetracker.google.com/issues/232438924. Use AGP 7.1.3 and below or 7.2.2 and above.
Version 8.6.1
What's New
New Functionality
- The build plugin will now automatically replace inheritance/instantiation of
SurfaceView
,GLSurfaceView
andVideoView
with MAM-specific replacements. These are used to enforce editor policy restrictions on SurfaceViews. - Expanded
getIsOpenFromLocationAllowed
SDK method to includePHOTO_LIBRARY
location. Admins can now differentiate sharing policy for both camera and photos; apps that wish to honor this difference will need to take a code change.
Other Improvements
- Add ProGuard rule to SDK to fix R8 optimizations involving interfaces that have a single compile-time implementation. Currently, this is only known to impact scenarios involving MAMBackupAgentHelper.
- Fix synchronization issues arising when MAMServiceAuthenticationCallback instance is registered on a background thread.
- Add tracing and telemetry for monitoring and improving app startup time.
- Fix build plugin issue resulting in a
javassist.CannotCompileException
in certain projects. - The MAM SDK will attempt to validate tokens returned from the app's MAMServiceAuthenticationCallback instance, and tokens acquired with the wrong parameters may be rejected.
- Add MAM Strict Mode check: 'UNMANAGED_CONTEXT_FOUND' to validate that MAM found a managed
Context
to ensure policy enforcement. This would likely indicate a failure in the SDK surface modified by the build plugin or missing MAM SDK surface.
Other Notes
- API 32 / Android 12L targeting is supported and does not require an SDK update beyond API 31 / Android 12 targeting. If your app uses an 8.x series SDK, it can target API 32.