Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
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.
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:
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
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.
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
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.
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!
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
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.
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.
- The Italian translations were updated by @aleale99
- The Dutch translations were updated by @g3rb3n
Many thanks guys, you're awesome.
Minor bugfixes and improvements
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 dev_setup.py 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
'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.
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.
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.
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
Numbers numbers numbers! #1867
extract_numbers() will extract all numbers from a string. Big thanks to @JarbasAI for submitting this addition.
Improved datetime extraction #???
extract_datetime() function now accepts now as well as "within X minutes/hours". Once more @JarbasAI!