AVS Device SDK Release Notes

The following release notes contain details about the Alexa Voice Service (AVS) Device SDK, including feature enhancements, updates, and resolved issues.

2021

Version 1.25.0

Release date

August 24, 2021

Enhancements

  • Added support for CURLOPT_PROXY.
  • Added the AuthorizatonManager component. This allows you to dynamically change your authorization mechanism without restarting the SDK. By default, AuthorizatonManager provides an LWAAuthorizationAdapter that uses Code-Based Linking authorization. To control this feature, use the -DAUTH_MANAGER = ON CMake command.
  • Added the DtmfObserverInterface interface to support Alexa Communications features.
  • Added a metric to record the audioEncodingFormat used by AudioInputProcessor.
  • Added a metric that detects if a device fails to parse notification directives from the cloud.
  • Added the SharedDataStream (SDS) and AudioFormat to the manufactory subsystem.
  • Added support to add optional dependencies to manufactory through the OptionalImport<> structure and the ComponentAccumulator::makeImportOptional() method.
  • Updated the AudioInputProcessor to reduce latency in Low Power Mode (LPM).
  • Reduced user wait time when performing gateway verification by up to 5 minutes. The change triggers gateway verification immediately after authorization succeeds. To enable this optimization, code changes might be required: the AuthDelegate object must be supplied when constructing AVSGatewayManager.
  • Added support for the following locale pairs:
    • "en-US", "fr-FR"
    • "fr-FR", "en-US"
    • "en-US", "de-DE"
    • "de-DE", "en-US"
    • "en-US", "ja-JP"
    • "ja-JP", "en-US"
    • "en-US", "it-IT"
    • "it-IT", "en-US"
    • "en-US", "es-ES"
    • "es-ES", "en-US"
  • Added support for the Arabic language (ar-SA).

New configurations

  • Runtime checks now display the version of curl used by the SDK.
  • Kitt.AI is no longer supported by the SDK and all related code is removed.
  • All Non-DEBUG builds disable logging by default, aligning with the Alexa Service Requirements.
  • Added a security.md file that contains security policy updates.
  • Updated the pkg-config.pc file to use Requires.private instead of Requires, so libraries such as curl or SQlite aren't a direct dependency.
  • Added a new offlineAlerts_v2 table that stores alerts that are stopped offline. To avoid rollback concerns, you should continue to write to the offlineAlerts_v1 table.
  • Logger::emit is no longer a pure virtual function. The default implementation is now a no-op.
  • Removed two unused methods from ComponentAccumulator.

Bug Fixes

  • Fixed a SpeakerManager Capability Agent bug that caused playback to stop when handling REPLACE_ALL commands.
  • Fixed a Bluetooth bug that could caused streaming music to overlap with Bluetooth music.
  • Fixed a bug that could cause an SDK shutdown to stop responding, especially if triggered right after device boot.
  • Fixed a potential crash that could happen during SDK shutdown.
  • Fixed a sample rate flag in the FFmpegAttachmentInputController that incorrectly used framerate instead of sample_rate.
  • Fixed a KeywordObserver bug that would send the incorrect start of a speech timestamp to AudioInputProcessor.
  • Fixed a SpeakerManager bug that could cause volume setting changes to fail.
  • Fixed a null pointer exception that can occur during barge-in.
  • Fixed an AudioPlayer bug that might stop a playing track after sending a PlaybackNearlyFinished event, but before the play directive arrives for the next track.
  • Fixed a bug that could cause the SDK to crash after calling promise.set_value.
  • Added missing header include statements in the DefaultEndpointBuilder.h file.
  • Fixed a DoNotDisturbCapabilityAgent bug that could cause the SDK to stall due to a race condition.
  • Fixed a bug that could cause some device settings to persist after logging out.

Version 1.24.0

Release date

June 4, 2021

Enhancements

  • Added support for the DeviceSetup Interface. This allows you to configure a custom out-of-box onboarding experience. For more details about how this interface works in the SDK, see out-of-box onboarding experience.
  • Added support for the SDK to update the default endpoint dynamically.
  • Added the following components to the Manufactory subsystem.
    • SpeechEncoder
    • Alexa Directive Sequencer Library (ADSL)
    • DialogUXStateAggregator
    • Notifications
  • Added the timeSinceLastPartialMS API. This API helps you determine the last time the system used a resource, such as CPU, NETWORK, DDR, and so on.
  • Reduced the size of SDK libraries by optimizing the Manufactory library templates.
  • Added a new constructor to MediaPlayerState that takes a PlaylistType field (DASH, HLS).
  • Added two new fields to the AudioPlayer Metrics. These new fields are trackPlaylistType and trackDomainNameHash.
  • Added two methods to CurlEasyHandleWrapper to set the network interface dynamically. These methods are setInterfaceName and getInterfaceName.

New configurations

  • Changed the minimum supported version of libcurl to 7.67.0. This change applies to all build types.
  • Updated the Android.sh script to support NDK 22. Android builds no longer support NDK 21 and lower.
  • Updated the Android.sh script to use curl 7.67.0.
  • Updated the Default Client to handle an instance of acsdkNotificationInterfaces::NotificationsNotifierInterface instead of the Notifications Capability Agent directly.
  • Added a new constructor to MediaPlayerState that takes a PlaylistType field (DASH, HLS).
  • Added two new fields to the AudioPlayer Metrics. These new fields are trackPlaylistType and trackDomainNameHash.
  • Added two methods to CurlEasyHandleWrapper to set the network interface dynamically. These methods are setInterfaceName and getInterfaceName.
  • Removed the build directory. Use the cmakeBuild directory instead.

Known issues

  • A device might report incorrect speaker states to AVS if you don't update SpeakerSettings through the SpeakerInterface.
  • M4A files with the .moov content located at the end of the file might not render.
  • Build errors can occur on the Raspberry Pi due linking the atomic library incorrectly. A suggested workaround is to add the following line set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top CMake file.
  • Windows and Android don't support the WebVTT dependency required for captions.
  • When you're in the settings menu, using the settings option to exit the menu takes you directly back to the options menu. It doesn't provide a message to indicate that you're back in the main menu.
  • All failing Unit Tests and failing Audio Input Processor (AIP) Unit tests are disabled on Windows.
  • AudioInputProcessor unit tests don't build on Windows when using the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection (GCC) 8+-Wclass-memaccess triggers warnings. You can ignore these and they don't cause the build to fail.
  • When building with Android, the Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to Android Debug Bridge (ADB) version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though the local Text-To-Speech (TTS).
  • The Alexa Communications Library (ACL) might have issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle the next/previous options.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • the make integration command isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This impacts Raspberry Pi devices running Android Things that use HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • Disabled ServerDisconnectIntegratonTest tests until they reflect the new service behavior.
  • DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId tests might intermittently fail.
  • The Raspberry Pi sample app might crash after prolonged use due to conflicts with PortAudio dependencies.
  • The sample app might crash if it's using libCurl 7.69.

Version 1.23.0

Release date

March 29, 2021

Bug fixes

  • Fixed a CertifiedSender bug that could cause unnecessary outgoing messages.
  • Fixed a race condition in SpeechEncoder that occurred when calling stopEncoding() and startEncoding() in quick succession.
  • Fixed a Manufactory bug that caused instantiation issues and runtime issues.
  • Removed the ConstructorAdapter.h file from the acsdkManufactory shared library.
  • Fixed an endpoint bug that caused problems if the default endpoint uses a friendly name. The friendly name of the default endpoint should always be an empty string.
  • Fixed failing Media Player Remote Interfacing Specification (MPRIS) tests on certain platforms.
  • Fixed a timer race condition that occurred in the ConditionVariableWrapper under certain configurations.
  • Fixed a bug that could cause a segmentation fault at shutdown due to transient messages.
  • Fixed an AudioInputProcessor bug that could delay the SDK from transitioning between THINKING and IDLE states.
  • Fixed a reminders bug that caused a reminder to play the wrong tone if a sound asset isn't provided.
  • Removed validateSpeakerSettingsConsistency from SpeakerManager. You're now responsible to keep SpeakerSettings consistent for speakers of the same type.
  • Updated the BlockingPolicy in SpeakerManager. The Speaker namespace now handles directives immediately.
  • Fixed an ExternalCapabilitiesBuilder.cpp bug that could cause the MRMCapabilityAgent to crash.
  • Split the SystemClockMonitor contained in the AVSCommon/Utils/SystemClockMonitor folder into two separate implementation and interface libraries named acsdkSystemClockMonitorInterfaces and acsdkSystemClockMonitor. Components that must observe system clock changes should register with SystemClockNotifier.

Enhancements

  • Added Bluetooth functionality to Manufactory. To enable Bluetooth with Manufactory, use the BLUETOOTH_ENABLED=ON CMake flag. If you're using the BlueZ Bluetooth implementation with Manufactory, you must also specify the BLUETOOTH_BLUEZ=ON CMake flag.
  • Added an AlertsCapabilityAgentInterface to decouple the actions an app might take on the Alerts CA after implementation.
  • Added the createSubsetManufactory method to Manufactory. This method uses a superset Manufactory and a list of parameters to create a new subset Manufactory.
  • Added the onCallStateInfoChange to the communication functions. This API takes a structure as its parameter to pass communication information, such as call type, display name, and so on.
  • Replaced the deprecated CapabilitiesObserverInterface with the DelegateObserverInterface.
  • Added a new LocaleAssetsObserverInterface to notify observers of any changes to locale assets.
  • Added a new CapabilityConfigurationChangeObserverInterface to notify observers of any changes to capability configurations.

Known issues

  • A device might report incorrect speaker states to AVS if you don't update SpeakerSettings through the SpeakerInterface.
  • M4A files with the .moov content located at the end of the file might not render.
  • On some compilers and platforms, the SampleApp might not run and provides the following Manufactory related error: Recipes are not equivalent. For more details about how to temporarily patch this problem, see issue 1824 on GitHub.
  • Build errors can occur on the Raspberry Pi due linking the atomic library incorrectly. A suggested workaround is to add the following line set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top CMake file.
  • Windows and Android don't support the WebVTT dependency required for captions.
  • When you're in the settings menu, using the settings option to exit the menu takes you directly back to the options menu. It doesn't provide a message to indicate that you're back in the main menu.
  • All failing Unit Tests and failing Audio Input Processor (AIP) Unit tests are disabled on Windows.
  • AudioInputProcessor unit tests don't build on Windows when using the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection (GCC) 8+-Wclass-memaccess triggers warnings. You can ignore these and they don't cause the build to fail.
  • When building with Android, the Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to Android Debug Bridge (ADB) version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though the local Text-To-Speech (TTS).
  • The Alexa Communications Library (ACL) might have issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle the next/previous options.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • the make integration command isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This impacts Raspberry Pi devices running Android Things that use HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • Disabled ServerDisconnectIntegratonTest tests until they reflect the new service behavior.
  • DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId tests might intermittently fail.
  • The Raspberry Pi sample app might crash after prolonged use due to conflicts with PortAudio dependencies.
  • The sample app might crash if it's using libCurl 7.69.

2020

Version 1.22.0

Release date

December 8, 2020

Enhancements

  • Added support for the AudioPlayer 1.5 interface.
  • Added support for the System 2.1 interface. This allows you to report network related information.
  • Added the LibcurlSetCurlOptionsCallbackInterface API to LibcurlHTTPConnectionFactory. This allows you to accept custom curl options when establishing a connection.
  • Added the following components to the Manufactory subsystem.
    • DoNotDisturb
    • Alerts
    • DefaultDeviceSettingsManager
    • SystemTimeZone
  • Added two new functions to ChannelVolumeInterface. These two new functions are adjustUnduckedVolume() and getId(). Use ChannelVolumeInterface::getId() to dedupe ChannelVolumeInterfaces.
  • Improved reconnection behavior. MessageRouter now has grace period before it skips notifying observers of disconnected states.

Bug fixes

  • Fixed an audio bug that could unexpectedly decrease the volume. This fix added an ID3TagsRemover to remove ID3 tags from Media Streams.
  • Fixed a race condition in CapabilitiesDelegate that could send unnecessary Discovery events from the device.
  • Fixed an SQLiteBluetoothStorage bug that prevented it from checking for tables on initialization.
  • Fixed an SQLiteNotificationsStorage bug that prevented it from recovering when tables are missing.
  • Fixed a DialogUXStateAggregator bug that caused incorrect states.

New configurations

  • The Default Client no longer closes DeviceSettingStorageInterface databases. Make sure your implementations of DeviceSettingStorageInterface closes the DeviceSettingStorageInterface database in its own destructor.

Known issues

  • On some compilers and platforms, the SampleApp might not run and provides the following manufactory-related error: Recipes are not equivalent. For more details about how to temporarily patch this problem, see issue 1824 on GitHub.
  • Build errors can occur on the Raspberry Pi due to incorrect linking of the atomic library. A suggested workaround is to add the following set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top most CMake file.
  • The WebVTT dependency required for captions isn't supported for Windows/Android.
  • Exiting from the setting option takes you back to the Options Menu directly. It doesn't provide a message to indicate that you're back in the main menu.
  • Disabled all failing Unit Tests and Audio Input Processor (AIP) Unit tests on Windows.
  • AudioInputProcessor unit tests don't build on Windows when using the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection (GCC) 8+-Wclass-memaccess triggers warnings. You can ignore these, they don't cause the build to fail.
  • Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to Android Debug Bridge (ADB) version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though local Text To Speech (TTS).
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle next/previous.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • make integration isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This impacts Raspberry Pi devices running Android Things with HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • Disabled ServerDisconnectIntegratonTest tests until they reflect the new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.
  • The Raspberry Pi sample app might crash after prolonged use due to conflicts with PortAudio dependencies.
  • The sample app might crash if it's using libCurl 7.69.

Version 1.21.0

Release date

October 26, 2020

Enhancements

  • Added support for Smart Home for AVS Semantics. For more details about SDK implementation, see Smart Home Endpoints.
  • Added the following components to the Manufactory subsystem.
    • AVSConnectionManager
    • ApplicationAudioPipelineFactoryInterface (three full implementations – Gstreamer, Android, Custom – and a stub)
    • Alexa Capability Agent
    • CaptionManager
    • CertifiedSender
    • InternetConnectionMonitor
    • Shutdown/StartupNotifier
    • SpeakerManager
    • AudioPlayer
    • ExternalMediaPlayer
    • FocusManager (Audio)
  • Added support for User Perceived Latency Metrics. You must enable metrics to use this feature.
  • Moved two Capability Agents to a different location, resulting in a change in name spaces and directory structures
  • You can now initialize the AlexaClientSDKInit with the InitializationParameters object. This object supports two additional objects:
    • TimerDelegateFactoryInterface
    • PowerResourceManagerInterface.
  • Introduced TimerDelegate abstraction. You can now inject your own timer logic and call it with existing AVSCommon/Utils/Timing/Timer.h objects.
  • Updated DevicePropertyAggregator to support the new RegistrationStatus property.
  • Pulled in upstream RapidJSON patches

Bug fixes

  • Android builds now support arm64 and x86_64 devices.
  • Fixed an Android issue that caused false positive error logs when using the microphone.
  • Fixed an audio injection issue that caused problems with multi-turn interactions when built with a disabled wake word.
  • Fixed a sample app issue that caused the range controller menu to loop upon receiving invalid input.
  • Fixed a sample app issue that caused a GuiRenderer crash when using certain directives.
  • Add an optional onSeekActivity method to the AudioPlayerObserverInterface so the AudioPlayer Capability Agent can notify observers when local seeks start and complete.
  • Added a new build flag -DTARGET_SUFFIX="SomeString" to suffix output library names, in case of naming conflicts.
  • Fixed an AudioPlayer issue that prevented the interface from transitioning to an IDLE state when it doesn't have any content to play.
  • Decreased latency when playing short speak directives. For example "ok" or "hi".
  • Fixed a music issue that prevented music playback from resuming after disabling ducking.
  • Fixed a Bluetooth issue that caused incorrect information in the logs.
  • Fixed a DialogUXStateAggregator bug that caused incorrect behavior when handling device states.

New configurations

  • Added the TARGET_RPATH CMake parameter to specify a RPATH during build.
  • Added the LPM CMake parameter to enable or disable Low Power Mode.
  • Added the DISABLE_DUCKING CMake parameter to enable or disable ducking.

Known issues

  • Build errors can occur on the Raspberry Pi due to incorrect linking of the atomic library. A suggested workaround is to add the following set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top most CMake file.
  • The WebVTT dependency required for captions isn't supported for Windows/Android.
  • Exiting from the setting option takes you back to the Options Menu directly. It doesn't provide a message to indicate that you're back in the main menu.
  • Disabled all failing Unit Tests and Audio Input Processor (AIP) Unit tests on Windows.
  • AudioInputProcessor unit tests don't build on Windows when with the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection 8+ (GCC 8+) -Wclass-memaccess triggers warnings. You can ignore these, they don't cause the build to fail.
  • Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to Android Debug Bridge (ADB) version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though local Text To Speech (TTS).
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle next/previous.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • make integration isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This impacts Raspberry Pi devices running Android Things with HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • Disabled ServerDisconnectIntegratonTest tests until they reflect the new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.
  • The Raspberry Pi sample app might crash after prolonged use due to conflicts with PortAudio dependencies.
  • The sample app might crash if it's using libCurl 7.69.

Version 1.20.1

Release date

August 6, 2020

Bug fixes

  • The SDK component name changed from com.amazon.sdk to com.amazon.alexa.deviceSDK. This name gets reported through the Alexa.SoftwareComponentReporter interface.
  • Reverted a change that caused CertifiedSender to load messages from the database on initialization.
  • Fixed a compilation error that occurred on Catalina macOS.

Version 1.20.0

Release date

June 22, 2020

Enhancements 

New configurations

  • Added the -DACSDK_USE_RTTI CMake parameter to toggle the use of Run Time Type Information (RTTI) in the SDK. This parameter defaults to OFF, except for WIN32 builds, where it must be ON.
  • Added the -DUSE_CCACHE CMake parameter to build the SDK with ccache, which can help speed up compile time. This parameter defaults to OFF.

Bug fixes

  • Fixed a Playlist Parser issue that caused a playlist URL to incorrectly resolve if it contained parameters and a relative path.
  • Fixed a Gstreamer MediaPlayer implementation issue that resulted in a playback problem due to seekOverwrittenData errors.
  • Fixed an issue with make install where it didn't include the InterruptModelConfiguration.h file.
  • Fixed a Windows MSYS2 issue that caused a build to fail due to a Gnu Compiler Collection (GCC) linker timeout. An additional dependency – mingw-w64-x86_64-lld – is now required to use the SDK. Add this new dependency to MSYS2 if you are having trouble building the SDK.
  • Fixed a timer issue that could cause a lockup or crash.
  • Fixed an issue that incorrectly preserved the dialogRequestId across multi-turn interactions instead of generating a new one.
  • Fixed a buffer overflow in the FFMpegInputBuffer.
  • Added the missing HTTP Success Code 201 to the set of recognized HTTP response codes in the AVSCommon/Utils folder.
  • Fixed a bug that caused a compile error if you enabled a single endpoint controller when building the SDK.
  • Fixed an issue that prevents apps from adding or removing ContextManager observers with the DefaultClient.

Known issues

  • Build errors can occur on the Raspberry Pi due to incorrect linking of the atomic library. A suggested workaround is to add the following set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top most CMake file.
  • The WebVTT dependency required for captions isn't supported for Windows/Android.
  • Exiting from the setting option takes you back to the Options Menu directly. It doesn't provide a message to indicate that you're back in the main menu.
  • Disabled all failing Unit Tests and Audio Input Processor (AIP) Unit tests on Windows.
  • AudioInputProcessor unit tests don't build on Windows when with the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection 8+ (GCC 8+) -Wclass-memaccess triggers warnings. You can ignore these, they don't cause the build to fail.
  • Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to Android Debug Bridge (ADB) version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though local Text To Speech (TTS).
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle next/previous.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • make integration isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This impacts Raspberry Pi devices running Android Things with HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • Disabled ServerDisconnectIntegratonTest tests until they reflect the new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.
  • The Raspberry Pi sample app might crash after prolonged use due to conflicts with PortAudio dependencies.
  • The sample app might crash if it's using libCurl 7.69.

Version 1.19.1

Release date

April 27, 2020

Bug fixes

  • Fixed a bug that caused Display Cards for certain ExternalMediaPlayer (EMP) adapters to stop rendering.

Version 1.19.0

Release date

April 13 2020

Enhancements 

  • Added support for AudioPlayer Interface 1.4.
  • Updated the ExternalMediaPlayer Interface. ExternalMediaPlayer adapters can now be integrated into the SDK without an overlay. Provide the paths of the adapter directories with EXTERNAL_MEDIA_PLAYER_ADAPTER_PATHS. Any adapters might require updating. For more details, refer to ExternalMediaPlayerAdapters.cmake.
  • Added three new diagnostic tools, allowing for file audio injection, protocol trace, and device properties aggregation. Audio injection replaces a real microphone and can't be used if another microphone, such as PortAudio, is enabled. Note that these tools are available in DEBUG mode only, and must not be enabled in devices built for release.
  • Added support for local ducking. This feature allows on-device content to attenuate the volume of other channels when necessary.
  • Updated the following SpeakerManagerInterface APIs: setVolume, adjustVolume and setMute. These changes help you determine which components get notified when settings change (either AVS or SDK observers).
  • Added attenuation/ducking support to music.
  • Updated MediaPlayer::setSource to specify the underlying file type that's passed with the raw data – for example, .mp3 or .wav.
  • Added new CMake parameters to build with customized versions of curl, SQlite, and Crypto.

Bug fixes

  • Fixed issue that caused CBLAuthDelegateConfiguration.cpp file to read incorrect settings
  • Fixed issue that caused a song to skip when rapidly pausing and playing music.

Known issues

  • Build errors can occur on the Raspberry Pi due to incorrect linking of the atomic library. A suggested workaround is to add the following set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top most CMake file.
  • The WebVTT dependency required for captions isn't supported for Windows/Android.
  • Exiting from the setting option takes you back to the Options Menu directly. It doesn't provide a message to indicate that you're back in the main menu.
  • Failing Unit Tests and AIP Unit tests are disabled on Windows
  • AudioInputProcessor unit tests don't build on Windows when with the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection 8+ (GCC 8+), -Wclass-memaccess triggers warnings. You can ignore these, they don't cause the build to fail.
  • Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to ADB version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though local TTS.
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle next/previous.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • make integration isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This only impacts Raspberry Pi devices running Android Things with HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • ServerDisconnectIntegratonTest tests are disabled until they're updated to reflect new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.
  • Raspberry Pi sample app might crash after prolonged use due to conflicts with PortAudio dependencies.
  • The sample app might crash if it's using libCurl 7.69.

Version 1.18.0

Release date

February 19, 2020

Enhancements 

Bug fixes

  • Fixed Mac/OSX issue that caused an unresponsive sample app when not connected to the internet.
  • Fixed issue that prevented sample app from exiting various states.
  • Fixed UIManager issue that caused an error in the logs when the device with built without the wake word enabled.
  • Fixed volume issue that caused timers to ascend in volume when setting up ascending alarms.
  • Fixed alert volume issue that caused any changes to the alert volume to notify observers.
  • Fixed EQ issue where changes to the EQ band levels didn't notify observers.

Known issues

  • Build errors can occur on the Raspberry Pi due to incorrect linking of the atomic library. A suggested workaround is to add the following set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") to the top most CMake file.
  • The WebVTT dependency required for captions isn't supported for Windows/Android.
  • Exiting from the setting option takes you back to the Options Menu directly. It doesn't provide a message to indicate that you're back in the main menu.
  • Failing Unit Tests and AIP Unit tests are disabled on Windows.
  • AudioInputProcessor unit tests don't build on Windows when with the -DCMAKE_BUILD_TYPE=DEBUG CMake parameter.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • The Gnu Compiler Collection 8+ (GCC 8+) -Wclass-memaccess triggers warnings. You can ignore these, they don't cause the build to fail.
  • Android error libDefaultClient.so not found might occur. Resolve this problem by upgrading to ADB version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned though local TTS.
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • Media streamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source app or toggle next/previous.
  • If a connected Bluetooth device is inactive, the Alexa app might indicates that audio is playing.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation isn't yet supported.
  • Interrupted Bluetooth playback might not resume if other content is locally streamed.
  • make integration isn't available for Android. To run Android integration tests, manually upload the test binary and input file and run ADB.
  • Alexa might truncate the beginning of speech when responding to text-to-speech (TTS) user events. This only impacts Raspberry Pi devices running Android Things with HDMI output audio.
  • A reminder TTS message doesn't play if the sample app restarts and loses a network connection. Instead, the default alarm tone plays twice.
  • ServerDisconnectIntegratonTest tests are disabled until they're updated to reflect new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.

2019