Releases: MycroftAI/mycroft-core
Hotfix 19.2.3
Try to reduce load on server to help the server issue April 5 - 7
- Remove duplicated skill entries in skills.json before upload
- Reduce settings polling to 5 minutes.
v19.2.2
Make Precise sensitivity configurable #2060
The mycroft config for hotwords can now apply sensitivity and trigger levels
New keys:
sensitivity: Network output necessary to be considered an activation
trigger_level: Number of consecutive chunks that are activated to cause a wakeword detection
Example:
{
[...]
"hotwords": {
"MY-WAKE-WORD-THAT-USES-PRECISE": {
"sensitivity": 0.5,
"trigger_level": 3
}
}
}
Mimic 2 Long sentences #2061
Fixes issue with Mimic 2 when supplied a very long sentences in an utterance. The sentence would be split into individual letters instead of chunks based on words/ and separating characters. This also refactors mimic2 to work more like the other TTS's.
Mimic 2 Fallback #2071
Separate the caches for all TTS's and makes sure that the mimic fallback doesn't speak over itself when mimic2 fails.
Handle tonight better in extract_datetime() #2065, #2068
Tonight will now more consistently match the intended night. Big thanks to @JarbasAI for helping with this.
Portuguese Update #2039
Portuguese format and parse functions have been updated thanks to @JarbasAI.
Normalize for padatious and fallbacks #2077, #2078
The intent_service will now provide a normalized version of the stt utterance as well as the raw utterance when sending it off to the fallbacks. Allowing better Padatious matching in addition to general usefulness for fallback skills.
Misc
- Adjust Precise last chance priority to leave region for low prio fallbacks #2059
- Handle exception in play_wav/mp3/ogg util functions #2012
- Allow moving system config and websettings cache using environment variables #2058
- Fix common_iot base class for python 3.4 #2063
- Import keyword translations from Timer skill #2062
- Update gTTS to 2.0.3 #2069
v19.2.1
Nothing like an update to move away from the dreaded .0. 19.2.1 adds some nifty little updates to improve internationalization, listening and minor bugfixes
default language for the format/parse functions #2053
The formatting and parsing methods will now default to the configured language. This will make internationalizing skills much more straightforward.
Mute Mic during beep #2042
After wakeword was detected recording started immediately and would record the beep as first part of the data sent to the stt. This could cause issues with detecting start / stop of speech and poor detection of short sentences.
Two Padatious passes #2036
Padatious previously had a single confidence threshold of 0.5 accepting a wide range of matches, in this release we split it into an early 0.8 confidence level check and a late (after the fallback skills) 0.5 level check.
Pause for simple audio backend #2044
Mp3 plackback can now be paused / resumed on the simple audio backend.
First pass on danish #2033
@andlo has put in a lot of work bringing basic (and some advanced) danish support. Many thanks!
Initial Castilian Spanish support #2034
@adocampo has also been hard at woirk bringing a first pass on Spanish, thank you!
Update of common iot framework #2050
Refactoring and adding more possible actions
Bugfixes
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.
The actual 100th 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!
Bugfixes
v18.8.12 The off-by-one-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.
Misc
- Remove need for sudo when running dev_setup.sh as root #1969 @alistair23
- Clean up unnecessary Logs in text client #1957 @alistair23
- Tests for commented dialogs added #1853
v18.8.11
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
v18.8.10
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
v 18.8.9 A release in (bad) rhyme
'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.
v18.8.8
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.