1.7 Release (Codename HA)


Release Notes

New Features for Users

  • A frequency-based timer was added, so users can say “twice a week”, “three times an hour”
  • Users can now specify the device by name when multiple devices of the same kind are configured.
  • Argmin/argmax: users can now refer to data with the highest or lower value of a certain attribute.

New Features for Developers

  • Official docker images for almond-cloud, almond-server, decanlp and almond-tokenizer are now available on DockerHub.
  • jsdoc-based documentation for all Almond libraries is now available on our website.
  • Formatting updates: developers now can define a more flexible output format by returning a __response hidden parameters in JavaScript code for queries. This will override the formatting-based output if present. We also allow adding pictures to RDL format now.
  • Developers now can group parameters into a record type. The field of a record parameter can be referred by <paremeter-name>.<field-name>.
  • Functions can now extend other functions. Extending functions will inherit all input and output parameters of the base functions, including annotations. Inherited parameters can be overrided.
  • Custom NLP models can now make use of the exact matcher.
  • FileThingpediaClient has been promoted to the stable API; users of Thingpedia skills can now avoid a network dependency by using local files (as previously in Genie).
  • New Web Almond API allows integration with Bot Framework and similar libraries that require REST access to Almond.
  • Command-line tools for Thingpedia have been improved, with new commands to lint devices before upload, and commands to upload string and entity datasets.

Under-the-Hood Improvements

  • Improve default formatting for returned results.
  • Primitive templates in dataset.tt will be expanded with more filters by matching the canonical form in the utterances. For example, templates “chinese restaurant” and “4-star restaurant” will be combined to generate templates “chinese 4-star restaurant” and “4-star chinese restaurant”.
  • Genie now has a more comprehensive template set including more support for comparison of different measure types, support for argmin/argmax.
  • Genie speeds up by running datset augmentation in multiple threads in parallel.
  • Almond Cloud’s training subsystem has been revamped to make more use of Kubernetes, and to be more robust. This will also allow parallel training of multiple models.
  • NLP models are now evaluated on more precise and fine-grained metrics, which will help us improve.

Experimental and Ongoing Work

  • ThingTalk now supports simple computations including aggregations and distance.
  • Add the ability to reference the current selection on the screen, and similar context items, as a value in the program.
  • Training contextual NLP models is now possible. Contextual models are still experimental.

Module versions

  • thingtalk: 1.9.0
  • thingpedia: 2.6.0
  • genie-toolkit: 0.5.0
  • thingpedia-cli: 0.2.0
  • thingengine-core: 1.7.0
  • almond-dialog-agent: 1.7.1
  • almond-cloud: 1.7.0
  • almond-cmdline: 1.7.0
  • almond-gnome: 1.7.0


Date Milestone Releases Notes
Nov 1 Feature Freeze
  • thingtalk: 1.9.0-beta.1
  • thingpedia: 2.6.0-beta.1
  • thingengine-core: 1.7.0-beta.1
  • almond-dialog-agent: 1.7.0-beta.1
  • genie-toolkit: 0.5.0-beta.1
  • almond-cloud: 1.7.0-beta.1
Nov 5 Release Candidate
  • almond-cloud: 1.7.0-beta.2
  • other modules as needed
Nov 8 New Stable Release
  • all modules