AlexaConfiguration::createMediaPlayerFingerprintConfig
for enabling Digital Rights Management (DRM) supportAudioOutput
interface to provide info required for playing DRM-protected audio.Communications
Local Voice Control
General
TemplateRuntime
display card for each template type. The Engine publishes the TemplateRuntime
interface messages ClearTemplate
and ClearPlayerInfo
based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent
Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2
) with a different timeout than other templates (e.g., WeatherTemplate
). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying
cards. You must implement your application’s dismissal logic for display cards and media info accordingly.AlexaClient.StopForegroundActivity
message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING
state AlexaClient.DialogStateChanged
transition.Car control
Communications
Entertainment
MediaPlaybackRequestor.RequestMediaPlayback
AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback
message.Local Voice Control
C++ sample app
AASB messages
within the required timeout to construct device context for Alexa. As a result, some utterances may not work as expected.MultiAgent
components in AVS Device SDK. All the AVS directives and events are tagged with assistant ID. With the new MultiAgent environment, agent-based metrics are also introduced. The metrics can now be filtered by assistants, programs, and sources.AlexaClient
messages, the payload of DialogStateChanged
message will now have the ID of the assistant that the change is associated.Alerts
AVS capability from the Engine. The corresponding Alerts
AASB messages and Engine configuration are also removed.AudioPlayer.SetAsForegroundActivity
, which the application can use to tell the Auto SDK Engine that the Alexa AudioPlayer
interface is the foreground media source the user sees on screen. The SetAsForegroundActivity
message is useful to ensure VUI and GUI commands act on the AudioPlayer
source for scenarios in which the user played an Alexa media source (e.g., Amazon Music), switched to a different Alexa-aware external media source like FM radio or a deep-linked media app, and then manually returned visual activity to the Alexa media screen. The Alexa Auto App is updated to use the new message in the Alexa MediaSession
.AudioOutput.Resume
message to the client app in cases where the client has not yet responded to the previous AudioOutput.Pause
message. This could cause a state where the SDK thinks the transient pause initiated for user and Alexa dialog never finished, preventing any further Alexa media from playing until the head unit restarts.DoNotDisturb
capability agent that could cause a crash during Engine shutdown.MessageStream::write()
to return 0 when writing the data to the consumer fails rather than returning the data size.TemplateRuntime.ClearTemplate
message at the right time.TemplateRuntime.ClearPlayerInfo
when the user signs out.Navigation.StartNavigation
AASB message did not include the correct POI details of the destination when the user selected the destination from the POI card shown on screen. Previously the “name” field in the template payload was populated with the address instead of the POI name.TemplateRuntime.RenderTemplate
message for the LocalSearchDetailTemplate1
card when the user started offline navigation with Alexa.General
TemplateRuntime
display card for each template type. The Engine publishes the TemplateRuntime
interface messages ClearTemplate
and ClearPlayerInfo
based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent
Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2
) with a different timeout than other templates (e.g., WeatherTemplate
). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying
cards. You must implement your application’s dismissal logic for display cards and media info accordingly.AlexaClient.StopForegroundActivity
message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING
state AlexaClient.DialogStateChanged
transition.Car control
Communications
Entertainment
MediaPlaybackRequestor.RequestMediaPlayback
AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback
message.Local Voice Control
C++ sample app
AASB messages
within the required timeout to construct device context for Alexa. As a result, some utterances may not work as expected.Note: All Auto SDK 4.1 extensions are compatible with 4.1.1.
General
TemplateRuntime
display card for each template type. The Engine publishes the TemplateRuntime
interface messages ClearTemplate
and ClearPlayerInfo
based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent
Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2
) with a different timeout than other templates (e.g., WeatherTemplate
). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying
cards. You must implement your application’s dismissal logic for display cards and media info accordingly.AlexaClient.StopForegroundActivity
message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING
state AlexaClient.DialogStateChanged
transition.Car control
Communications
Entertainment
MediaPlaybackRequestor.RequestMediaPlayback
AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback
message.AlexaClient.StopForegroundActivity
message to the Engine during music playback, the Engine might erroneously request your application to dismiss the NowPlaying
media info by publishing the TemplateRuntime.ClearPlayerInfo
message. Your application should not dismiss the media info in this scenario.Local Voice Control
AACS sample app
SpeakItem
or SpeakList
is executed.C++ sample app
AASB messages
within the required timeout to construct device context for Alexa. As a result, some utterances may not work as expected.Auto SDK
libcurl:openssl_version
to the Auto SDK build system recipes to specify the OpenSSL
version.AACS Sample App for Android Automotive OS
Auto SDK
ContextManager
, ExternalMediaPlayer
, and AACS.Navigation module
inserted an invalid error code in the payload of the ShowAlternativeRoutesFailed
event. Additionally added the NOT_NAVIGATING
error code to the Navigation AASB
interface. See the Navigation module documentation for info about which error codes to use.AACS Sample App
General
TemplateRuntime
display card for each template type. The Engine publishes the TemplateRuntime
interface messages ClearTemplate
and ClearPlayerInfo
based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent
Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2
) with a different timeout than other templates (e.g., WeatherTemplate
). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying
cards. You must implement your application’s dismissal logic for display cards and media info accordingly.AlexaClient.StopForegroundActivity
message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING
state AlexaClient.DialogStateChanged
transition.Car control
Communications
Entertainment
MediaPlaybackRequestor.RequestMediaPlayback
AASB message before the Auto SDK Engine connects to Alexa cloud, media playback will not automatically resume as expected. The workaround is to wait for the connection to Alexa cloud to complete before publishing the RequestMediaPlayback
message.AlexaClient.StopForegroundActivity
message to the Engine during music playback, the Engine might erroneously request your application to dismiss the NowPlaying
media info by publishing the TemplateRuntime.ClearPlayerInfo
message. Your application should not dismiss the media info in this scenario.Local Voice Control
C++ sample app
AASB messages
within the required timeout to construct device context for Alexa. As a result, some utterances may not work as expected.AACS sample app
SpeakItem
or SpeakList
is executed.Deprecated the C++ and Java platform interfaces in favor of an asynchronous message-based API. Auto SDK client applications use the new MessageBroker
to publish and subscribe to Alexa Auto Services Bridge (AASB) messages. The C++ sample app is refactored to use the new API to provide a reference implementation for Linux platforms. The Alexa Auto Client Service (AACS) sample app provides the reference implementation for Android platforms. See the Auto SDK Migration Guide for help migrating your application to use the new API.
Enhanced the Auto SDK build system with the Conan package manager. The new build system introduces modular builds, better dependency management, and simpler build artifacts. The Auto SDK build system includes the Auto SDK Builder Tool script, which wraps the Conan build commands with a simple interface similar to the previous version of Auto SDK Builder. See the Build Alexa Auto SDK documentation for details about the build system and the migration guide for help migrating your build to the new version of Builder Tool.
Extended the features of Alexa Presentation Language (APL) support for automotive. The APL
module provides messages to report vehicle properties such as the display theme, driving state, and ambient light conditions. The property settings affect how APL documents render on screen; for example, some APL content is automatically hidden when the vehicle starts moving, and the display contrast updates with the day or night mode setting. Auto SDK 4.0 supports APL 1.9. For more information about the Auto SDK APL
interface, see the APL module documentation.
Added the CustomDomain
interface, which establishes a bidirectional communication channel between your Auto SDK client application and your custom cloud skill. CustomDomain
includes messages for exchanging directives, events, and context between the vehicle and your skill, achieving a fully customizable experience. For more information about the Auto SDK CustomDomain
interface, See the Custom Domain module documentation.
Added the MediaPlaybackRequestor
interface, which enables Alexa to play the user’s favorite media content as soon as they start their vehicle. MediaPlaybackRequestor
simplifies content selection for the user by removing the need for the user to use buttons or voice commands to resume the Alexa media content that was playing when they stopped the vehicle. For more information about the Auto SDK MediaPlaybackRequestor
interface, See the Alexa module documentation.
Extended the AudioOutput
interface and added configuration to allow ducking Alexa media. Your application can use this feature for enhanced control of Alexa content audio focus according to your platform requirements. For more information about audio ducking, see the Core module documentation.
Updated the Auto SDK to use AVS Device SDK Version 1.25.0. For information about this version of AVS Device SDK, see the AVS Device SDK release notes.
Added LVC support for Alexa Custom Assistant specialized handoffs. You can configure the default fallback and self-introduction prompts for your custom assistant while offline. For more information, see the Alexa Custom Assistant
extension documentation.
Integrated the Auto SDK Conan build system enhancements to AACS and the AACS sample app. You can use a single Gradle command to build AACS and the AACS sample app without using the Auto SDK Builder Tool directly. For build instructions, see the AACS documentation.
Added the following enhancements to the AACS sample app:
Additional languages— The AACS sample app supports the following languages: US English (en-US
), Australian English (en-AU
), Canadian English (en-CA
), Indian English (en-IN
), British English (en-GB
), German (de-DE
), Spanish (es-ES
), Mexican Spanish (es-MX
), US Spanish (es-US
), French (fr-FR
), Canadian French (fr-CA
), Hindi (hi-IN
), Italian (it-IT
), Japanese (ja-JP
), and Brazilian Portuguese (pr-BR
).
The sample app language setting matches the device’s system language setting and syncs the with Alexa as long as the setting is in the supported language list. If Alexa does not support the system language, the sample app GUI defaults to en-US and presents a list of languages for the user to choose from. Once the user selects the language override, the system language does not sync with the sample app again until the user logs out or disables Alexa.
Network error prompts— You can configure the sample app to provide feedback to the user when Alexa cannot respond due internet connection issues. The feedback is a voice prompt or an error screen depending on the user action.
Alexa app assets— The sample app can show Alexa logos (assets) on the setup screen and display cards instead of showing placeholder assets.
Comms UI improvements— Updated the contacts uploading logic in the Comms UI
AACS app component to ensure the sample app only uploads the contacts for the primary phone.
Updated the AACS Telephony library to get the outgoing phone account using the Android standard API getDefaultOutgoingPhoneAccount
. AACS Telephony no longer sends an account query intent when receiving the PhoneCallController.Dial
message from the Auto SDK Engine.
Added a new intent com.amazon.aacstelephony.bluetooth.connectionCheckCompleted
, which AACS Telephony service broadcasts when it finishes the initial bluetooth connection check.
Updated the alexa-auto-lwa-auth
app component to use the Authorization
Auto SDK interface for CBL authorization.
Removed support for the Android 32-bit ARM architecture (i.e., armeabi-v7a
).
Moved several source code directories within the aac-sdk
root directory to support the enhanced build system.
Removed aac-sdk/platforms/android/
. The deprecated Java platform interfaces and JNI are in their respective modules. For example, the Alexa module Java interfaces and JNI are moved from aac-sdk/platforms/android/modules/alexa/
to aac-sdk/modules/alexa/android/
Removed aac-sdk/extensions/aasb/
because using AASB messages with MessageBroker is the primary Auto SDK API. AASB code for each module is in the respective module directory. For example, the AASB code for the Alexa module is in aac-sdk/modules/alexa/aasb/
. Note that the AASB message headers to include in your application are not in this directory since they are generated as part of the Auto SDK build output.
Moved aac-sdk/extensions/system-audio/
to aac-sdk/modules/system-audio/
Moved aac-sdk/extensions/bluetooth/
to aac-sdk/modules/bluetooth/
Moved aac-sdk/extensions/loopback-detector/
to aac-sdk/modules/loopback-detector/
Moved aac-sdk/platforms/android/alexa-auto-client-service/
to aac-sdk/aacs/android/
Moved aac-sdk/platforms/android/alexa-auto-client-service/app-components/
to aac-sdk/aacs/android/app-components/
Moved aac-sdk/samples/android-aacs-sample-app/
to aac-sdk/aacs/android/sample-app/
Moved aac-sdk/platforms/android/alexa-auto-client-service
/commonutils/
, /ipc/
, and /constants/
to aac-sdk/aacs/android/common/
Moved AACS media player files to a directory audioOutput
within aac-sdk/platforms/android/alexa-auto-client-service/service/
Moved the Media App Command and Control Android library from aac-sdk/platforms/android/maccandroid/
to aac-sdk/aacs/android/service/modules/maccandroid/
In the LVC extension, the LocalSearchProvider
AASB messages now have topic LocalNavigation
. For example, the existing message LocalSearchProvider.SearchRequest
in 3.3 is LocalNavigation.SearchRequest
in 4.0. The next major release version of Auto SDK will change the topic back to LocalSearchProvider
.
Deprecated the option to build AACS as an APK. Starting from Auto SDK 4.0, you can only build AACS as an AAR.
Removed the Android sample app based on the Java platform interfaces. The AACS sample app demonstrates using Auto SDK on Android.
Updated AASB configuration fields used for AACS. See the migration guide for details.
Fixed an issue preventing the generic DEFAULT
type LocalMediaSource
from working in offline mode with LVC.
Fixed a race condition in SpeechRecognizer
in which enabling wake word detection immediately after calling startCapture()
resulted in a missing call to stopAudioInput()
when wake word detection was later disabled.
Fixed a deadlock that could occur in an application that uses the deprecated AuthProvider
interface and starts, stops, and restarts the Engine in quick succession.
Fixed an issue in which Spotify playback commands were delayed on QNX.
Fixed an issue in which the Engine added malformed PhoneCallController
context to PhoneCallController
events sent to Alexa.
Fixed an issue in which AACS did not acquire audio focus prior to playing Alexa speech.
General
If you do not specify the deviceSettings.locales
field of the Alexa module configuration, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not automatically declare support for default locale combinations if you assign an empty value to the locales
field.
The Engine does not persist the aace.alexa.wakewordEnabled
Engine property setting across device reboots. Your application has to persist the setting and set the property again at each Engine start. AACS implements persisting this property and hence does not have this issue.
If your Linux platform does not use AVX2 instructions, the Amazonlite wake word library initialization causes an illegal instruction error.
When using LVC and stopping the Engine, the AlexaClient
connection status remains CONNECTED
because the connection to LVC is not disabled. Your application should not accept user utterances while the Engine is stopped despite the connection status showing CONNECTED
.
The Alexa Automotive UX guidelines specify when to automatically dismiss a TemplateRuntime
display card for each template type. The Engine publishes the TemplateRuntime
interface messages ClearTemplate
and ClearPlayerInfo
based on the timeouts configured in the aace.alexa.templateRuntimeCapabilityAgent
Engine configuration. However, the configuration does not provide enough granularity to specify timeouts for different types of display cards. Consequently, there is no way for your application to configure automatically dismissing local search templates (e.g., LocalSearchListTemplate2
) with a different timeout than other templates (e.g., WeatherTemplate
). The configuration also does not provide a way for you to specify infinite timeout for NowPlaying
cards. You must implement your application’s dismissal logic for display cards and media info accordingly.
When the user requests to view their list of timers on an APL-enabled application, they cannot use an utterance such as “Alexa, scroll up” to scroll through the list shown on the APL card.
There is a rare race condition in which publishing the AlexaClient.StopForegroundActivity
message does not cancel the active Alexa interaction. The race condition can happen when the application publishes the message at the beginning of the THINKING
state AlexaClient.DialogStateChanged
transition.
On the Poky Linux 32-bit platform, the C++ sample app shuts down with an error on launch.
In offline mode with LVC, you might not see the AlexaClient.DialogStateChanged
THINKING
state transition if the user invokes Alexa with hold-to-talk and your application provides the audio input data in one large chunk.
In offline mode with LVC, Alexa gets stuck in the THINKING
state and does not respond after changing the locale setting. The state recovers after a few minutes.
The CBL
module uses a backoff when refreshing the access token after expiry. If the internet is disconnected when the Engine attempts the refresh, it might take up to a minute to refresh the token after the internet connection is restored.
Some Core
module messages published by the Engine do not have a corresponding message for the application to report a handling failure. For example, if the user invokes Alexa by tap-to-talk, and the application cannot handle the AudioInput.StartAudioInput
message, the Engine assumes the application handled the message properly and will provide audio data. As a result, the Engine state and application state might become out of sync. The affected messages are the following:
AudioInput
:
StartAudioInput
AudioOutput
:
SetPosition
VolumeChanged
MutedStateChanged
Car control
Communications
Alexa does not understand DTMF utterances that include letters. For example, “press A” and “dial 3*#B” do not result in the correct DTMF directives.
Entertainment
If the user requests Alexa to read notifications while music is playing, they might hear the music play for a split second between the end of one notification and the start of the next.
When an external media player authorization is in progress during Engine shutdown, a rare race condition might cause the Engine to crash.
If your application cancels an Alexa interaction by sending the AlexaClient.StopForegroundActivity
message to the Engine during music playback, the Engine might erroneously request your application to dismiss the NowPlaying
media info by publishing the TemplateRuntime.ClearPlayerInfo
message. Your application should not dismiss the media info in this scenario.
When using the System Audio
module, Audible and Amazon music might not play correctly on i.MX8 boards.
Local search and navigation
AACS
AudioOutput
AASB messages), your application will not receive the AudioOutput.Stop
message if Alexa media is playing when AACS shuts down. As a workaround, your application can listen to AASB.StopService
or adopt AACSPinger
to listen to the STOPPED
state of AACS and stop the media accordingly.AACS Sample App
The AACS Sample App does not show the language selection screen when the app is built with Preview Mode.
The AACS Sample App only shows the language selection screen if there is a language mismatch with the system language setting at the first app launch.
Added the DeviceUsage
platform interface to provide the Alexa application network usage data to the Auto SDK Engine. The Auto SDK Engine emits this data as a metric to Amazon if Auto SDK is built with the Device Client Metrics
extension. For more information, see the Core module documentation
Local Navigation
module for the Local Voice Control (LVC)
extension. The LocalSearchProvider
platform interface now enables you to provide customers with offline navigation to street addresses, cities, and neighborhoods in addition to the existing support for local search and navigation to points of interest. See the Local Navigation module README for information about integrating the features.
Note: There are updates to the
LocalSearchProvider
APIs. See the Auto SDK Migration Guide for details.
Added a new generic DEFAULT
media source to the list of sources supported by the LocalMediaSource
platform interface. The DEFAULT source can be used for voice playback control of any arbitrary media sources on the infotainment system outside of deep-linked MACC applications using the ExternalMediaAdapter
interface and existing sources supported by name through the LocalMediaSource
interface. For details about integrating a default media source, see the Alexa module documentation.
Added offline LVC support for tuning to station names on terrestrial radio and SiriusXM. E.g., “Play CNN on Sirius XM” and “Play KISS FM”. This feature is already available in online mode.
Enhancements for AACS:
Added an app component called alexa-auto-carcontrol
that deeply integrates Auto SDK car control features into the Android Automotive OS. For more information about AACS deep integration to Car Control, please refer to this README.
Added an enhancement in which AACS can automatically sync Alexa’s timezone and locale properties with the device system settings when you set the syncSystemPropertyChange
field to true in your AACS configuration file. If you set the field to false or omit it, you still have flexibility to change the properties in your own implementation.
Enhancements for AACS Sample App:
Added a location sharing consent screen in Alexa setup and settings wherein the user has the option to enable or disable location sharing.
Added support for rendering for TemplateRuntime
display cards for the weather domain.
Added support for rendering Amazon Presentation Language (APL)
documents.
Added media player transport control improvements. For example, shuffle and loop transport controls are added, and disabled transport controls are displayed.
Added support for setup and setting menu specific to the Alexa Custom Assistant extension.
Android 11 requires the attribute android:foregroundServiceType
to be defined in services that require permissions such as microphone and location. This is added to the AACS Android Manifest file. Also, the compileSdkVersion
and targetSdkVersion
to are updated to 30 in build.gradle
.
Added a UserIdentity
value in AACS AuthStatus
when the user finishes CBL login.
Made the ‘stateOrRegion’ field optional in the AACS StartNavigation
directive JSON parser.
Implemented the AASB SetUserProfile
message in the CBL module to ensure the user email and username will be sent to the client application after user login when enableUserProfile
is set to true.
Fixed an issue that blocked a valid transition from the THINKING
to LISTENING
AlexaClient
dialog states.
Updated the PhoneCallControllerCapabilityAgent
to include context in PhoneCallController
events per the PhoneCallController
API specification.
Fixed a memory leak observed during Engine shutdown in the Local Voice Control
extension.
Fixed a rare deadlock issue during Engine stop and start when using the AuthProvider
interface.
Fixed an issue in which the Engine erroneously allowed 3,000 coordinates in the “shapes” array of navigation state queried via Navigation::getNavigationState()
. The limit is updated to 100 coordinates.
If the “locales” field of the “deviceSettings” node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not declare support for locale combinations if the “locales” field is assigned an empty value.
The wakewordEnabled
property is not persistent across device reboots. If you use AACS, however, this issue does not occur.
For Linux platforms, if your hardware does not use AVX2 instructions, the wake word library initialization causes an illegal instruction error.
When using LVC and calling Engine::stop(), the AlexaClient connection status remains CONNECTED because the connection to LVC is not disabled. Your implementation should not accept user utterances while the Engine is stopped despite the connection status showing CONNECTED.
The automotive HMI guidelines for display cards state that actionable display cards should be dismissed automatically after 30 seconds, and non-actionable display cards should be dismissed automatically after 8 seconds. This guideline is not descriptive enough since it does not clarify what is actionable and non-actionable content. The UX team is working on correcting the guideline to specify specific template types. The current automatic dismissal time for all Template Runtime display cards is 8 seconds.
Communications
DTMF utterances that include the letters “A”, “B”, “C”, or “D” (for example “press A” or “dial 3*#B”) are ignored.
Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh…” may return unexpected results. Similarly, when you call numbers by using utterances that include “triple,” “hundred,” and “thousand,” or press special characters such as # or * by saying “Alexa press *#”, you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
The word, “line-in,” in an utterance is sometimes misinterpreted as “line” or other words. For example, if the user says, “Switch to line-in,” the misinterpretation of “line-in” might cause an incorrect response.
When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
If your application displays the NowPlaying TemplateRuntime
display card when Alexa plays media, the card might be erroneously dismissed by the Auto SDK Engine with a call to TemplateRuntime::clearPlayerInfo()
if your application calls AlexaClient::stopForegroundActivity()
to cancel an Alexa interaction. For example, the user might initiate an Alexa interaction during music playback and then cancel it by pressing a cancel button while Alexa is listening, thinking, or speaking. The media display card should not be dismissed in this scenario.
The generic DEFAULT
LocalMediaSource
type is not supported offline with LVC. If user gives a generic playback control request like “Alexa, play” when the Alexa application is operating in the offline mode with LVC, Alexa responds “Sorry, something went wrong”. Other named players like USB work as expected in the offline mode.
AACS
AudioInput
:
startAudioInput()
AudioOutput
:
setPosition(int64_t position)
volumeChanged(float volume)
mutedStateChanged(MutedState state)
AudioOutput
AASB messages) and even though you are playing the Alexa pushed media content, Stop
message would not be sent from AACS when AACS shuts down. e.g. If you are playing an audio stream for AmazonMusic, if AACS is stopped, AASB AudioOutput.Stop
message would not be received. As a result, the media playing from your application would not be stopped. This issue will be fixed in the next release. As a workaround, your application can listen to AASB.StopService
message or adopt AACSPinger
to listen to the STOPPED
state of AACS and stop the media accordingly.Note: All Auto SDK 3.2 extensions are compatible with 3.2.1.
Added additional APIs to the Connectivity
module, which enable the voice up-sell conversation between the user and Alexa to activate a trial data plan or a paid subscription plan. Your implementation should call AlexaConnectivity::sendConnectivityEvent()
to notify the Engine of the data plan type. To respond, the Engine calls AlexaConnectivity::connectivityEventResponse()
.
Added the configuration field aace.addressBook.cleanAllAddressBooksAtStart
to Engine configuration. This field specifies whether to automatically delete address books each time the Engine starts.
Fixed an issue in which wake words cannot be detected correctly when using the SpeechRecognizer::startCapture()
API with an external wake word engine.
If the “locales” field of the “deviceSettings” node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not declare support for locale combinations if the “locales” field is assigned an empty value.
The wakewordEnabled
property is not persistent across device reboots. If you use AACS, however, this issue does not occur.
For Linux platforms, if your hardware does not use AVX2 instructions, the wake word library initialization causes an illegal instruction error.
When using LVC and calling Engine::stop(), the AlexaClient connection status remains CONNECTED because the connection to LVC is not disabled. Your implementation should not accept user utterances while the Engine is stopped despite the connection status showing CONNECTED.
Communications
DTMF utterances that include the letters “A”, “B”, “C”, or “D” (for example “press A” or “dial 3*#B”) are ignored.
Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh…” may return unexpected results. Similarly, when you call numbers by using utterances that include “triple,” “hundred,” and “thousand,” or press special characters such as # or * by saying “Alexa press *#”, you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
The word, “line-in,” in an utterance is sometimes misinterpreted as “line” or other words. For example, if the user says, “Switch to line-in,” the misinterpretation of “line-in” might cause an incorrect response.
When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
If your application displays the NowPlaying TemplateRuntime
display card when Alexa plays media, the card might be erroneously dismissed by the Auto SDK Engine with a call to TemplateRuntime::clearPlayerInfo()
if your application calls AlexaClient::stopForegroundActivity()
to cancel an Alexa interaction. For example, the user might initiate an Alexa interaction during music playback and then cancel it by pressing a cancel button while Alexa is listening, thinking, or speaking. The media display card should not be dismissed in this scenario.
AACS
AudioInput
:
startAudioInput()
AudioOutput
:
setPosition(int64_t position)
volumeChanged(float volume)
mutedStateChanged(MutedState state)
Added the DeviceSetup
platform interface that handles events and directives related to device setup during or after an out-of-the-box experience (OOBE). After the user login, Alexa is informed that device setup is complete and starts the on-boarding experience, for example, by starting a short first-time conversation. For more information, see the Alexa module documentation.
Added support in the Connectivity module to provide the network identifier from the vehicle to Alexa, which enables automakers to offer full connectivity plans to customers. For connectivity status, the module supports sending the version of the terms and conditions through a field called termsVersion
. Also, the termsStatus
field accepts DEFERRED
, which means Alexa can remind users to respond to the terms and conditions at a later time.
Added the Mobile Authorization extension, which enables applications running on the vehicle’s head unit to simplify the login experience. To log in to Alexa, the user uses the Alexa mobile app on a paired smartphone, instead of opening a web browser and entering a code.
Added the Bluetooth extension, which allows the Alexa Auto SDK to connect to devices through the Bluetooth Classic or Bluetooth Low Energy (BLE) protocol.
Added the Geolocation extension, which provides geolocation consent support. The user can grant consent to location sharing with Alexa from your application.
Added the locationServiceAccessChanged(LocationServiceAccess access)
API in the LocationProvider
interface, which allows the Engine not to query the device location when the location service access is turned off on the device.
Note: This module is for you to experiment with APL document rendering on an automotive device. Do not use the module to render APL documents in a production vehicle.
Added support in the Address Book module for a phonetic field. The phonetic field is required for resolving the name of a contact or navigation favorite if the name uses Kanji characters in Japanese.
Updated the Docker container for the Auto SDK builder script to use OpenSSL 1.1.1k by default. Added an environment variable for you to change the OpenSSL version, if desired. For information about the OpenSSL version, see the Builder README.
Updated the Auto SDK to use AVS Device SDK Version 1.22.0. For information about the AVS Device SDK, see the AVS Device SDK Release Notes.
Enhancements for AACS:
Added AACS instrumentation, which enables you to better understand the interactions between your application and AACS. Through instrumentation, you log Alexa Auto Service Bridge (AASB) messages to a file, which you can review for debugging purposes. For information about AACS instrumentation, see the AACS documentation.
Added an app component called alexa-auto-telephony
, which enables you to pre-integrate Alexa Phone Call Controller functionalities with Android Telephony.
Added an app component called alexa-auto-contacts
to enable AACS Core Service to fetch contact information from the vehicle’s head unit and send it to Alexa. The AACS Core Service can also use this library to remove from Alexa the uploaded contact information.
Added the AACS AAR, which you can include in your application.
The timeout for AASB synchronous messages is now configurable. For information about configuring the timeout, see the AACS documentation.
Enhancements for AACS Sample App:
Added support for new features in the AACS Sample App. For example, it includes a menu for the user to select a language if the in-vehicle infotainment (IVI) language is not supported by Alexa, and it supports authorization with Preview Mode.
Added support for the Alexa Custom Assistant extension to the Alexa Auto Client Service (AACS) Sample App. The sample app demonstrates how an application can use AACS with this extension. With app components included with the sample app, you can develop an application that handles assistant handoff and displays custom animation for your custom assistant.
Note: In order to use the Alexa Custom Assistant extension with the AACS Sample App, you must install an extra component in the Auto SDK. Contact your Amazon Solutions Architect (SA) or Partner Manager for details.
Enhancements for metrics uploading:
The Auto SDK emits only registration metrics before user login is complete. Other metrics are emitted after user login.
The Device Client Metrics (DCM) extension supports uploading more metrics from the vehicle than in previous versions.
The DCM extension supports anonymizing all Auto SDK metrics.
Enhancements for car control:
Added prompt improvements. Alexa can provide a recommendation or ask for clarification after receiving an invalid or ambiguous user request. Suppose a user request targets the wrong mode, setting, or value for an appliance, such as “Alexa, set fan speed to 100”, Alexa responds, “Sorry, you can only set the fan between 1 and 10”. When the target in a user request is ambiguous, Alexa prompts for more information to determine the exact meaning of the request. For example, when a user says, “Turn on fan” (when the fan’s default zone is not set), Alexa responds, “For the driver, the passenger, or the rear?” This feature is supported online and offline.
Improved asset management for car control, which enables Alexa to accept utterances only a few seconds after the user logs in. Previously, the user had to wait up to 20 seconds for Alexa to accept utterances.
Disabled APL by default in AACS to make sure utterances like “tell me a joke” work correctly without handling APL. If your platform wants to implement APL, see the AACS Configuration README to enable it.
An SMS message can be sent to an Alexa contact correctly. A user request to send an SMS message to an Alexa contact no longer results in an Alexa-to-Alexa message.
For car control, there is no longer a limit of two Device Serial Numbers (DSN) per account or Customer ID (CID).
After the AmazonLite Wake Word locale model is switched from the default (en-US) to another locale model (e.g., de-DE), the newly selected locale remains in effect after the user quits and then restarts the application.
Numeric weather IDs are passed to AVS for the TemplateRunTime
API, making it easier for you to display weather icons that are consistent with your user interface.
After the user disconnects the phone, if the user tries to use Alexa to make a call, Alexa responds correctly by reminding the user to connect the phone. Previously, Alexa tried to dial the number.
After the user pauses on Spotify and presses “Play” to resume, the player starts correctly from the point where the player stops. Previously the player skipped ahead, resuming from an incorrect place.
AutoVoiceChromeController
and StateChangeAnimationScheduler
of the Voice Chrome extension are thread-safe now, preventing the Alexa app from crashing in different scenarios (e.g. when changing to the previous music track).
Fixed a race condition in AuthorizationManager
during the Engine shutdown.
If the “locales” field of the “deviceSettings” node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not declare support for locale combinations if the “locales” field is assigned an empty value.
The wakewordEnabled
property is not persistent across device reboots. If you use AACS, however, this issue does not occur.
For Linux platforms, if your hardware does not use AVX2 instructions, the wake word library initialization causes an illegal instruction error.
When using LVC and calling Engine::stop(), the AlexaClient connection status remains CONNECTED because the connection to LVC is not disabled. Your implementation should not accept user utterances while the Engine is stopped despite the connection status showing CONNECTED.
If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
Car control utterances that are variations of supported utterances but do not follow the supported utterance patterns return errors. Examples include “please turn on the light in the car” instead of the supported “turn on the light“, and ”put on the defroster“ or “defrost the windshield” instead of the supported ”turn on the defroster”.
Communications
DTMF utterances that include the letters “A”, “B”, “C”, or “D” (for example “press A” or “dial 3*#B”) are ignored.
Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh…” may return unexpected results. Similarly, when you call numbers by using utterances that include “triple,” “hundred,” and “thousand,” or press special characters such as # or * by saying “Alexa press *#”, you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
The word, “line-in,” in an utterance is sometimes misinterpreted as “line” or other words. For example, if the user says, “Switch to line-in,” the misinterpretation of “line-in” might cause an incorrect response.
When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
If your application displays the NowPlaying TemplateRuntime
display card when Alexa plays media, the card might be erroneously dismissed by the Auto SDK Engine with a call to TemplateRuntime::clearPlayerInfo()
if your application calls AlexaClient::stopForegroundActivity()
to cancel an Alexa interaction. For example, the user might initiate an Alexa interaction during music playback and then cancel it by pressing a cancel button while Alexa is listening, thinking, or speaking. The media display card should not be dismissed in this scenario
AACS
AudioInput
:
startAudioInput()
AudioOutput
:
setPosition(int64_t position)
volumeChanged(float volume)
mutedStateChanged(MutedState state)
Note: Logging out from CBL or Auth Provider authorization clears the databases that store user data, such as alerts and settings. For example, when the user logs out, pending alerts in the database are cleared to ensure that the next user who logs in does not receive the alerts. In addition, upon logout, the locale setting is reset to the default value in the Engine configuration. Therefore, if the current device locale is different from the default locale, you must set the locale before starting an authorization flow.
Note: This feature may only be used with voice-guided turn-by-turn navigation.
Added the Connectivity module that creates a lower data consumption mode for Alexa, allowing automakers to offer tiered functionality based on the status of their connectivity plans. By using this module, you can send the customer’s connectivity status from the vehicle to Alexa, which determines whether the customer can enjoy a full or partial set of Alexa features. For information about the Connectivity module, see the Connectivity documentation.
Note: Offline search with the Local Navigation module is only supported in the en-US locale.
Added the Alexa Auto Client Service (AACS) sample app that demonstrates how an application uses AACS. The Auto SDK includes the app components used by the AACS sample app, which you can also use when developing an application that communicates with AACS. For information about the AACS sample app, see the AACS sample app documentation
Enhancements for AACS:
Enhanced the file sharing protocol of AACS by using Android’s FileProvider. This enhancement grants AACS permission to access files within your AACS client application, which are required by configuration fields for the Auto SDK.
Added support for the Android ContentProvider
class, which is a standard Android mechanism for performing CRUD (Create, Read, Update, Delete) operations on stored data. By extending this class, you can use a content provider, instead of AACS messages, to manage Auto SDK properties and retrieve state information.
For information about how AACS uses FileProvider
and ContentProvider
, see the AACS documentation.
Added support for a ping
broadcast to check the AACS connection state. For more information about how to use ping
, see the AACS documentation.
Added support for caching AASB message intent targets based on AASB Action. This enables you to define an intent filter with a subset of the possible actions for an AASB topic. For more information on specifying intent targets, see the AACS documentation.
Added support for Text-to-Speech Service, which allows Android applications to interact with Android TTS APIs to convert text to speech. For information about the Text-to-Speech Service, see the AACS TTS app component documentation.
On Android, the Engine returns the correct value (UNDEFINED
) for requests to LocationProvider.getLocation()
when the device does not have access to location. Previously the Engine populated the user geolocation with a default value when Location.UNDEFINED
was returned in LocationProvider.getLocation()
.
In the AACS commonutils library, the JSON parser (RenderPlayerInfo.kt
) for the renderPlayerInfo
message of templateRuntime
could only parse the payload
field of the AASB RenderPlayerInfo
message payload. Now it can parse the overall AASB payload.
Notifications sound plays correctly. Previously, the sound did not play as expected due to improper channel configuration.
The CBL module code request flow correctly applies the locale setting to the Login With Amazon (LWA) code request. Previously, the URL returned by LWA was always in the en-US locale.
If you log out and log in, the client-side Do Not Disturb (DND) state is synchronized with Alexa.
If the “locales” field of the “deviceSettings” node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not declare support for locale combinations if the “locales” field is assigned an empty value.
The wakewordEnabled
property is not persistent across device reboots. If you use AACS, however, this issue does not occur.
For car control, there is a limit of two Device Serial Numbers (DSN) per account or Customer ID (CID). Limit the number of devices for testing with a single account accordingly. If you use the Android sample app, be sure to configure a specific DSN.
It can take up to 20 seconds from the time of user login to the time Alexa is available to accept utterances. The cloud uses this time to ingest the car control endpoint configurations sent by Auto SDK after login.
If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
A user request to send an SMS to an Alexa contact results in an Alexa-to-Alexa message instead. However, ‘send message’ instead of ‘send SMS’ to a contact works.
When using LVC in online mode, users can redial a call when the phone connection state is OFF.
DTMF utterances that include the letters “A”, “B”, “C”, or “D” (for example “press A” or “dial 3*#B”) are ignored.
Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh…” may return unexpected results. Similarly, when you call numbers by using utterances that include “triple,” “hundred,” and “thousand,” or press special characters such as # or * by saying “Alexa press *#”, you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
The word, “line-in,” in an utterance is sometimes misinterpreted as “line” or other words. For example, if the user says, “Switch to line-in,” the misinterpretation of “line-in” might cause an incorrect response.
When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
AACS
AudioInput
:
startAudioInput()
AudioOutput
:
setPosition(int64_t position)
volumeChanged(float volume)
mutedStateChanged(MutedState state)
"aasb.apl": {
"APL": {
"enabled" : false
}
}
Starting with v3.1.0, the Local Voice Control (LVC) extension is no longer supported on ARM32 platforms.
Added Alexa Auto Client Service (AACS), which enables OEMs of Android-based devices to simplify the process of integrating the Auto SDK. For more information about AACS, see the AACS documentation.
Added support for removing local media sources at runtime, such as a USB drive or a Bluetooth device. Previously, if a user removed a USB drive and then requested to play music from the USB drive, the Auto SDK would attempt to play and not return an appropriate error message. This feature is enabled with an existing field in the LocalMediaSource
platform interface state. For information about the platform interface state, see the Alexa module documentation.
If the “locales” field of the “deviceSettings” node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not declare support for locale combinations if the “locales” field is assigned an empty value.
AACS
AudioInput
:
startAudioInput()
AudioOutput
:
setPosition(int64_t position)
volumeChanged(float volume)
mutedStateChanged(MutedState state)
RenderPlayerInfo.kt
) for the renderPlayerInfo
message of templateRuntime
can only parse the payload
field of the AASB RenderPlayerInfo
message payload. The payload
field of RenderPlayerInfo
is the inner payload of the nested payload structure. When using TemplateRuntime.parseRenderInfo(String json)
, provide it with the embedded JSON as a string of the string value whose key is payload
in the RenderPlayerInfo
message’s payload instead of the overall AASB payload.Starting with Auto SDK v3.0, we no longer support the Automotive Grade Linux (AGL) Alexa Voice agent in the Auto SDK. If you intend to use the AGL Alexa Voice Agent, continue using Auto SDK v2.3.0, which is the last version that provides AGL support.
Note: Dynamic Language Switching works online only. For hybrid systems using the LVC extension, offline Alexa understands and responds in the language of the primary locale.
--use-mbedtls
build option that caused a crash in the Android sample app at startup.If the “locales” field of the “deviceSettings” node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations: [“en-US”, “es-US”], [“es-US”, “en-US”], [“en-IN”, “hi-IN”], [“hi-IN”, “en-IN”], [“fr-CA”, “en-CA”], [“en-CA”, “fr-CA”].
The Engine does not declare support for locale combinations if the “locales” field is assigned an empty value.
SupportedOperations
to be overridden to support custom actions.TemplateRuntime
platform interface to support focus and audio player metadata in renderTemplate and renderPlayerInfo methods. This is a backward compatible change, see the migration guide for details.SpeakerManager
is now a configurable option, enabled by default. When not enabled, user requests to change the volume or mute now have an appropriate Alexa response, e.g. “Sorry, I can’t control the volume on your device”.PropertyManager
interface supports a new a "TIMEZONE"
property setting.CBL::cancel()
.DELETED
and SCHEDULED_FOR_LATER
) to the Alerts
platform interface.INVALID_REQUEST_EXCEPTION
or INTERNAL_SERVICE_EXCEPTION
in response to navigation events sent by the Auto SDK.SetTimeZone
directive when the timezone is changed from the companion app.INTERNAL_SERVICE_EXCEPTION
in response to any navigation road regulation or maneuver event sent by the Auto SDK (triggered by an utterance such as “which lane should I take”, for example). You may see a harmless error/exception in the logs.Note: The Navigation enhancements are not backward-compatible with previous versions of the Auto SDK. The
startNavigation()
method supersedes thesetDestination()
method, and many new methods have been implemented. See the Auto SDK Migration Guide for details.
Added support for Alexa Presentation Language (APL) rendering to present visual information and manage user interactions with Alexa.
Note: In order to use APL rendering with the Android Sample App, you must install an extra component in the Auto SDK. Contact your Amazon Solutions Architect (SA) or Partner Manager for details.
Added support for the Alexa DoNotDisturb (DND) interface, which allows users to block all incoming notifications, announcements, and calls to their devices, and to set daily recurring schedules that turn DND off and on. For details, see the DND Interface documentation.
Note: Alexa does not notify the user of the DND state.
Added a System Audio extension to provide the default audio capturing and playback functionality for various platforms, including audio input/output on QNX platforms. The Alexa Auto SDK Builder automatically includes the System Audio extension when you build the Auto SDK.
Added local media sources (LMS) and hybrid car control support to the Automotive Grade Linux (AGL) Alexa Voice Agent.
Added onAuthFailure()
to the AuthProvider
platform interface and an AUTHORIZATION_EXPIRED
argument to the cblStateChanged()
method of the CBL platform interface to expose 403 unauthorized request exceptions from Alexa Voice Service (AVS). These may be invoked, for example, when your product makes a request to AVS using an access token obtained for a device which has been deregistered from the Alexa companion app.
MACCPlayer
handler implementation. Rediscovery now occurs automatically, and the authorization TTS error events no longer occur repeatedly.INVALID_REQUEST_EXCEPTION
or INTERNAL_SERVICE_EXCEPTION
in response to any navigation event sent by the Auto SDK. You may see a harmless error/exception in the logs.CBL::cancel()
, the CBL state does not change to stopped.Note: The car control enhancements are not backward compatible with previous versions of car control. The configuration and platform interface have changed.
NOTE: The new core Audio service and APIs are not backward compatible with previous versions of the Alexa Auto SDK (prior to version 2.0.0).
Added Geolocation support to the Navigation module. Geolocation support enables location-based services (which are used to answer questions such as “where am I” or “what’s the weather”) to use the location information provided by the platform.
Note: In order to make use of this functionality, you must register the Navigation platform interface for Geolocation support.
entryId
s to contacts and navigation data. If you use the same entryId
, re-uploading contacts may cause navigation favorites to become unavailable to Alexa, and re-uploading navigation favorites may cause contacts to become unavailable.playControl()
method invocations such as play, then pause, followed by play again in quick successionThis release is for bug fixes only. There are no new features or enhancements.
All known issues from v1.6.0.
Added online entertainment enhancements to support tuning to a specific frequency or SiriusXM channel and tuning to radio presets.
n/a
All known issues from v1.6.0.
This release of Alexa Auto SDK includes updates for music certification.
Resolved issues are limited to music certification updates:
mime=audio/mp4a-latm
).All known issues from v1.6.0.
Play
directive during shutdown.EqualizerController
. The Equalizer Controller enables Alexa voice control of device audio equalizer settings by making gain adjustments to three frequency bands (“BASS”, “MIDRANGE”, and/or “TREBLE”).cbl
module, the Engine handles acquiring access tokens. A CBL
platform implementation should be registered with the Engine in place of an AuthProvider
implementation to use this method for authorization.aace.vehicle.info.vehicleIdentifier
property of vehicle configuration is now available through the existing VehicleConfiguration
.EXPECTING
state to the AlexaClient DialogState
to accommodate multi-turn for hold-to-talk interactions. When more user input is required during an interaction, tap-to-talk interactions will transition directly from EXPECTING
to LISTENING
whereas hold-to-talk will remain in the EXPECTING
state until listening is manually triggered.ExternalMediaAdapter::getState
method signature changed to allow the implementation to say whether the state it provides is valid. This change is not backward compatible.LoggerConfiguration::createLoggerRuleConfig
with sink id "console"
should be changed to sink id "default"
.Play
directive during shutdown. However, since shutdown is triggered when car ignition is turned off, there is no direct customer impact expected.The Alexa Auto SDK now supports the Local Voice Control extension. The Local Voice Control extension enhances the Alexa Auto experience by providing voice-based car controls whether connected to the internet or not. In this release, the Local Voice Control extension will provision access only to the car’s climate control.
Note: This extension is available on request - Please contact your Amazon Solutions Architect (SA) or Partner Manager for more information.
No resolved issues.
Play
directive during shutdown. However, since shutdown is triggered when car ignition is turned off, there is no direct customer impact expected.This release of Alexa Auto SDK includes updates for music certification.
Resolved issues are limited to music certification updates:
openssl
. Developers using their own build system may need to make changes in order to accommodate this new dependency when linking AVS Device SDK.INVALID_REQUEST_EXCEPTION/Bad Request
exceptions.mime=audio/mp4a-latm
).AuthProviderEngineImpl::doShutdown()
to avoid null pointer exception.SQLiteStorage::removeKey()
where the DELETE FROM
statement repeated the FROM
.AudioChannelEngineImpl::setSource()
with back to back TTS.AudioChannelEngineImpl::executePlaybackFinished()
now save the player offset.AudioPlayerEngineImpl::removeObserver()
now remove an AudioPlayerObserverInterface observer instance instead of adding it.static_cast<unsigned char>
for upper/lower character conversions.The platform interfaces have not changed, however the following C++ and Android enums are updated:
DialogState
inserts the EXPECTING
enum constant.ConnectionChangedReason
inserts NONE
, SUCCESS
, and UNRECOVERABLE_ERROR
enum constants.All known issues from v1.3.0.
templateRuntimeCapabilityAgent
Engine configuration values.No resolved issues.
Play
directive during shutdown. However, since shutdown is triggered when car ignition is turned off, there is no direct customer impact expected.SetDestination
now provides business hours and contact information for a returned location when available.unavailable
. Previously it was treated as (0,0)
, which was a valid value for longitude and latitude.TemplateRuntime
platform interface could not be registered before AudioPlayer
.There are no known issues in this release.
This release is for bug fixes only. There are no new features or enhancements.
There are no known issues in this release.
Note: The older button-press APIs (
playButtonPressed()
,nextButtonPressed()
, etc.) have been deprecated in favor of the new genericbuttonPressed(PlaybackButtonType)
.
There are no resolved issues in this release.
There are no known issues in this release.
This release is only for documentation updates. There are no new features or enhancements.
Only name change updates were made to the documentation. There are no resolved issues in this release.
There are no known issues in this release.
This release is for bug fixes only. There are no new features or enhancements.
NetworkInfoProvider
updates the network status.AuthError
enumeration with additional error types.createAuthConfig()
configuration method.There are no known issues in this release.
Navigation
directives.
SetDestination
CancelNavigation
PhoneCallController
platform interface supports the Dial
directive with three events:
CallActivated
CallTerminated
CallFailed
NetworkInfoProvider
updates network status.Sample App issues are documented in the Sample App README.
The following enhancements were added to the Alexa Auto SDK since the last Alpha release (binary).
SetDestination()
API added to the Navigation moduleSetDestination()
API, Notifications, LWA (Login with Amazon)SDK:
Android Sample App: