Skip to content

@forslund forslund released this Feb 28, 2019 · 30 commits to dev since this release

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.


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.


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.


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.

Assets 2

@forslund forslund released this Feb 14, 2019 · 112 commits to dev since this release

The 100th release will be the last of the 18.8's, next release will most likely be 19.2.0.

Nice duration #1977

A new parsing helper for extracting durations from text has been added. The extract_duration() method returns a tuple with a timedelta and the remaining text. Ex:

>>> from mycroft.util.parse import extract_duration
>>> extract_duration("15 minutes and 30 seconds until launch")
(datetime.timedelta(0, 930), 'and  until launch')

Document "save_utterance" config option #1980

The "record_utterance" option was undocumented and badly named so a new config option "save_utterance" was added to the listener config. The "record_utterance" option will still be working until 19.02.

Update Italian formatting functions #1984

Big thanks to @aleale99 for submitting this update!


  • Fix issue with using sudo during the interactive part of #1978
  • Fix minor typo in api-code #1991
  • Fix multiple skills subprocesses #1975
  • Fix rare crash issue when adding vocabulary while calculating intents. #1975
Assets 2

@forslund forslund released this Jan 31, 2019 · 175 commits to dev since this release

This is the 100th release. I wrote... But it's actually just the 99th.

GUI update #1964

Adds ability to sync variables from the gui into the skill and makes it possible to override the idle page.

Always load dialogs as utf-8 #1958

This ensures that systems with a default file encoding of ascii, ansi and similar can read the dialog files correctly. Big thanks to @alistair23

Fix normalize of sentences containing "half" #1966

A bug introduced when improving the handling of numbers silently made the normalize not parse numbers after a "half" in the sentence. The change was reverted and the old behaviour is back.

Update of stop handling of TTS #1961

The tts now cancels all pending speech requests that were issued before the stop command.

Resting screen decorator #1970

Creating Idle pages was previously a tricky task requiring setting up message handlers and sending the correct message. Now a method can simply be tagged as an resting screen handler by applying the decorator @resting_screen_handler.

Additional info from the audiotest #1971

The audio test now prints which device is used for recording and the command line used for playback. A -l option is also available now to list available audio devices.

Prefer local audio outputs #1963

The audio system now prefer local backends before trying external ones. For example a https url will now consistently play using the vlc backend and not on a chromecast unless specified.


Assets 2

@forslund forslund released this Jan 17, 2019 · 200 commits to dev since this release

Setup improvements

A couple of small improvements for the dev_setup script has been incorporated

  • Fix pull instructions in readme #1948
  • Remove unused pyyaml from requirements.txt #1933
  • Exit setup if pip couldn't be installed into the virtualenv #1930

Select microphone by name #1939

The microphone can now be selected in the listener configuration by using the "device_name" parameter.

Audio seeking #1944

@JarbasAI provided a nice extension of the audioservice allowing seeking within an audio file.

Language updates

  • The Italian translations were updated by @aleale99
  • The Dutch translations were updated by @g3rb3n
    Many thanks guys, you're awesome.

Minor bugfixes and improvements

  • The pep8 speaks config was updated to match the Travis line length settings #1953
  • CLI now catches Ctrl+c correctly #1954
  • All class inheritances from object was removed #1945
Assets 2

@forslund forslund released this Jan 3, 2019 · 262 commits to dev since this release

This release contains a series of minor improvements and bugfixes as well as a couple of larger strides towards the Mark-2.

Barge-in support #1920

The mic can now be configured to remain unmuted while mycroft is speaking.

Allow Mimic2 pronouncing negative numbers, #1927

This fixes an error in the number parsing before sending to the mimic2 service. Many thanks to @vmajor for reporting the issue.

Setup wizard #1924

The now has a setup helping new users to setup mycroft and install the required packages.

Gui update #1922

Update to handle inserting and switching pages according to the new mycroft-gui model.

Allow dev-setup to ignore errors #1914

Big thanks to @Batcastle for adding this functionality

Swagger documentation for the mycroft api #1919

The swagger config for the mycroft api documentation is now included in the project.

Bugfixes and minor improvements

  • Handle year style pronounciation correctly when a float is provided. #1916
  • Write config files in a human readable format #1915
  • Add Travis tests for python 3.7 #1905
  • Allow to explicitly skip mimic build #1918
Assets 2

@forslund forslund released this Dec 20, 2018 · 278 commits to dev since this release

't was five days before Christmas and the office was bright,
the Mycroft elves (mostly Steve) was working late at night.

The Elves were building something entirely new,
in collaboration with some elves that were Blue.
The code was complicated but the results were looking good,
the intricacies well hidden deep under the hood.

What's this the release King did exclaim,
Release day and everything is the same?
No big merges, no big news,
The elves are due for some verbal abuse.

But the king saw that despite this release might look lame,
that everything's new yet everything's the same.
In the coming months change there will be,
so stick around, just wait and you'll see.

Italian update #1910

Italian text resources has been updated and completed by @aleale99

Fix shutdown of precise #1909

Make sure the precise processes are shutdown when a reload of the voice hotword engine occurs.

Assets 2

@forslund forslund released this Dec 7, 2018 · 282 commits to dev since this release

This fixes a semi-critical bug in msm which could cause the Mark-1 device to not start at all.

msm uses a local checkout of the skills repository as a reference. If a connection error occurred during startup the repo would be deleted and the skill startup process would stop.

Assets 2

This release marks the start of the trek towards the Mycroft Mark-2. It contains the start of a new gui framework and a sort of a gui debug console has been added to the CLI.

GUI Connection interface #1899, #1902

The enclosure client can now negotiate connections from "screens" and can send qml pages to draw and related variables.

Update msm to version 0.6x #1885

This adds better support for working with the skill manifest both as a library and as a standalone application from the command line.

Hungarian translations #1893

Bit thanks to @danielwine for supplying Hungarian translations and format/parsing functions.

Common Query Framework #1900

A system for negotiating the best result for a question. The system inherits a lot of it's design from the common play framework.


  • Handle invalid refresh tokens to allow the pairing skill to launch re-pairing if needed #1894
  • gTTS modules updated to support latest changes on google's side. #1890
  • Handle faulty configs when the logger is created. (Thanks to paul_panther in the chat for reporting) #1903
  • bugfix in padaos to handle bad .intent lines without crashing the intent system #1901
Assets 2

@forslund forslund released this Nov 23, 2018 · 319 commits to dev since this release

Numbers numbers numbers! #1867

New function extract_numbers() will extract all numbers from a string. Big thanks to @JarbasAI for submitting this addition.

Improved datetime extraction #???

The extract_datetime() function now accepts now as well as "within X minutes/hours". Once more @JarbasAI!


  • Utterance remainder does now only replace whole words (and not parts). Thanks @JarbasAI #1873
  • Fix start playback for fast CPS_start() methods #1871
Assets 2
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.