Skip to content
This repository was archived by the owner on Jan 16, 2024. It is now read-only.

Releases: alexa/avs-device-sdk

v1.19.0

13 Apr 23:25

Choose a tag to compare

Version 1.19.0 - April 13 2020

Feature enhancements, updates, and resolved issues from all releases are available on the Amazon developer portal

v1.18.0

19 Feb 21:04

Choose a tag to compare

Version 1.18.0 - February 19 2020

Enhancements

  • Added support for Bluetooth Interface 2.0. This interface adds support for multiple simultaneous connections to Bluetooth peripherals.
  • Added support for Audio Focus Manager Library (AFML) Multi Activity. This interface enhances the behavior of a device so it can handle more than one Activity per Channel.
  • Added the obfuscatePrivateData logging method to help remove certain data from logs.
  • Updated MediaPlayerObserverInterface to include metadata about playback states.
  • Added SDK extension point. You can integrate CMake projects into the SDK without cloning those projects into a subdirectory.

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.
  • Fixed Bluetooth bug that caused short notification sounds from a connected phone to stop audio playback on the device.

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.
  • When using 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 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 application 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.
  • When using some products, 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 are updated to reflect new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.

v1.17.0

10 Dec 22:53

Choose a tag to compare

Version 1.17.0 - December 10 2019

Enhancements

  • Added support for captions for TTS. This enhancement allows you to print onscreen captions for Alexa voice responses.

  • Added support for SpeechSynthesizer Interface 1.3. This interface supports the new captions parameter.

  • Added support for AudioPlayer Interface 1.3. This interface supports the new captions parameter.

  • Added support for Interaction Model 1.2.

  • Added support for System 2.0.

  • Added support for Alarm Volume Ramp (Ascending Alarms on the Companion App). This feature lets you fade in alarms for a more pleasant experience. You enable alarm volume ramp in the sample app through the settings menu.

  • Added support for using certified senders for URI path extensions. This change allows you to specify the URI path extension when sending messages with CertifiedSender::sendJSONMessage.

  • Added new Metrics interfaces and helper classes. These additions help you create and consume Metrics events.

    • Interfaces - MetricRecorderInterface, MetricSinkInterface.
    • Helper Classes - DataPointStringBuilder, DataPointCounterBuilder, DataPointDurationBuilder, MetricEventBuilder.
  • Added support for the following AVS endpoint controller capabilities:

  • Added PowerResourceManagerInterface. This interface allows the SDK to control power resource levels for components such as the AudioInputProcessor and SpeechSynthesizer.

  • Added AlexaInterfaceCapabilityAgent. This Capability Agent handles common directives and endpoint controller capabilities support by Alexa.AlexaInterface.

  • Added AlexaInterfaceMessageSenderInterface. This interface is required to send common events defined by the Alexa.AlexaInterface interface.

  • Added BufferingComplete to MediaPlayerObserverInterface. This method helps improve performance in poor networking conditions by making sure MediaPlayer pre-buffers correctly.

  • Added SendDTMF to CallManagerInterface. This method allows you to send DTMF tones during calls.

New build options

New dependencies

  • To use captions, you must install a new dependency – the libwebvtt parsing library. Webvtt is a C/C++ library for interpreting and authoring conformant WebVTT content. WebVTT is a caption and subtitle format designed for use with HTML5 audio and video elements.

Bug fixes

Known Issues

  • The WebVTT dependency required for captions isn't supported for Windows/Android.
  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • When using 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 by upgrading to ADB version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned via local TTS.
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • SpeechSynthesizerState uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate states.
  • Media steamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source application 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.
  • When using some products, 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 are updated to reflect new service behavior.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.
  • On some devices, Alexa gets stuck in a listening state. Pressing t and h in the Sample App doesn't exit the listening state.
  • Exiting the settings menu doesn't provide a message to indicate that you're back in the main menu.

v1.16

25 Oct 21:37

Choose a tag to compare

Enhancements

  • Added support for SpeechSynthesizer v.1.2 which includes the new playBehaviour directive. For more information, see SpeechSynthesizer v1.2.
  • Added support for pre-buffering in AudioPlayer. You can optionally choose the number of instances MediaPlayer uses in the AlexaClientSDKconfig.json. Important: the contract for MediaPlayerInterface has changed. You must now make sure that the SourceId value returned by setSource() is unique across all instances.
  • AudioPlayer is now licensed under the Amazon Software License instead of the Apache Software License.

Bug Fixes

  • Fixed Android issue that caused the build script to ignore PKG_CONFIG_PATH. This sometimes caused the build to use a preinstalled dependency instead of the specific version downloaded by the Android script (e.g - openssl).
  • Fixed Android issue that prevented the Sample app from running at the same time as other applications using the microphone. Android doesn't inherently allow two applications to use the microphone. Pressing the mute button now temporarily stops Alexa from accessing the microphone.
  • Added 'quit' (– q) to the settings sub menu.
  • Fixed outdated dependencies issue in the Windows install script.
  • Fixed reminders issue that caused Notification LEDs to stay on, even after dismissing the alert.

Known Issues

  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • When using 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 by upgrading to ADB version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned via local TTS.
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • SpeechSynthesizerState uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate states.
  • Media steamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source application 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.
  • When using some products, 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 are updated to reflect new service behavior.
  • Bluetooth initialization must complete before connecting devices, otherwise devices are ignored.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.
  • On some devices, Alexa gets stuck in a permanent listening state. Pressing t and h in the Sample App doesn't exit the listening state.
  • Exiting the settings menu doesn't provide a message to indicate that you are back in the main menu.

v1.15

25 Sep 19:39

Choose a tag to compare

Enhancements

  • Added SystemSoundPlayer to ApplicationUtilities. SystemSoundPlayer is a new class that plays pre-defined sounds. Sounds currently supported include the wake word notification and the end of speech tone. This change is internal and you don't need to update your code.
  • Removed Echo Spatial Perception (ESP) functionality from the Alexa Voice Service (AVS) device SDK. Make sure you download and test your devices using the new AVS SDK sample app. If you're using an older version of the sample app, manually remove any references to ESP or errors occur during compile.
  • Added onNotificationReceived to NotificationsObserverInterface. onNotificationReceived broadcasts when NotificationsObserverInterface receives a new notification, instead of only sending the indicator state. This is important if you support a feature that requires a distinct signal for each notification received. See NotificationsObserverInterface for more details.
  • Added support for Multilingual Mode. With this enabled, Alexa automatically detects what language a user speaks by analyzing the spoken wake word and proceeding utterances. Once Alexa identifies the language, all corresponding responses are in the same language. The current supported language pairs are:
  • [ "en-US", "es-US" ]
  • [ "es-US", "en-US" ]
  • [ "en-IN", "hi-IN" ]
  • [ "hi-IN", "en-IN" ]
  • [ "en-CA", "fr-CA" ]
  • [ "fr-CA", "en-CA" ]

    IMPORTANT: Specify the locales your device supports in the localeCombinations field in AlexaClientSDKConfig.json. This field can't be empty. If you don't set these values, the sample app fails to run.
  • Added two new system settings, Timezone and Locale.
    • Timezone: For example, you can set the defaultTimezone to America/Vancouver. If you don't set a value, GMT is set as the default value. If you set a new timezone, make sure that your AVS system settings and default timezone stay in sync. To handle this, use the new class SystemTimeZoneInterface. See System Interface > SetTimeZone for more information.
    • Locale: For example, you can set defaultLocale to en-GB, instead of the default en-US.
  • The SpeechRecognizer interface now supports the following functionalities.
    • Change wake word (Alexa supported for now).
    • Toggle start of request tone on/off.
    • Toggle End of request tone on/off.
  • Deprecated the CapabilityAgents Settings{…} library. Settings {…} now maps to an interface that's no longer supported. You might need to update your code to handle these changes. Read Settings Interface for more details.
  • Added support for three new locals: Spanish - United States (ES_US), Hindi - India (HI_IN), and Brazilian - Portuguese (PT_BR).
  • Linked the atomic library to the sample app to prevent build errors on Raspberry Pi.

Bug Fixes

  • Fixed resource leaking in EqualizerCapabilityAgent after engine shutdown.
  • Issue 1391: Fixed an issue where SQLiteDeviceSettingsStorage::open tries to acquire a mutex twice, resulting in deadlock.
  • Issue 1468: Fixed a bug in AudioPlayer::cancelDirective that causes a crash.
  • Fixed Windows install script that caused the sample app build to fail - removed pip, flask, requests, and commentjson dependencies from the mingw.sh helper script.
  • Fixed issue: notifications failed to sync upon device initialization. For example, let's say you had two devices - one turned on and the other turned off. After clearing the notification on the first device, it still showed up on the second device after turning it on.
  • Fixed issue: barging in on a reminder caused it to stick in an inconsistent state, blocking subsequent reminders. For example, if a reminder was going off and you interrupted it, the reminder would get persist indefinitely. You could schedule future reminders, but they wouldn't play. Saying “Alexa stop” or rebooting the device fixed the “stuck” reminder.

Known Issues

  • Music playback history isn't displayed in the Alexa app for certain account and device types.
  • When using 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 by upgrading to ADB version 1.0.40.
  • If a device loses a network connection, the lost connection status isn't returned via local TTS.
  • ACL encounters issues if it receives audio attachments but doesn't consume them.
  • SpeechSynthesizerState uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate states.
  • Media steamed through Bluetooth might abruptly stop. To restart playback, resume the media in the source application 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.
  • When using some products, 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 are updated to reflect new service behavior.
  • Bluetooth initialization must complete before connecting devices, otherwise devices are ignored.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.

v1.14

09 Jul 23:28

Choose a tag to compare

Enhancements

  • AudioPlayer can now pre-buffer audio tracks in the Pre-Handle stage.

Bug Fixes

  • Fixed an issue in the SQLite wrapper code where a SQLiteStatement caused a memory corruption issue.
  • Fixed a race condition in SpeechSynthesizer that caused crashes.
  • Fixed a cmake issue that specifies a dependency for Bluetooth incorrectly.
  • Fixed a bug that caused Bluetooth playback to start automatically.
  • Changed supportedOperations from a vector to a set in ExternalMediaAdapterInterface.
  • Corrected an issue where a VolumeChanged event had previously been sent when the volume was unchanged after setVolume or adjustVolume had been called locally.
  • Fixed issue with IterativePlaylistParser that prevented live stations on TuneIn from playing on Android.
  • Corrected the spelling of "UNINITIALIZED".

Known Issues

  • Music playback history isn't being displayed in the Alexa app for certain account and device types.
  • On GCC 8+, issues related to -Wclass-memaccess will trigger warnings. However, this won't cause the build to fail and these warnings can be ignored.
  • Android error ("libDefaultClient.so" not found) can be resolved by upgrading to ADB version 1.0.40
  • When network connection is lost, lost connection status is not returned via local TTS.
  • ACL may encounter issues if audio attachments are received but not consumed.
  • SpeechSynthesizerState currently uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate state. These states may be removed in a future release.
  • The Alexa app doesn't always indicate when a device is successfully connected via Bluetooth.
  • Connecting a product to streaming media via Bluetooth will sometimes stop media playback within the source application. Resuming playback through the source application or toggling next/previous will correct playback.
  • When a source device is streaming silence via Bluetooth, the Alexa app indicates that audio content is streaming.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation is not yet supported.
  • On some products, interrupted Bluetooth playback may not resume if other content is locally streamed.
  • make integration is currently not available for Android. In order to run integration tests on Android, you'll need to manually upload the test binary file along with any input file. At that point, the adb can be used to run the integration tests.
  • On Raspberry Pi running Android Things with HDMI output audio, beginning of speech is truncated when Alexa responds to user text-to-speech (TTS).
  • When the sample app is restarted and the network connection is lost, the Reminder TTS message does not play. Instead, the default alarm tone will play twice.
  • ServerDisconnectIntegratonTest tests have been disabled until they can be updated to reflect new service behavior.
  • Devices connected before the Bluetooth CA is initialized are ignored.
  • The DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId test fails intermittently.

v1.13

25 May 02:05

Choose a tag to compare

Enhancements

  • When an active Alert moves to the background, the alert now begins after a 10-second delay. Alert loop iteration delays can now no longer last longer than a maximum of 10 seconds, rather than depending on the length of the audio asset.
  • Changed NotificationsSpeaker to use Alerts Volume instead of using the speaker volume.
  • Allow customers to pass in an implementation of InternetConnectionMonitorInterface which will force AVSConnectionManager to reconnect on internet connectivity loss.
  • Added an exponential wait time for retrying transmitting a message via CertifiedSender.
  • When Volume is set to 0 and device is unmuted, volume is bumped up to a non-zero value. When Volume is set to 0 and Alexa talks back to you, volume is bumped up to a non-zero value.
  • Deprecated HttpResponseCodes.h, which is now present only to ensure backward compatibility.
  • The default base URLs for AVS have changed. These new URLs are supported by SDK v1.13 and later versions. Amazon recommends that all new and existing implementations update to v1.13 or later and use the new base URLs accordingly; however, Amazon will continue to support the legacy base URLs.

Bug Fixes

  • Fixed bug where receiving a Connected = true Property change from BlueZ without UUID information resulted in BlueZBluetoothDevice transitioning to CONNECTED state.
  • Fixed bug where MediaStreamingStateChangedEvent may be sent on non-state related property changes.
  • Added null check to SQLiteStatement::getColumnText.
  • Fixed an issue where database values with unescaped single quotes passed to miscStorage database will fail to be stored. Added a note on the interface that only non-escaped values should be passed.
  • Fixed a loop in audio in live stations based on playlists.
  • Fixed a race condition in TemplateRuntime that may result in a crash.
  • Fixed a race condition where a recognize event due to a EXPECT_SPEECH may end prematurely.
  • Changed the name of Alerts channel to Alert channel within AudioActivityTracker.
  • Prevented STOP Wakeword detections from generating Recognize events.
  • The SQLiteDeviceSettingsStorageTest no longer fails for Android.

Known Issues

  • Music playback history isn't being displayed in the Alexa app for certain account and device types.
  • On GCC 8+, issues related to -Wclass-memaccess will trigger warnings. However, this won't cause the build to fail and these warnings can be ignored.
  • Android error ("libDefaultClient.so" not found) can be resolved by upgrading to ADB version 1.0.40
  • When network connection is lost, lost connection status is not returned via local TTS.
  • ACL may encounter issues if audio attachments are received but not consumed.
  • SpeechSynthesizerState currently uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate state. These states may be removed in a future release.
  • The Alexa app doesn't always indicate when a device is successfully connected via Bluetooth.
  • Connecting a product to streaming media via Bluetooth will sometimes stop media playback within the source application. Resuming playback through the source application or toggling next/previous will correct playback.
  • When a source device is streaming silence via Bluetooth, the Alexa app indicates that audio content is streaming.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation is not yet supported.
  • On some products, interrupted Bluetooth playback may not resume if other content is locally streamed.
  • make integration is currently not available for Android. In order to run integration tests on Android, you'll need to manually upload the test binary file along with any input file. At that point, the adb can be used to run the integration tests.
  • On Raspberry Pi running Android Things with HDMI output audio, beginning of speech is truncated when Alexa responds to user text-to-speech (TTS).
  • When the sample app is restarted and the network connection is lost, the Reminder TTS message does not play. Instead, the default alarm tone will play twice.
  • ServerDisconnectIntegratonTest tests have been disabled until they can be updated to reflect new service behavior.
  • Devices connected before the Bluetooth CA is initialized are ignored.

v1.12.1

03 Apr 01:09

Choose a tag to compare

Bug Fixes

  • Fixed a bug where the same URL was being requested twice when streaming iHeartRadio. Now, a single request is sent.
  • Corrected pause/resume handling in ProgressTimer so that extra ProgressReportDelayElapsed events are not sent to AVS.

Known Issues

  • Music playback history isn't being displayed in the Alexa app for certain account and device types.
  • On GCC 8+, issues related to -Wclass-memaccess will trigger warnings. However, this won't cause the build to fail and these warnings can be ignored.
  • Android error ("libDefaultClient.so" not found) can be resolved by upgrading to ADB version 1.0.40
  • When network connection is lost, lost connection status is not returned via local TTS.
  • ACL may encounter issues if audio attachments are received but not consumed.
  • SpeechSynthesizerState currently uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate state. These states may be removed in a future release.
  • The Alexa app doesn't always indicate when a device is successfully connected via Bluetooth.
  • Connecting a product to streaming media via Bluetooth will sometimes stop media playback within the source application. Resuming playback through the source application or toggling next/previous will correct playback.
  • When a source device is streaming silence via Bluetooth, the Alexa app indicates that audio content is streaming.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation is not yet supported.
  • On some products, interrupted Bluetooth playback may not resume if other content is locally streamed.
  • make integration is currently not available for Android. In order to run integration tests on Android, you'll need to manually upload the test binary file along with any input file. At that point, the adb can be used to run the integration tests.
  • On Raspberry Pi running Android Things with HDMI output audio, beginning of speech is truncated when Alexa responds to user text-to-speech (TTS).
  • When the sample app is restarted and the network connection is lost, the Reminder TTS message does not play. Instead, the default alarm tone will play twice.

v1.12

26 Feb 19:03

Choose a tag to compare

Enhancements

  • Support was added for the fr_CA locale.
  • The Executor has been optimized to run a single thread when there are active job in the queue, and to remain idle when there are not active jobs.
  • An additional parameter of alertType has been added to the Alerts capability agent. This will allow observers of alerts to know the type of alert being delivered.
  • Support for programmatic unload and load of PulseAudio Bluetooth modules was added. To enable this feature, there is a new CMake option: BLUETOOTH_BLUEZ_PULSEAUDIO_OVERRIDE_ENDPOINTS. Note that libpulse-dev is a required dependency of this feature.
  • An observer interface was added for when an active Bluetooth device connects and disconnects.
  • The BluetoothDeviceManagerInterface instantiation was moved from DefaultClient to SampleApp to allow applications to override it.
  • The MediaPlayerInterface now supports repeating playback of URL sources.
  • The Kitt.AI wake word engine (WWE) is now compatible with GCC5+.
  • Stop of ongoing alerts, management of MessageObservers, and management of CallStateObservers have been exposed through DefaultClient.

Bug Fixes

  • Issue 953 - The MediaPlayerInterface requirement that callbacks not be made upon a callers thread has been removed.
  • Issue 1136 - Added a missing default virtual destructor.
  • Issue 1140 - Fixed an issue where DND states were not synchronized to the AVS cloud after device reset.
  • Issue 1143 - Fixed an issue in which the SpeechSynthesizer couldn't enter a sleeping state.
  • Issue 1183 - Fixed an issue where alarm is not sounding for certain timezones
  • Changing an alert's volume from the Alexa app now works when an alert is playing.
  • Added missing shutdown handling for ContentDecrypter to prevent the Stop command from triggering a crash when SAMPLE-AES encrypted content was streaming.
  • Fixed a bug where if the Notifications database is empty, due to a crash or corruption, the SDK initialization process enters an infinite loop when it retries to get context from the Notifications capability agent.
  • Fixed a race condition that caused AlertsRenderer observers to miss notification that an alert has been completed.

Known Issues

  • PlaylistParser and IterativePlaylistParser generate two HTTP requests (one to fetch the content type, and one to fetch the audio data) for each audio stream played.
  • Music playback history isn't being displayed in the Alexa app for certain account and device types.
  • On GCC 8+, issues related to -Wclass-memaccess will trigger warnings. However, this won't cause the build to fail and these warnings can be ignored.
  • Android error ("libDefaultClient.so" not found) can be resolved by upgrading to ADB version 1.0.40
  • When network connection is lost, lost connection status is not returned via local TTS.
  • ACL may encounter issues if audio attachments are received but not consumed.
  • SpeechSynthesizerState currently uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate state. These states may be removed in a future release.
  • The Alexa app doesn't always indicate when a device is successfully connected via Bluetooth.
  • Connecting a product to streaming media via Bluetooth will sometimes stop media playback within the source application. Resuming playback through the source application or toggling next/previous will correct playback.
  • When a source device is streaming silence via Bluetooth, the Alexa app indicates that audio content is streaming.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation is not yet supported.
  • On some products, interrupted Bluetooth playback may not resume if other content is locally streamed.
  • make integration is currently not available for Android. In order to run integration tests on Android, you'll need to manually upload the test binary file along with any input file. At that point, the adb can be used to run the integration tests.
  • On Raspberry Pi running Android Things with HDMI output audio, beginning of speech is truncated when Alexa responds to user text-to-speech (TTS).
  • When the sample app is restarted and network connection is lost, Reminder TTS does not play. Instead, the default alarm tone will play twice.

v1.11

19 Dec 19:56

Choose a tag to compare

Enhancements

  • Added support for the new Alexa DoNotDisturb interface, which enables users to toggle the do not disturb (DND) function on their Alexa built-in products.
  • The SDK now supports Opus encoding, which is optional. To enable Opus, you must set the CMake flag to -DOPUS=ON, and include the libopus library dependency in your build.
  • The MediaPlayer reference implementation has been expanded to support the SAMPLE-AES and AES-128 encryption methods for HLS streaming.
    • AES-128 encryption is dependent on libcrypto, which is part of the required openSSL library, and is enabled by default.
    • To enable SAMPLE-AES encryption, you must set the -DSAMPLE_AES=ON in your CMake command, and include the FFMPEG library dependency in your build.
  • A new configuration for deviceSettings has been added.This configuration allows you to specify the location of the device settings database.
  • Added locale support for es-MX.

Bug Fixes

  • Fixed an issue where music wouldn't resume playback in the Android app.
  • Now all equalizer capabilities are fully disabled when equalizer is turned off in configuration file. Previously, devices were unconditionally required to provide support for equalizer in order to run the SDK.
  • Issue 1106 - Fixed an issue in which the CBLAuthDelegate wasn't using the correct timeout during request refresh.
  • Issue 1128 - Fixed an issue in which the AudioPlayer instance persisted at shutdown, due to a shared dependency with the ProgressTimer.
  • Fixed in issue that occurred when a connection to streaming content was interrupted, the SDK did not attempt to resume the connection, and appeared to assume that the content had been fully downloaded. This triggered the next track to be played, assuming it was a playlist.
  • Issue 1040 - Fixed an issue where alarms would continue to play after user barge-in.

Known Issues

  • PlaylistParser and IterativePlaylistParser generate two HTTP requests (one to fetch the content type, and one to fetch the audio data) for each audio stream played.
  • Music playback history isn't being displayed in the Alexa app for certain account and device types.
  • On GCC 8+, issues related to -Wclass-memaccess will trigger warnings. However, this won't cause the build to fail, and these warnings can be ignored.
  • In order to use Bluetooth source and sink PulseAudio, you must manually load and unload PulseAudio modules after the SDK starts.
  • The ACL may encounter issues if audio attachments are received but not consumed.
  • SpeechSynthesizerState currently uses GAINING_FOCUS and LOSING_FOCUS as a workaround for handling intermediate state. These states may be removed in a future release.
  • The Alexa app doesn't always indicate when a device is successfully connected via Bluetooth.
  • Connecting a product to streaming media via Bluetooth will sometimes stop media playback within the source application. Resuming playback through the source application or toggling next/previous will correct playback.
  • When a source device is streaming silence via Bluetooth, the Alexa app indicates that audio content is streaming.
  • The Bluetooth agent assumes that the Bluetooth adapter is always connected to a power source. Disconnecting from a power source during operation is not yet supported.
  • On some products, interrupted Bluetooth playback may not resume if other content is locally streamed.
  • make integration is currently not available for Android. In order to run integration tests on Android, you'll need to manually upload the test binary file along with any input file. At that point, the adb can be used to run the integration tests.
  • On Raspberry Pi running Android Things with HDMI output audio, beginning of speech is truncated when Alexa responds to user TTS.
  • When the sample app is restarted and network connection is lost, alerts don't play.
  • When network connection is lost, lost connection status is not returned via local Text-to Speech (TTS).