Release Notes

Updating the Platform

After a minor version upgrade, make sure to re-train your assistant on the Console and download the new model onto your device.
To install the latest update, open a terminal window on the device running Snips, and type the following:
sudo su
apt-get update && apt-get upgrade snips-platform-voice
If you are using Sam, you can also upgrade the platform using the following command (run from your computer):
sam update platform
Use your favorite package management system to upgrade the Snips Android library.
Use your favorite package management system to upgrade the Snips iOS framework.

Platform Update 1.3.0 (0.64.0) - 02/10/2019

Please update your assistant once your platform is updated. The assistant NLU model needs a re-train to be compatible with this version.


  • snips-asr, snips-nlu:
    • Added support for Brazilian Portuguese language (pt-br). doc
  • snips-asr:
    • Added a new option thread_number to set the number of concurrent processing thread. doc
  • snips-audio-server:
    • Add support for audio streaming (hermes/audioServer/<site_id>/playBytesStreaming/<chunk_number>/<is_last_chunk>). Allows to use on the fly speech synthesis to improve assistant responsiveness. doc
    • Add portaudio_capture and portaudio_playback on linux to use portaudio audio interface.
  • snips-dialogue
    • Experimental support for site groups and hotword coalescing, see the new options --site-group --sites-in-same-group-default and --hotword-coalescing-duration. doc
  • snips-hotword:
    • Trying to load an unsupported model version will raise a dedicated error message.
  • snips-injection, all-sdk:
    • Add hermes route hermes/injection/onInjectionComplete. Once the injection has completed, the platform wait for the ASR and NLU to reload and then publish an injection complete message. doc
    • Add hermes route to reset injection. This feature allows to clean all previously injected artefacts. doc
    • Add --g2p-model option to provide a path to a g2p model (--g2p-models is now deprecated).
  • snips-nlu, hermes-protocol:
    • Add alternatives intent field to the intent dialogue message for disambiguation. doc
  • snips-watch:
    • Display components readyness. (asr, dialogue, nlu, tts, audio-server and hotword).
    • Display some components errors in snips-watch.
    • audio_playback and dump_audio are now compatible with audio TCP streams: bind a TCP address to a site using the audio option.


  • snips-asr:
    • A warmup decoding is now performed when loading the model which removes the latency on the first decoding.
    • Change the cache logic. When the size exceeds a threshold, it remains constant. Thus, reduce the memory consumption.
    • Make model loading and usage thread safe. Allows the platform to handle more satellites requests in parallel.
  • snips-audio-server:
    • Change the default frontend used for audio playback and capture from PortAudio to ALSA to mitigate issue #148 (linux only).
  • snips-dialogue:
    • The component responsible of a dialog session timeout is specified in the timeout log instead of The session was ended because one of the component didn't respond in a timely manner.
  • snips-injection:
    • Load g2p resource from assistant by default.
    • Injection service stop if the g2p resources cannot be found.
  • snips-megazord:
    • Made g2p_dir attribute optional when enabling injection. Which allow user to overwrite it instead of forcing to set a path.
  • snips-nlu:
    • Memory usage is dramatically reduced.
    • Improve builtin entity parsing in ES, EN, FR, JA, PT.
    • Accept ambiguous results from DeterministicIntentParser when confidence score is above 0.5.
  • snips-pegasus:
    • Remove package dependency to snips-platform-common.


  • snips-asr:
    • Fix memory leak.
    • Fix race condition type crash at startup on ubuntu 18.04 and Debian Buster. #156.
  • snips-injection:
    • Fix ASR Injection crashes when trying to inject a value containing the symbol #0.
    • Fix memory leaks.
    • Fix crash when injecting a value containing #0.
  • snips-megazord:
    • Fix race conditions in exit by waiting the asr to stop completely before ending the function call.
  • snips-pegasus:
    • Fix broken route pegasus/assistant/infos.
    • Fix broken route pegasus/actions/config not having the correct skill_dir key in the swagger documentation.
    • Fix snips-skill-server action configuration command that was called with the wrong flags order.
    • Fix snips-skill-server action returning an error 500 instead of 200 when an internal error occurs.
    • Fix route /pegasus/actions/config not having the correct skill_dir key in the swagger interface.
  • android-sdk:
    • Fix OpenSLES audio backend related crashes when streaming is not used.

Known issues

  • snips-asr-google: [Won't fix] snips-asr-google does not work anymore (crashes, hangs). #90
  • snips-audio-server: Audio issues using alsa playback. #203
  • snips-injection: Injection fails when JSON contains an empty value. #192
  • snips-watch: --no-color flag seems to have no effects. #197

Platform Update 1.2.2 (0.63.3) - 10/07/2019

  • debian packages: 3rd parties open source SW licenses and Snips Standard Term Of Use.
  • sdk: Fixed memory leak on client shutdown.
Known issues
  • snips-asr-google: Google ASR requests hangs randomly. #90
  • snips-audio-server: Sampling rate related crashes on Debian Stretch since kernel version 4.19 (portaudio) #148

Platform Update 1.2.1 (0.63.2) - 13/05/2019

New Features
  • snips-satellite: Easy satellite configuration using on demand audio transmission. doc
  • snips-pegasus: Snips platform configuration web service (beta). doc
  • ios-sdk, android-sdk: IOS and Android SDK support for Dialogue Configure (enable and disable intents).
  • ios-sdk, android-sdk: IOS and Android SDK support for ASR Partials.
  • snips-skill-server: Add cli options to install a skill from GitHib, list skills, delete an assistant related skills, display skills configuration as a json data structure.
  • snips-tts: Add possibility to play a registered wav file through TTS (limited to 10 seconds maximum).
# Register the sound
mosquitto_pub -h my-platform.local -p 1883 -t hermes/tts/registerSound/mysound -f my_wav_file.wav
# And use it with the tag [[sound:mysound]] passed within the text string for the TTS to use it
mosquitto_pub -h my-platform.local -p 1883 -t hermes/dialogue/[start|stop|continue]Session -m '{"siteId":"default", "lang":"en", "text": "Do you hear this sound sample ? [[sound:mysound]]. Thanks for listening. ", "id": "someramdomid", "sessionId": "somerandomsessionid"}
  • ios-sdk, android-sdk: Removed useless debug logs to improve logs usability.
  • snips-hotword: Updated the default Wake Word model to the latest version in snips-hotword debian package.
  • snips-nlu: Reduce intents false positive by removing confidence normalization when using an intent filter.
  • snips-platform: the services that depended on hermes mqtt will now exit with an error code of 1 if the mqtt connexion to the broker is lost and cannot be restored to prevent unresponsive service.
  • ios-sdk: Fix memory leaks.
  • android-sdk: Fix memory leaks when using default TtsHandler. #117
  • snips-skill-server: Skills subfolder is not created automatically with brew install. #108
Known issues
  • snips-asr-google: Google ASR requests hangs randomly. #90
  • snips-audio-server: Sampling related crashes on Debian Stretch since kernel version 4.19 (portaudio) #148

Platform Update 1.1.2 (0.62.3) - 21/03/2019

New Features
  • snips-dialogue:
    • support for enabling and disabling intent on the fly.
    • support for enabling and disabling intent by default.
To give it a try you can check Python and JavaScript wrappers reference documentation.
We've also made a tutorial article to help you learn this feature.
  • snips-platform-swift: added support for macOS.
  • snips-dialogue: new asrConfidence field in IntentMessage.
  • snips-watch: new command line argument option --audio_playback <SITE> to listen to the audio coming from a site. (e.g snips-watch --audio_playback default --mqtt raspberrypi.local:1883 from MacOS with snips-audio-server started)
  • snips-platform-demo: Upgrade the WakeWord for Hey Snips V4
  • snips-nlu: Fix 'ai.snips.nlu' panicked at 'no entry found for key' when multiple slots with the same name in an intent. #94
  • snips-tts: Fix TTS input is not uttered when the hyphen '-' is the first character of the input string. #54
  • snips-dialogue: Fix issue where overwriting dialogue resources path wasn't taken into account. #74
  • snips-skill-server: --clean option doesn't produce a permission error anymore.
  • snips-skill-server: fix install path for 'snips-skill-server install_skills'. #96
  • android: Entity injection does not work for spanish language. #92
Known Issues
  • snips-asr-google: Google ASR requests hangs randomly. #90

Console Update 2.28.0 - 07/03/2019

New features
  • GitHub sign-in. Now those that don’t want to create another set of email + password credentials to remember don’t have to! (although we strongly recommend using a password manager). If you already have a console account you can connect it to GitHub, from your account settings. Afterwards you’ll be able to login with a single click.
  • @mentions support. We saw some problems in communications about apps in the store, because so far only the the app owner would get notified about comments on an app. Now if you @mention someone, they will be notified, which should communication easier. Note that in this release we only support @mentioning the app owner and others who already commented. In a future release we will support @mentioning any console user.
  • In the results you see when testing intents in the console, we renamed probabilty to confidenceScore, to align with the Snips platform (on device).
  • Fixed an over-eager confirmation modal on the app editor page, which warned about losing intent action code when changing action type, even if no such code had been written (ever).

Platform Update 1.1.0 (0.61.1) - 25/02/2019

  • Breaking Changes
    The following updates break the backward compatibility of the platform with assistants trained priorly to this release.
    Therefore, after the upgrade of your platform, you will need to update your assistant. You also need to upgrade your platform version if you want to use a recently trained version of your assistant.
    • snips-hotword: Improved Hey Snips Wake Word reliability. This new implementation is based on WaveNet.
    • snips-nlu: Added a confidence score to unrecognized intents.
    • snips-nlu: The memory needed by snips-nlu is reduced. This optimization may vary with the complexity of the assistant.
    • snips-nlu: Intent classification performance is improved by leveraging word orders in the utterance.
    The following API changes may break your applications based on Hermes messages.
    • hermes API: probability field in hermes/intent/<intentName> messages has been renamed confidenceScore (json).
  • New Features
    • snips-skill-server: cli options to install skills & manage their configuration.
    • snips-template : support for JavaScript and Python 3 based templates.
  • Known Issues:
    • snips-skill-server: install_skills does not work. snips-issues#96
    • snips-nlu: Multiple slots with the same name in an intent break the NLU. snips-issues#94
    • snips-asr-google: Requests to server hangs randomly. (check the workaround in the ticket) snips-issues#90

Platform Update 1.0.3 (0.60.12) - 28/01/2019

  • Improvements
    • snips-hotword: Wakeword detection efficiency is improved. Hotword is finally fast enough to run WaveNet networks on Raspberry Pi Zero.
  • Bug fixes
    • snips-nlu: Fixed cents support for money amount in french language

Platform Update 1.0.2 (0.60.10) - 03/01/2018

  • New features
    • snips-asr, snips-nlu: Added Italian language support.
    • snips-injection: Added entity injection support for Spanish and Italian languages.
    • snips-hotword: Added options to command line interface and snips.toml to control vad-inhibitor activation.
    • snips-audio-server: Added options to command line interface and snips.toml configuration file to disable audio capture.
  • Improvements
    • snips-asr, snips-nlu: Improved Spanish language support.
    • snips-asr: Improved cpu and memory usage.
  • Bug fixes
    • all: Fixed HeartBeat not deactivated on user request
    • all: Fixed assistants not being loaded when one of the component was missing.
    • snips-injection: Fixed entity injection not working when ASR or NLU model were overridden.
    • snips-asr-google: Fixed unexpected crash when using recent credentials.

Platform Update 1.0.1 (0.60.8) - 18/12/2018

  • New features
  • Improvements
    • Delay-less Wake Word-to-ASR: When audio feedback is disabled, it is no longer needed to emphasize the pause between the wake word and the request
    • Snips Audio Server: improved Alsa playback robustness
    • Improved path detection and error messages for assistants installed by the user
  • Bug fixes
    • snips-skill-server: Fix a crash when a skill writes a file in /tmp
    • snips-injection: Fix a crash when injecting entity values on Android
    • snips-asr: Fix multiple performance issues related to ASR partial decoding. The CPU footprint of this feature can be significant, depending on the size of the assistant, and the frequency of partial decodings
    • snips-dialogue: It is now possible to update the customData field in the continueSession message payload
  • Incompatibility / possible breaking change
    • The delay-less Wake Word-to-ASR benefits from new features of snips-audio-server. If you are not using snips-audio-server but a custom re-implementation, we recommend disabling them by passing the option --no_snips_audio_server_replay when running snips-asr
  • Known issues
    • Jackd audio is not supported in this build for Raspbian and Docker ARM
    • Heartbeat always activated. Users cannot opt out using the assistant settings.
A bug was discovered after the release preventing users from deactivating the heartbeat using the assistant configuration. This has been fixed and released.
The heartbeat does not contain any data, and is only sent by a device to say it is alive. The IP is erased at the infrastructure level, guaranteeing no sensitive information can be derived from the heartbeat.

Console Update 2.23.0 - 09/11/2018

New features

Intent Editor

  • New two-column layout. This makes it easier to get an overview of what you have, and work with the training examples directly without having to scroll
  • Sort options for training examples. We're starting with alphabetical and newest first sort orders, but we've heard some other ideas already. Keep them coming!

User pages

You can now find out more about the developers of the apps you use. Clicking on their username takes you to their user page. This page shows you what other apps they have published, and other public information. You can edit your public information and preview your own User page via your own Account. Finally, you can tip the developer from their page, if you appreciate their work!
  • We will now show a small banner when your version of the console is outdated
  • Inside the Home, see where resources are used
    Click on the dots menu for in the top right corner of an App, Intent or Slot type. A new option now says how many times this resource is used, and clicking on this info opens a modal to see more details


  • It's now possible to untag a slot from the slot selection menu. After selecting some text, if this text is tagged, the tag can be removed in the menu. This works for keyboard usage! You can now also remove parts of a tag, via selecting parts of the text and using this new remove option, in the menu
  • We moved to a Forum:! This way we get to scale better, allowing existing questions and answers to be indexed and searched for
  • Reduced the size of our JavaScript for modern browsers, by serving different code to modern and older browsers
  • Notifications UI should now look better
  • Dedicated Empty State UI when Home has no assistants or apps

Bug fixes

  • Fixed multi-line training example bugs in the intent editor
    Previously the lines of multi-line training examples could overlap, and the slot selection menu could open up in the wrong place
  • Fixed voice recording which was not working in the latest Safari
  • Fixed deleting slot types from Home, was not working properly

Platform Update 1.0.0 (0.60.1) - 29/10/2018

  • MacOS support added (via Homebrew)
  • Version 2 of the ASR/NLU engine (see doc):
    • An ASR confidence score is given at token, slot and query level
    • Timestamps added at the token level, for interactive experiences
    • Partial match for slot values is now possible. No need to say the exact original values (eg “Lucy in the sky” can be said instead of “Lucy in the sky with diamonds”)
  • Injection API
    • Injection now impacts both ASR and NLU (used to impact ASR only), to maximise chances for injected values to be understood (see doc).
  • Audio server
    • Add Alsa support
    • Add support for direct tcp based and MQTT based at the same time


  • Logs
    • Broker address is now displayed when an error occured on connection
    • Improved logs and errors message
  • Dialogue
    • Add a sendIntentNotRecognized flag in start and continue session messages to indicate to the dialogue manager whether it should handle non recognized intents by itself or sent them as an IntentNotRecognized message for the client to handle. Handlers for this message have been added to Android and iOS SDKs

Bug fixes

  • Audio server streaming: fix double start in remote controlled source
  • Miscellaneous bug fixes in all areas

Known issues

  • Jessie distribution is not supported in this build
  • Jack audio support is not supported in this build for raspbian stretch
  • Don’t install this update on raspberry pi zero, the platform will no longer work. A fix will be publish ASAP.
  • sam update platform
  • For snips-asr, you have to upgrade snips-kaldi-atlas to version 0.23.2
  • For snips-nlu, you have to download a new assistant from the console as the model is breaking

Console Update 2.22.2 - 11/10/2018

New features:

Steps to upgrade

Improvements and bug fixes:
As always, please refresh the page to get the latest updates.

Console Update 2.18.0 - 03/09/2018

  • Intent editor: keyboard shortcuts enter and esc actions for tagging slots in training examples, up/down/tab navigation between training examples. More to come - let us know if you have ideas of what keyboard interactions you would like in the console!
  • Apps can now be shared with others more easily! The console now has dedicated share for apps published to the store, and each app now lives on it’s own unique URL
  • App change logs It’s now possible to write a change log message when publishing an app update (for the store). Very soon it will be possible to view the full changelog for an app from the store.
  • We now ask you to rate apps you've used ⭐️
  • You can no longer rate your own apps. (This was unfair for our bounty program)
  • Intent Editor now has a neat search for training examples
  • My Assistants & My Intents now have contents sorted alphabetically
  • The full screen modal now works more as expected when using the browser back button
  • Fixed a bug making it impossible to download two different assistants in the same session, when not using Sam.
  • Our tooltip had some positioning issues. It should work better now.
  • We made the console faster! We trimmed the size of our assets downloaded when the console loads, and when some pages are opened, like the Intent Editor. In technical terms, we also improved our First render and Time To Interactive metrics, via adding critical css, tree-shaking and code splitting
  • SlotType page: Commas in synonyms can now be escaped ("4, 5, 1\,5, 3"…)
  • The modal shown when downloading an assistant now shows the command to run to update the assistant on Sam. It comes with a copy button, and should make it easier and faster to perform this action
  • Rating stars, and some of our menus, received a face lift and show now look better than before
  • App descriptions now preserve whitespace correctly, and detects and auto-links urls in a few more cases where it wasn't working before
  • Voice testing: fixed bugs that prevented it from working in Safari. Also added better UI explaining what's happened in cases where voice testing is not available.
As always, please refresh the page to get the latest updates, and let us know what you think!

Platform Update 0.58.2 - 08/13/2018

  • New version of the NLU model (0.16.0). You need to retrain your existing assistant on the Snips Console.

Console Update 2.6.0

  • App store search and sort. Makes it easier to find what you're looking for, whether it is
    a specific app, or something new. Last week we also added a simple filter for showing only apps that contain actions. Apps without action require you to write the code to do something (play music, speak, turn on the lights), so if you don't want that, this is the filter for you!
  • New Home > My Intents section. What intents do you have on your account; too many too keep track of? This should make managing your account a bit easier. We will add the same UI for My Slot Types in a future update
  • Separate UI for remove and delete actions. Previously we used the same icon for "remove an intent from this app" as for "delete this intent from my account", which was confusing. It should be better now
  • Auto detecting and creating links for URL's inside app descriptions and comments
  • Modals - now closable via the ESC key and if you click on the overlay (except for modals that require action).

Sam Update 0.0.32

Snips Platform
  • Improvement to snips-watch: highlight NLU query text and add a longer hotword audio dump
  • Improvement to snips-nlu: NLU resources are now loaded dynamically instead of being statically embedded in the code. This dramatically reduces the size of our binary
  • Improvement to snips-audio-server: refactor to stop the constant streaming on the satellites running their own Snips hotword
  • New feature in snips-audio-server: add the possibility to disable audio playback in the audio server
  • New command sam install demo, which installs a weather assistant and a simple TTS action to help user test the platform
  • During sam install actions, if virtualenv raises an error, it won't stop the rest of the setup. The snippets detected are fully displayed in a list
  • When uploading your assistant in a file or in a zip with sam install assistant -p <path>, the folder is no more deleted.

Platform Update 0.56.4

  • Removed Tensorflow as we now use a full Rust implementation
  • Fix model loading and memory consumption of the ASR
  • Update to snips-nlu version 0.57.0
  • Fix Android for snips-nlu-ontology : TimeIntervalValue.from,, AmountOfMoneyValue.unit and TemperatureValue.unit are now nullable in kotlin, previous versions would crash if the underlying value was null
  • Fix Android: workaround for android kernel broken monotonic clock
  • Add error management API on Android port
  • Platform sound feedback is user configurable and is now enabled by default: the file snips.toml contains a configuration element sound_feedback_enabled_default = true
  • Removed ProtectKernelTunables protection in snips-skill-server service to allow action communication with respeaker hat.

Sam Update 0.0.30

  • On Windows, Git's ssh-keygen.exe can be set with a different path during sam connect if it is not installed at the default path
  • Fixed an issue during sam setup audiofor German language (but any language really) due to a localization parsing dependency
  • During sam install actions do not force chmod +x actions.pybut asks the user to do it instead, raised for Github actions mostly
  • Actions are automatically installed with sam install assistant & sam update-assistant
  • Users will now be notified when SAM needs to be updated
To update Sam, run npm install -g snips-sam from the command line.

Platform update 0.55.2 - 26/04/2018

New features


  • Personal wake word - You've been asking for it and here it is: your very own personal wakeword. We provide a small tutorial here about how to customize it!
  • Snips ASR - Dynamic language model - Quicker to train, lighter on the SD card, this new model is so avant-garde that it will also help you with the chores
  • Snips ASR - Vocabulary Injection: Because Privacy first, you can now add vocabulary to your assistant directly with a .json file without even using the console
  • iOS support - You can now add the Snips SDK in your iOS applications to include fully private voice and language recognition support.


  • Bundle Store is dead, long live the app store! - Previously called bundles. Apps can now link actions to your intents, writing your own code snippets, using external Github code or using Home Assistant components directly in the console
  • New onboarding - with a smoother experience for our new makers
  • General UI improvements.
To update Sam, run npm install -g snips-sam from the command line.

Bugs fixed

  • MQTT External Broker deconnection should not bother you anymore.


  • Snips Analytics - You are free to choose if you want to share with us CPU and OS Distribution info of your active devices. This will help us improve Snips in the future (like optimization and stuff). This option can be modified in your Assistant preferences, in the console.

Important Notes

  • The NLU model has changed, please retrain your assistants before using this update.

Platform update 0.53.17

To upgrade to the latest version, run the following from the command line:
Make suer to backup your /etc/snips.toml before updating.

Platform Update 0.53.11

  • Snips NLU is now Open Source. In the Snips platform we renamed the component snips-queries to snips-nlu
  • Debloat Raspbian bin, major Rust clean of dependencies and link time optimization
  • MQTT TLS (Transport Layer Security) support : you can now encrypt communications on the MQTT bus.


  • New API uses SnipsPlatformClient instead of Megazord - for obvious, serious reasons
  • The platform is now isolated in a separate process
  • Added methods to pause/resume the platform and to stop it (disconnect) - we won't drain your battery anymore
  • Added TTS support (using Android's default TTS).
  • Fixed three bugs linked to the switch to a new implementation of the MQTT client.

Upgrade notes

sudo bash -c 'apt-get update; dpkg --get-selections | grep snips | cut -f1 | xargs apt-get install -y' \
&& sudo apt-get install libatlas3-base libtensorflow
With this new release, you must update the platform. Please use the following command:
sudo apt-get update && sudo apt-get upgrade snips-platform-voice
There is an update in the NLU model format encoding, the model version is now 0.13.0, If you upgrade from a version below 0.53.x you need to retrain your existing assistant from the console.
Using apt-get upgrade with no arg will not properly update the platform.
Last modified 2yr ago