1.6 Release (Codename Summer)


Release Notes

New Features for Users

  • Timers have been extended: a rule can be set to run at multiple times during the day, and users can specify imprecise times such as “morning” and “evening”. (This feature is experimental and natural language support is still limited).
  • The natural language support has been more robust, and users who so desire can use prefixes of the form “ask ____ to…” (e.g. “ask bing to search”) to further improve accuracy when the targeted skill is known.

New Features for Developers

  • A new command line tool is available to help developing Thingpedia skills. It can be installed with yarn global add thingpedia-cli. The tool supports automated testing, and in the future automated upload.
  • Developers can now upload custom Genie templates to Thingpedia, and can train custom models with different parameters, and targeting different subsets of Thingpedia.
  • Genie has a new typecheck command that helps with maintaining existing datasets as Thingpedia evolves.
  • The configuration interface for Thingpedia devices has been refactored and is cleaner and more consistent across different configuration mechanisms. The existing API is still supported though, and will stay supported for the foreseeable future.
  • Thingpedia devices have gained the ability to consume ThingTalk directly. This allows translating filters, joins and projections to the native query language supported by the device (e.g. SQL or GraphQL), for increased query efficiency.
  • Thingpedia actions can now be annotated with #[confirm=false], in which case the assistant will not confirm with the user before executing the action.
  • The thingpedia-client and thingpedia library have been merged in one, creating a single SDK to both develop and consume Thingpedia skills.

Under-the-Hood Improvements

  • Location support in Genie has been revamped, and should now be more robust.
  • Genie can now take advantage of multiple threads when generating contextual sentences, and has grown progress tracking in generation and augmentation.
  • Almond’s training service has been refactored to use Kubernetes. This should increase both robustness and scalability, and will allow faster turnaround for training.
  • Almond’s internal evaluation of production models is now based on realistic data, matching what our previous research suggested is the correct approach.
  • The JSON format of Thingpedia snapshots has been obsoleted and is no longer used. Developers should switch to the ThingTalk format (.tt files)

Experimental and Ongoing Work

  • Developers can now create custom Alexa skills, and Thingpedia primitive templates are mapped to Alexa intents, which allows using the native Alexa intent classifier while still using Thingpedia as backend. This is part of an ongoing effort to make Thingpedia skills portable across virtual assistant platforms.
  • Support for contextual commands has been expanded, with many new Genie templates, and is almost complete. It is still behind an experimental flag (off by default).
  • We added experimental support for factual question answering, based on Wikidata. ThingTalk has grown a SPARQL compiler backend, and Genie introduces a number of new annotations to help generate rich and varied QA datasets automatically. Experimental QA support for “who questions” is almost complete, and will be enabled soon.

Module versions

  • thingtalk: 1.8.0
  • thingpedia: 2.5.0
  • thingengine-core: 1.6.0
  • almond-dialog-agent: 1.6.0
  • almond-cloud: 1.6.0
  • genie-toolkit: 0.4.0
  • thingpedia-cli: 0.1.0


Date Milestone Releases Notes
Aug 12 Feature Freeze
  • thingtalk: 1.8.0-beta.1
  • thingpedia: 1.8.0-beta.1
  • almond-cloud: 1.6 beta
Aug 16 Release Candidate
  • thingtalk: 1.8.0
  • almond-dialog-agent: 1.6.0
  • thingengine-core: 1.6.0
  • almond-cloud: 1.6 RC1
Aug 20 New Stable Release
  • genie-toolkit: 0.4.0
  • almond-cloud: 1.3
Open Source Summit North America