v20.2.0
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 returnsNone
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.