19.02
The first big update of 2019. The point releases is times when we break things and alter behavior slightly so all the old skills might not work exactly as before. It's amazing to see the community supporting this project, to date we have over 100 contributors to mycroft-core and the issue/PR tracker is now past 2000 entries.
News
The following new things has been added:
New Listening sound #2027
The sounds indication for listening has been updated.
Better loading indication during startup #2031
The Eyes will now become a more pale tone when loading skills and during skill updates on boot the mouth of the mark-1 will scroll a "LOADING" message.
Ability to set loglevel through CLI #2011
The CLI now includes the :log level
command allowing to change the level of logging from mycroft. Ex:
:log level ERROR
will shift the loglevel to only show errors and critical messages.
Common IOT #2015
The base class for the common IOT system has been added.
Breaking changes
Merge vocab expansion
Previously the adapt .voc, dialogs and padatious intents supported entirely different ways to enter variants of strings. This has now been merged into a single method. This will affect .voc files using the |
character to delimit strings on a single line. This should now be using parentheses wrapping the parts that should be expanded:
(string 1|string 2)
This allows for some additional freedom to have alternative substrings:
what (is|was|are|do)
MycroftSkill.emitter has been removed #2019
MycroftSkill.emitter
was deprecated from the 18.08.0 release and has now been completely removed.
Handle Multicast messages in parallell #2024
Messages with multiple handlers were previously handled in series, one after another. This is a slight change in behavior but speeds up certain aspects of mycroft.
The old viseme system has been removed #2000
Previously both the newer single message viseme system and the older, one message per viseme system were running in parallell. The older system has now been turned off and any enclosure developer should use the newer enclosure.mouth.viseme_list
message.
Mark-1 version upgrade on network connection if the device has been stashed for a long time. #2017
Unpaired devices will now try to fetch the latest software before starting the pairing process.
MycroftSkill.config is now deprecated #2025, #2030
the skill specific config member is now deprecated usage will generate a log telling the maintainer about this fact. The member will be removed in the 19.08 release.
Improvements
IBM Watson TTS now handles the new auth scheme #1983
Big thanks to @LuisReinoso for submitting this fix.
Handle custom cd in venv-activate #1931
Fix issue with venv-activate when cd has been aliased. Big thanks to @triazo for submitting this fix.
Load all data files of skills as utf-8 #1992
Ensure that the data-files of skills are loaded as utf-8 no matter which encoding the system uses.
Upgrade MSM to v 0.7.3
This allows skill creators to start using the new manifest.yml to list dependencies.
mycroft-mic-test update #2005
This adds support for commandline parameters and removes the extra 10 seconds delay at the end of the script.
Pause at semicolon #1989
The first PR to mycroft-core by our newest developer @Ruthvicp (Welcome aboard mate) inserts pauses at ;
in the same manner .
does. This allows to work around a small issue with mimic2 and google-tts.
Quicker Mark-1 ntp update #2016
The NTP sync will now wait for a completion message instead of the 15 second timeout, speeding up the check significally.
German Formatting improvements #2001
Big thanks to @gras64 for improving the datetime formatting and the new join list methods.
GUI remove pages #2002
The SkillGUI class has been extended with methods to remove pages and complete namespaces from the mycroft GUI.
Bugfixes
Settings improvements #1995
Initializing skill settings could fail first time it was run due to missing folders. This will create the needed folders if missing. Also some of the logging around this is cleaned up.
Fix CLI mic level freeze #2010
Fixes issue with mic level meter. Under certain conditions the mic level meter would freeze.
MycroftSkill.voc_match() over-matching #2009
The voc_match()
method tended to match parts of words as well as complete words. This updates the behavior to a more sane complete word match and also adds a couple of unit tests to verify functionality.