Releases: google-ar/arcore-android-sdk
ARCore SDK for Android v1.14.1
Note: This is a Google Play Services for AR (APK) only release.
Bug fixes
- Fixes an issue that caused Google Play Services for AR to crash on some devices
ARCore SDK for Android v1.14.0
Breaking & behavioral changes
None.
New APIs and capabilities
- Added
CAMERA_UNAVAILABLE
to theTrackingFailureReason
enumeration to represent a temporary loss of the camera to another app on the device. After an app regains priority, tracking will resume. - Adds native error stack traces for some status failures.
Deprecations
None.
Other changes
None.
Bug fixes
- Fixed the Shared Camera sample's black frame flicker when switching between AR and non-AR modes.
ARCore SDK for Android v1.13.0
Breaking & behavioral changes
None.
New APIs and capabilities
None.
Deprecations
None.
Other changes
- Updated the samples gradle plugin to 3.5.0 (fixes "Gradle Sync error: No value has been specified for property manifestOutputDirectory").
- Fixed a compiler warning in C apps ("warning: explicitly defaulted default constructor is implicitly deleted").
Bug fixes
- Apps built with ARCore SDK 1.13 and later now correctly verify that the camera permission has been granted at ARCore session creation time. This check was missing in Google Play Services for AR (ARCore) 1.8 through 1.12, causing apps built with ARCore SDK 1.12 and earlier to fail to create an ARCore session on some devices, but succeed on others.
ARCore SDK for Android v1.12.1
Note: This is a Google Play Services for AR (APK) only release.
Bug fixes
- Fixes issues affecting users of Google Maps AR Walking Directions.
ARCore SDK for Android v1.12.0
Breaking & behavioral changes
-
The data captured by
hostCloudAnchor()
(Java) andArSession_hostAndAcquireNewCloudAnchor()
(NDK), which is uploaded to the ARCore Cloud Anchor API service has changed. See https://developers.google.com/ar/develop/java/cloud-anchors/overview-android#how-hosted to learn more. -
resolveCloudAnchor()
(Java) andArSession_resolveAndAcquireNewCloudAnchor()
(NDK) will no longer timeout or fail when the ARCore Cloud Anchor API service is unreachable, or the anchor cannot be immediately resolved. Instead, the API will continue to attempt to resolve the provided anchors until they are detached.- Java:
ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andERROR_SERVICE_UNAVAILABLE
enums inCloudAnchorState
are now deprecated and will no longer be returned. - NDK:
AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andAR_CLOUD_ANCHOR_STATE_ERROR_SERVICE_UNAVAILABLE
enums in theArCloudAnchorState
are now deprecated and will no longer be returned.
These changes only affect apps built with ARCore SDK 1.12 or later. Apps built with older SDKs will not be affected by this change, and will continue to observe old behavior.
- Java:
New APIs and capabilities
- There is a new enum value that can be set for a Cloud Anchor's state. The
ERROR_HOSTING_SERVICE_UNAVAILABLE
value will be set for a Cloud Anchor during the hosting process, if the ARCore Cloud Anchor service is unreachable.
Deprecations
- The following enum values in the
CloudAnchorState
are being deprecated:- Java:
ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andERROR_SERVICE_UNAVAILABLE
enums inCloudAnchorState
are now deprecated and will no longer be returned. - NDK:
AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andAR_CLOUD_ANCHOR_STATE_ERROR_SERVICE_UNAVAILABLE
enums in theArCloudAnchorState
are now deprecated and will no longer be returned.
- Java:
Other changes
None.
Bug fixes
None.
ARCore SDK for Android v1.11.0
Breaking & behavioral changes
- ARCore now targets 60fps on supported devices. Use new camera config filters to target 30fps on all ARCore devices. See ARCore supported devices for a list of supported devices.
- All sample apps will now allow the device to sleep when tracking is lost, such as when the device is placed on a table or in a pocket or bag.
New APIs and capabilities
- Ability to filter camera configurations based on Target FPS and Depth Sensor Usage:
- New
CameraConfigFilter
class (Java) andArCameraConfigFilter_*()
functions (NDK) let an app filter theCameraConfig
list based on Target FPS and/or Depth Camera Usage. - New
Session.getSupportedCameraConfigs(CameraConfigFilter)
(Java) andArSession_getSupportedCameraConfigsWithFilter(…)
(NDK) returns a list of supported camera configs based on the provided filter settings.
- New
Deprecations
Session.getSupportedCameraConfigs()
(Java) andArSession_getSupportedCameraConfigs(…)
(NDK) are now deprecated. UsegetSupportedCameraConfigs(CameraConfigFilter)
(Java) andArSession_getSupportedCameraConfigsWithFilter(…)
(NDK) instead.
Other changes
- The ARCore service has been renamed to Google Play Services for AR. On Google Play devices it is now distributed as part of Google Play Services.
- The samples have been updated to Gradle 5.4.1 and Android Gradle Plugin 3.4.1.
- Samples now uses white for all detected planes, to avoid confusion due to users inferring meaning from the different colors.
- Fixed a memory leak that occurs when an Activity is passed in as the Application Context during Session creation.
- Added a switch to Computer Vision sample for toggling RGB camera passthrough.
Bug fixes
None
ARCore SDK for Android v1.10.0
Breaking & behavioral changes
- None
New APIs and capabilities
- New Environmental HDR mode added to Light Estimation API.
- Environmental HDR provides developers with three APIs to replicate real world lighting when using the back-facing camera:
- Main Directional Light: helps with casting shadows in the right direction.
- Ambient Spherical Harmonics: helps model ambient illumination from all directions.
- HDR Cubemap: provides specular highlights and reflections.
- Environmental HDR provides developers with three APIs to replicate real world lighting when using the back-facing camera:
- Add
ArImage_*
methods to access CPU image data not through Android NDK.
Deprecations
ArImage_getNdkImage(const ArImage* image, const AImage** out_ndk_image)
(NDK) is now deprecated. Use the otherArImage_*
functions to obtain image data.
Other changes
- Java
Config
setters now returnthis
, which allows method call chaining:session.configure(new Config(session).setA(..).setB(..));
. - Augmented Faces runs faster and consumes less power.
Bug fixes
- Previously, enabling Cloud Anchor mode with the front-facing (selfie) camera did not return an unsupported configuration error. This is now fixed.
ARCore SDK for Android v1.9.1
Note: this is an ARCore APK-only release (version 1.9.1).
SDK version remains unchanged (version 1.9.0).
Bug fixes
- Updates ARCore APK to add support for Oneplus 3T and Samsung A60. For a complete list of supported devices, see the ARCore Supported Devices page.
ARCore SDK for Android v1.9.0
Breaking changes/behavioral changes
- When using a Session that is configured to use a front-facing (selfie) camera,
getSupportedCameraConfigs()
will return one or more supported camera configs. For apps built using ARCore SDK 1.7.0 or 1.8.0, three identical camera configs were returned when using the front-facing (selfie) camera. getMeshTriangleIndices(…)
now returns aShortBuffer
instead of aCharBuffer
.- Augmented Images are now tracked once they leave the camera frame. See "New APIs and capabilities" below for details.
New APIs and capabilities
- ARCore can now track moving Augmented Images. Previously, images were assumed to not move, and their pose would only be updated infrequently.
- ARCore can continue tracking images even though they are longer visible to the camera. Use
AugmentedImage#getTrackingMethod()
(Java) orArAugmentedImage_getTrackingMethod()
(NDK) to determine whether the image is currently being tracked by the camera (FULL_TRACKING
), or is being tracked based on its last known pose (LAST_KNOWN_POSE
). - Adds the Scene Viewer feature, which can be used to view 3D models in AR from most Android browsers with the
<model-viewer>
web component.
Other changes
- Removes the check for the device tracking state in augmented_image_c and augmented_image_java samples. Augmented Images now can track images when the device tracking state is not tracking.
Bug fixes
- Fixed a
NullPointerException
that was thrown when setting a nullAugmentedImageDatabase
in the session configuration. - Fixed issue causing face meshes to only render on Android O (API Level 26) and above devices, due to mesh data being returned with incorrect byte order.
ARCore SDK for Android v1.8.0
Behavioral changes
- Auto Focus has been enabled by default in augmented_image_c and augmented_image_java samples, to improve with tracking of small, nearby image targets on devices where the ARCore camera supports Auto Focus.
Bug fixes
- Issue #683, Issue #729:
- Fixed CPU Image Access on Xiaomi devices: Mi 8, Mi 8 SE, Mi Mix 2S, Mi Mix 3 and Pocophone F1.