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.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 was in power save mode for a particular 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.
  • Removed the /build directory and it's contents from SDK. You must now use the /cmakeBuild directory instead. If you previously referenced any assets in the /build directory, update them to point to the /cmakeBuild directory.

Bug fixes

  • Fixed a Bluetooth bug that could cause conflicts between music streamed online and music streamed through Bluetooth.
  • Fixed an uninitialized pointer in StubApplicationAudioPipelineFactory::createPooledApplicationMediaInterfaces.
  • Fixed a bug that could cause the internet connection monitor to lock and become unresponsive.

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

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.
  • 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.

New configurations

  • Replaced the deprecated CapabilitiesObserverInterface with the DelegateObserverInterface.

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.

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

2018

2017