Skip to content
This repository has been archived by the owner on Sep 8, 2024. It is now read-only.

v20.2.0

Compare
Choose a tag to compare
@forslund forslund released this 27 Feb 19:10
· 929 commits to dev since this release

We're not out of beta but we're releasin' on time! In the best possible way!

A major release like this is an opportunity for us to clean up some of the older things and make future development easier and cleaner. The improvements over 19.08.0 are now many thanks to the work of the core team and the awesome community of developers and users.

v20.02 brings some changes, some old deprecated code has been removed making core a little bit leaner and some huge contributions has made it in (targeted messages) along with the usual bag of minor fixes, and improvements.

Breaking changes in 20.02

  • Skill settings are now a simple dict (Deprecated 19.08)
    Skill settings are now a simple dict and procedure for registring settings changed callback and forcing a disk write of the settings has been updated

Registering settings changed callback (docs):

    def initialize(self):
        self.settings_change_callback = self.my_callback

    def my_callback(self):
        ...

Write settings to disk:

from mycroft.skills.settings import save_settings

...

    def skill_method(self, _):
        save_settings(self.root_dir, self.settings)
  • The ConfigurationManager has been removed (Deprecated 18.02) #2470

  • The backwards compatibility language for extract_datetime() has been removed. #2469
    The function now follows the documentation and returns None if the utterance doesn't include a date or time.

  • audio accuracy test is now wake word test
    The test is moved from the mycroft module into the test folder.

Improvements, fixes and other greatness

Targeted messages #2461, #2476, #2478, #2481

This is something that has been discussed for a long time and now the implementation by @JarbasAl is here. The system allows for multiple clients to be connected to Mycroft and only returning the response to the caller client that called. For an example implementation check out the Hive Mind Voice Sat.

Added the commandline tool mycroft-listen #2460

@FruityWelsh created a simple commandline tool to trigger mycroft listening. Many thanks!

Make listener audio storage location configurable #2477

Thanks to @ludwhe the storage of utterances and detected wake words can be configured.

IntentQueryApi #2468

An API allowing a skill or application to query the state of the intent service, listing things such as registered intents, skill ids and other things. This is also the work of @JarbasAl

Deprecate use of # in config file #2472

Using only // as comment makes the config compatible with tools such as jsmin. Big thanks to @belvederef for the initiative and implementation.

Improve Mimic2 error handling #2473

Server errors generating Mimic2 audio will now be caught and Mimic1 will be used as fallback.

Common Play tests and cleanup #2459

A series of unittests has been added to test the common play skill base class and the audioservice. As these were added a couple of minor bugs were resolved and the code was cleaned up slightly.

Tests for common query #2462

Adds test and fixes detection of visual platforms.

Simplify dialog loading #2422

The DialogLoader class is now deprecated instead a simple get_dialog() function is used.