Skip to content

Releases: MycroftAI/mycroft-core

Hotfix 19.2.3

09 Apr 15:38
Compare
Choose a tag to compare

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

29 Mar 00:44
Compare
Choose a tag to compare

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

14 Mar 21:50
Compare
Choose a tag to compare

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

  • Fix dev_setup calculation of number of cores for building mimic on non english systems #2041
  • Handle dialogs and contexts correctly in the skill tester #2046, #2040

19.02

28 Feb 23:59
Compare
Choose a tag to compare

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!

14 Feb 12:50
Compare
Choose a tag to compare

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

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

v18.8.12 The off-by-one-release

31 Jan 16:09
Compare
Choose a tag to compare

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

v18.8.11

17 Jan 15:29
Compare
Choose a tag to compare

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

v18.8.10

03 Jan 11:04
Compare
Choose a tag to compare

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

  • 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

v 18.8.9 A release in (bad) rhyme

20 Dec 15:36
Compare
Choose a tag to compare

'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

07 Dec 02:34
Compare
Choose a tag to compare

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.