Mycroft Core Versions Save

Mycroft Core, the Mycroft Artificial Intelligence platform.

release/v21.2.2

2 years ago

Features

  • Improve confidence calculation for Common Query. This provides a better mechanism for determining which Common Query Skill returned the best answer. (#2986) by @ken-mycroft
  • Add 'utterances' to message emitted to skill intent handler. Allows intent handlers to access all possible transcriptions and makes message.data consistent with converse. (#2997) by @NeonDaniel
  • Extended the idea of the Voight Kampff CriteriaWaiter (#3002) by @chrisveilleux. This introduces three new tools for use in Voight Kampff test Steps:
    • VoightKampffMessageMatcher: checks for the specified message type.
    • VoightKampffCriteriaMatcher: checks not only the message type, but also that the payload data matches the given critiera.
    • VoightKampffDialogMatcher: checks for the specified dialog output.
  • Reduce duplication of Padatious matching during low priority fallbacks (#3003) by @Joanguitar
  • Add an option to change the format of log output (#3016) by @goldyfruit
  • Add ESpeak TTS configuration options (#3020) by @Genei180 ➔ See the Mycroft documentation for more information
  • Initial Azerbaijani language support (#3021) by @saymantech-co
  • Install pip for the python version specified by argument in dev_setup.sh (#3042) by @HFabi

Bugfixes

  • Release GUI on Skill shutdown or reload (#2979) by @krisgesling
  • Fix messages clearing in the InterceptAllBusClient (#2990) by @chrisveilleux
  • Fix pulseaudio daemon failing to start in CI (#2992) by @krisgesling
  • Patch dependencies that use the deprecated use_2to3 (#2996) by @krisgesling
  • Alter AVX test to accomodate aarch64 (#3000) by @el-tocino
  • Fixed an error with message formatting in a ValueError message (#3001) by @chrisveilleux
  • Fixed formatting error in skill loader log message (#3010) by @chrisveilleux
  • Fix setup process for installs without Precise (#3012) by @in03
  • Fix mycroft-config set using pre-XDG path (#3015) by @goldyfruit
  • Fix race condition in GUI namespace insertion (#3022) by @krisgesling
  • Check if GUI is connected rather than maintain list of platforms (#3025) by @krisgesling
  • Fix config priority issue in XDG changes (#3033) by @forslund
  • Remove incorrectly added args in GUIWebsocketHandler methods (#3036) by @krisgesling
  • Update Gentoo libffi dependency reference (#3039) by @rooky-c3bo

Other changes

  • Refactor/shellcheck bin (#3019) by @forslund
  • Upgrade websocket-client to 1.2.1 (#2879) by @PureTryOut
  • Update key names in adapt keyword registration message (#2963) by @forslund
  • Voight Kampff: Only stop Mycroft services if running in CI. This allows for faster development workflow when running Voight Kampff tests locally. (#2975) by @krisgesling
  • Add warning for anyone loading GoogleTTS. This module uses the Google Translate TTS API and is not intended for production usage. (#2985) by @krisgesling
  • Bump pillow from 8.2.0 to 8.3.2 (#2995) by @dependabot[bot]
  • Update link for Hub to point to official Github version (#3028) by @krisgesling
  • Do not create configs folders until writing (#3045) by @forslund

Big shout out and thanks to our Community Contributors for this release: :tada: @el-tocino :tada: @forslund :tada: @Genei180 :tada: @goldyfruit :tada: @HFabi :tada: @in03 :tada: @Joanguitar :tada: @NeonDaniel :tada: @PureTryOut :tada: @rooky-c3bo :tada: @saymantech-co

release/v21.2.1

2 years ago

Mycroft-core v21.2.1 is an iterative release with a whole smattering of goodies.

Most noticeably mycroft-core is becoming compliant with the XDG Base Directory specification. This moves some files from their traditional directories, to those defined by the XDG spec:

  • settings to $XDG_CONFIG_DIR/mycroft, which most of the time is ~/.config/mycroft
  • data to $XDG_DATA_DIRS/mycroft, which most of the time is ~/.local/share/mycroft
  • cache to $XDG_CACHE_HOME/mycroft, which most of the time is ~/.cache/mycroft

Mycroft Skills currently remain at /opt/mycroft/skills/

A series of improvements have also been made to the Voight Kampff test suite to make them more reliable and robust. The better our tests, the quicker we can push other updates.

Features

  • Do not attempt update when only launching CLI (#2715) by @el-tocino
  • Initial XDG Base Directory specification compliance (#2794) by @PureTryOut and @forslund
  • Remove registered keywords on Skill shutdown (#2877) by @forslund
  • Add Farsi support with upgrade of Lingua Franca from v0.4.1 > v0.4.2 (#2908) by @HKalbasi and @ChanceNCounter
  • Update Adapt intent parser from v0.3.7 to v0.5.1 (#2909, #2960) by @clusterfudge and @forslund ➔ See the release notes for more information
  • Check for the AVX instruction set during install (#2910) by @mathmauney and @krisgesling
  • fa-ir localization of mycroft-core (#2943) by @HKalbasi
  • Improve the speed of waiting for dialogs helper function (#2946) by @chrisveilleux
  • Add feature request functionality to webviews (#2956) by @AIIX
  • scripts: Support busybox chown (#2966) by @rzr
  • Make network tests configurable (#2962) by @krisgesling
  • Add fullscreen fix for webviews (#2967) by @AIIX

Bugfixes

  • Add Common Play to active Skills when invoked (#2900) by @krisgesling
  • Make TTSCache safer (#2914) by @forslund
  • stop passing lang=None to Lingua Franca (#2927) by @ChanceNCounter
  • Stop creation of 'None' cache directory (#2931) by @JarbasAI @HelloChatterbox
  • Fix #2929: use returned TTS audio file path (#2934, #2938) by @JarbasAI @HelloChatterbox, @krisgesling and @forslund
  • Fix loading of audioservice plugins (#2957) by @forslund and @JarbasAI @HelloChatterbox
  • Install pulseaudio-utils on Fedora (#2971) by @strugee

Tests

  • Add update comment logic to Jenkins (#2807) by @forslund
  • Fix Voight Kampff race condition in MycroftSkill.get_response() (#2937) by @chrisveilleux
  • Use unique paths for temp file storage (#2944) by @krisgesling
  • Added comments to document race condition (#2945) by @chrisveilleux
  • Fix Possible Voight Kampff message race (#2948) by @forslund
  • Use event handler to capture messages in then_wait() (#2951) by @forslund
  • Remove mycroft-stock from Voight Kampff install list (#2954) by @forslund
  • Voight Kampff: No skill updates at runtime (#2968) by @forslund

Other changes

  • Revert a temporary bugfix from PR #2626 (#2741) by @krisgesling
  • Fix broken link in Contributor Guide (#2693) by @krisgesling
  • Refactor mimic_tts to not load config when importing (#2888) by @forslund
  • Cleanup of documentation (#2898) by @krisgesling
  • ReadTheDocs documentation: Fetch Mycroft-core version from mycroft.version (#2903) by @forslund
  • Bump pillow from 8.1.1 to 8.2.0 (#2917) by @dependabot[bot]
  • Remove docs encouraging Skill config via mycroft.conf (#2936) by @krisgesling
  • Expose AdaptIntent from mycroft.skills (#2970) by @krisgesling

Thanks as always to our Community Contributors for this release: :tada: @AIIX :tada: @ChanceNCounter :tada: @clusterfudge :tada: @el-tocino :tada: @forslund :tada: @HKalbasi :tada: @JarbasAI :tada: @mathmauney :tada: @PureTryOut :tada: @rzr :tada: @strugee

release/v21.2.0

2 years ago

Features

  • Allow overridden converse methods to accept messages (#2813) by @NeonAndrii
  • Add Skill API (#1822) by @forslund ➔ Find out more
  • Add skill_id to converse error msg (#2827) by @krisgesling
  • Install Alpine deps to a virtual meta package (#2841) by @PureTryOut
  • Add optional paramater to voc_match for exact matching (#2858) by @JarbasAl and @krisgesling
  • Upgrade Lingua Franca to v0.4.1 (#2890) by @ChanceNCounter and @krisgesling
  • Replace hardcoded use of /tmp directory (#2892) by @dzekem and @krisgesling

Bugfixes

  • Fix dev_setup.sh max cores detection (#2857) by @forslund
  • Sync curated cache with dict of cached sentences (#2870) by @forslund
  • Remove example entries in blacklisted_skills config (#2844) by @krisgesling
  • Fix loading Mimic phonemes from cache (#2871) by @forslund
  • Fix replacement of existing Skill loader in queue (#2899) by @krisgesling

Tests

  • Add tests for get_response (#2838) by @forslund
  • Old skill tester: Fix Padatious setup and fallback intents (#2894) by @forslund

Other changes

  • Remove log pollution (#2840) by @DiegoAsterio
  • Remove duplicated Padatious code (#2843) by @JarbasAl
  • Remove intent-service backwards compatibilities (#2849) by @forslund
  • Consolidate TTS cache logic (#2853) by @chrisveilleux
  • Remove stray print (#2856) by @forslund
  • Utilize the mycroft-messagebus-client module (#2863) by @forslund
  • The phoneme needs to be converted to a list before being passed on. (#2865) by @chrisveilleux
  • Upgrade pillow from 7.1.2 to 8.1.1 (#2868) by @dependabot[bot]
  • Move TTS cache curation to TextToSpeechCache (#2869) by @forslund
  • Upgrade pyyaml from 5.1.2 to 5.4 (#2873) by @dependabot[bot]
  • Upgrade requests to 2.25.1 (#2783) by @PureTryOut
  • Update Readthedocs config to handle mycroft-messagebus-client (#2887) by @forslund
  • Bump core version and MSM for v21.02 (#2907) by @krisgesling

Deprecations

  • Support for Python 3.5 has been deprecated as it has reached EOL.

release/v20.8.1

3 years ago

Features

  • Add Plugin system for STT, TTS, Wake Word engines and Audioservices (#2594) by @forslund and @JarbasAl ➔ Find out more
  • Add ProcessStatus to all Mycroft Services providing a consistent interface for querying their state. (#2648) by @krisgesling and @forslund ➔ Find out more
  • Add new CPS_extend_timeout method to Common Play Skill (#2666) by @JarbasAl
  • Add support for doas, a sudo alternative (#2690) by @pixelherodev
  • Local changes to Skill settings will now persist until a change is made to remote settings (#2707) by @forslund
  • Add config flag to disable all Skill settings syncing (#2734) by @JarbasAl
  • Add Mozilla TTS support (#2713) by @domcross ➔ Find out more
  • Validate the Mozilla TTS connection (#2828) by @JarbasAl
  • Add engine configuration option for Polly TTS (#2706) by @joshuajaharwood
  • Add self.gui.connected() to check if a GUI is connected (#2682) by @JarbasAl
  • Add self.gui.get() to safely access values in GUI dict (#2820) by @krisgesling
  • Add self.gui.release() to signal that the Skill is no longer using the GUI (#2766) by @JarbasAl
  • Upgrade Mycroft Skills Kit to v0.3.16 (#2688) by @krisgesling ➔ Find out more

Bugfixes

Skills

  • Don't reload skill if a mod time is in the future (#2659) by @forslund
  • Initialize status members before bus handlers (#2681) by @forslund
  • Fix dialog_renderer when no dialog or locale directory exists (#2685) by @katridi
  • Reorder operations to ensure removed Skills are first unloaded. (#2823) by @krisgesling
  • ensure load_status is initialized on load failure (#2735) by @krisgesling
  • Handle anonymous adapt intent (#2767) by @forslund
  • Fix intent_api following refactor (#2786) by @JarbasAl

Audio Services

  • Fix Audioservice startup on system time change (#2689) by @forslund
  • Fix UnboundLocalError in AudioProducer (#2780) by @dalgwen
  • Add the --no-video flag to VLC audio backend (#2791) by @JarbasAl
  • Improve safety of audioservice calls, particularly in VK tests (#2804) by @forslund

Other Mycroft Services

  • Settings - Add optional message argument (#2704) by @krisgesling
  • Update to pyee 8.1.0 - improved handling of multithreaded environments (#2724) by @forslund
  • Config - Stop location being referenced before assignment (#2809) by @PureTryOut
  • Ensure messagebus is connected before reporting that the Enclosure service is ready (#2758) by @krisgesling
  • Unshadow Message class in _handle_pairing_complete (#2790) by @forslund
  • Fix typo preventing STT plugins to load (#2748) by @forslund

TTS Engines

  • Mimic - Fix duration_stretch configuration (#2691) by @forslund
  • Mimic - Fix memory calculation causing build failures on ARM (#2716) by @el-tocino
  • Mimic - Handle missing binary properly (#2718) by @forslund
  • Mimic - Send correct conf to Mimic when used as fallback (#2829) by @forslund
  • Mimic2 - Fix cache directory error (#2800) by @chrisveilleux
  • Google - Fix pronounciation of "m." (#2699) by @gaganpreet
  • Google - Upgrade gTTS to v2.2.0 (#2763) by @marvin-w
  • Google - Upgrade gTTS to v2.2.2 to fix Google voice (#2831) by @krisgesling

Wake Word Engines

  • PocketSphinx - Fallback to English model if configured model does not exist (#2692) by @katridi
  • Porcupine Wake Word - Update for newer engines (#2722) by @forslund

GUI

  • Fix missing skill_id parameter for page interaction and focus events (#2732) by @AIIX
  • Fix missing remove page implementation, show idle if all pages removed (#2781) by @AIIX
  • Don't clear namespace on every system page call (#2814) by @AIIX
  • Use the correct delegate, fix layouts, autofit text for System TextFrame (#2815) by @AIIX

Tests

  • Voight Kampff - add Given steps to set test timeout (#2663) by @forslund
  • Add basic test cases for GUI interface (#2697) by @forslund
  • Voight Kampff - fix reset of patched config (#2742) by @forslund
  • Only build Mimic once during travis tests (#2745) by @forslund
  • Enable simultaneous CI jobs and provide Mycroft logs on failure (#2762) by @krisgesling
  • Voight Kampff - Improve error handling (#2793) by @forslund
  • Voight Kampff - add method to wait for audio service (#2808) by @krisgesling
  • Implement GitHub Actions for linting and unit tests (#2819) by @chrisveilleux
  • Use OS default gcc in github workflow (#2830) by @forslund
  • Run unit tests on python 3.9 (#2739) by @forslund

Documentation

  • Fix documentation for Lock.exists() (#2721) by @Nihvel
  • Point sphinxdocs to new requirements.txt location (#2731) by @forslund
  • Add Plugin base classes APIs to readthedocs (#2736) by @forslund
  • Fix readthedocs build (#2749) by @forslund
  • Clarify that gui.clear does not close a Skill (#2769) by @krisgesling
  • Fix simple typo, retruns -> returns (#2785) by @timgates42
  • Add filesystem documentation to readthedocs (#2805) by @forslund

Other changes

  • Refactor intent service (#2599) by @forslund
  • DeepSpeech - Remove English-only error. DS now supports other languages. (#2705) by @el-tocino
  • Setup - allow variants of arch (archarm, ...) to fetch dependencies (#2725) by @emphasize
  • Add warning if MSM is using an appstore other than Mycroft Marketplace (#2737) by @JarbasAl
  • Setup - Enable utf-8 encoding during dev-setup.sh (#2746) by @forslund
  • Run CLA check on all branches (#2759) by @krisgesling
  • Remove six from dependencies (#2782) by @PureTryOut
  • Refactor - common bus connection method (#2792) by @krisgesling
  • Refactor - stop speaking (#2821) by @forslund

release/v20.8.0

3 years ago

Features:

  • Allow override of platform animations like talking and thinking to prevent interrupting existing content #2657
  • Add more detailed Track Status to Common Play Skill. Provides distinct status codes for different layers of media handling #2674

Bugfixes:

  • Fix ValueError on check of file modification date - do not check if list of files is empty #2662
  • Fix fresh MSM initialization with no internet connection - adds a missing argument #2677
  • A recent change allowed default Skills to update even if the autoupdate flag was set to false. This ensures that flag is respected. #2680

Removal of deprecated items:

  • pyee.EventEmitter and our own ThreadedEventEmitter converted to new Emitters available in pyee #2667
  • Hardcoded recording timeouts should now be configured in mycroft.conf #2668
  • skills.converse.error will no longer be emitted, please use skills.converse.response instead #2669
  • Internal startListening signal will no longer be checked #2670
  • DialogLoader class removed in favor of new load_dialogs function #2671
  • get_http and remove_last_slash string utils have been removed #2672
  • Audio utils that had previously been moved from mycroft.util have had their references removed. This includes mycroft.util.is_speaking, mycroft.util.wait_while_speaking, and mycroft.util.stop_speaking. The methods should be called from their new module mycroft.audio #2678
  • The imp package has been completely replaced with importlib. This was located in the Audio service loading and loading of the old integration test environment #2679. Audioservice submodules names are now prepended with "audioservice_" to prevent module naming collisions #2684

release/v20.2.5

3 years ago

Features

Add callback hooks to run Mycroft as a service #2601 This adds a simple system of callback hooks to run mycroft as a service or through a single executable. It allows the definition of a wrapper script with handlers for ready states, error states and a watchdog to ensure the system is still running.

The current watchdog implementations are currently only for the speech client (voice data is received from the mic) and the Skills process (skills are updated) due to their natural cyclic structure.

Big thanks to @forslund for this and all his contributions to this release. There are too many to count!

Add GUI support for animated images #2616 New method show_animated_image() added to Qt GUI framework providing a GUI page for displaying animated gif files. Thanks to @JarbasAl for this and all his new GUI Skills.

Add method for updating playback information from Skills #2619, #2655 This adds a common method for Skills to send playback information and status to the Common Play Skill. There are ongoing discussions about the complete management of playback between Skills, Common Play, and audio services. Special thanks to @AIIX and @JarbasAl for their ongoing work on this.

Gentoo Linux support added to setup scripts #2583 Gentoo users can now run the standard dev_setup.sh script and their OS will be detected allowing the correct dependencies to be installed. Big thanks to @doczkal for this one!

Snapcraft CI #2597 Continuous Integration implemented for Mycroft Snap releases.

Add 'Skill should not reply' test #2618 A new Voight Kampff Step was added allowing integration tests to check that a particular Skill does not respond to some utterance. This helps to ensure your Skill only responds to questions it can handle reducing unexpected errors.

Add wait_for_message() method #2628 This method will wait for a message of a specific type to be detected on the messagebus, returning the message if detected before the timeout has expired.

Add Festival TTS support #2643 Thanks to @jmontane for this addition, enabling on-device TTS for Catalan (and other language) speakers!

Bug fixes

Workaround for issue on older versions of ncurses #2591 get_wch() can at times throw errors as reported in Issue #2523, this creates a function wait_for_any_key() handling the error and retrying.

Prevent audio playing between recording and handling of utterance #2621, #2625 This maintains silence for a short period while Mycroft is actively processing a request providing a better experience for the user. It means media playback completely stops the moment a user asks it to, and prevents short snippets of audio playback if Mycroft is formulating a response.

Fix Skill submodule loading and replace imp with importlib #2327 Replaces the current imp based Skill loader with an importlib based solution. Adds a small change allowing better use of submodules allowing them to reload together with the main module.

Fix Common IoT Skills unable to register entities and scenes #2636 Thanks to @jamesmf for this fix!

Ensure custom timeout is passed to wait_for_response method #2634

Fix Mimic builds on Fedora #2521 Thanks to @countcretinos for this one!

Fix writing multiple settings to file #2652 Thanks to @emphasize for reporting this one.

Improve language configuration handling in IntentService #2650 If the STT service does not send a language code with the message, then the Intent Service will now fallback to the globally defined language, or en-us if none is defined.

Ensure default Skills are installed before initial load #2644 This adds a quick check on load to ensure default Skills are installed, unless they are blacklisted. If not installed it will do so before finalising Mycroft's boot sequence. This will only extend the boot time if important default Skills are not available.

Update Lingua Franca to v0.2.2 #2654 Primarily bug fixes - see release notes for more details. Thanks to @ChanceNCounter, @emphasize, @forslund and @PureTryOut

Disable wake word uploads in preparation for API deprecation #2661 The API endpoint used to upload wake words will be deprecated in the near future and instead shifted to Selene (home.mycroft.ai). To ensure older devices are not making unnecessary post requests to a dead endpoint, the upload has been disabled for devices running v20.2.

Other improvements

  • Refactor wake-word waiting and record phrase #2589
  • Cleanup settings system #2560
  • Improved list of available commands in mycroft-help #2613
  • Update pyee to v7.0.1 - replaces home-spun threadpool based emitter with ThreadExecutor from pyee #2507
  • CI improvements #2537, #2541
  • Remove duplicate check for supported languages of Lingua Franca methods #2649. Another thanks to @emphasize for reporting this one.

Community Contributors

Another big thanks to all the Mycroft Community members that contributed to this release:

release/v20.2.4

3 years ago

Padatious Intent Parser v0.4.8 #2595

This release of Padatious adds support for saving and loading intent models courtesy of @repodiac, and better handles apostrophes thanks to @stratus-ss.

Voight Kampff updated #2576, #2592

Added support for setting user configurations through Given Steps in the form: "Given the user's {config} is {value}".

Added a clean command to remove any test, step and configuration files that have been copied to the Voight Kampff directory by the test runner. To clean up use ./start-mycroft.sh vktest clear, mycroft-start vktest clear or mycroft-skill-testrunner vktest clear.

Updated dependency handling #2562, #2571, #2575

Added "loose" requirements option, allowing pip install to use ">=" instead of "==" for all packages. This is done by setting the MYCROFT_LOOSE_REQUIREMENTS environment variable. The intention is to make mycroft packaging for linux distributions easier while allowing the git installation to still use a locked set of module versions.

The ever growing requirements.txt has also been split into core requirements, and a range of optional requirements files. This reduces the number of packages being installed unless the system will actually make use of them. It also paves the way for automatic installation of plugin dependencies. Big thanks to @PureTryOut for this one.

Removed xmlrunner as it is no longer used.

Added initial support for XDG Base Directory Specification #2559

Skills will now read and store settings in the XDG_CONFIG_DIR if it is set and the device isn't already using the existing settings location in each Skill directory.

Added support for Alpine Linux installation #2584

The standard setup script will now detect Alpine Linux and install the appropriate dependencies. Another big thanks to @PureTryOut for this and the range of work that has gone into making Mycroft compatible!

Fixed add_context decorator #2577

The @adds_context decorator has optional content that should be passed to the set_context() method. This was not being passed along. This has been resolved with tests added.

Fixed remove_fallback using original handler #2588

Allows the removal of a fallback handler using the original handler, and not the wrapped handler used internally. Along with a range of tests to verify setup and shutdown of Fallback Skills.

Modernize ESpeak TTS #2581

ESpeak output was produced directly from the executable, this is now through the standard TTS output queue like the other TTS modules. This resolves an issue with wait_while_speaking.

Added Polly TTS support - for real this time #2585

This got missed in the last release but is definitely included this time. To get setup check out the documentation. Thanks again to JarbasAl from the Chatterbox team for this one!

Bugfix audio service crashes if started without internet connection #2598

The audio service would crash whilst importing the google_tts module on startup if no internet connection was available as it failed to fetch a list of supported languages. This update prevents the crash and adds a cached to use if the remote list is unavailable.

release/v20.2.3

3 years ago

Mycroft Skills Kit v0.3.15

This release of Mycroft Skills Kit v0.3.15 switches Github authentication to use Personal Access Tokens as the existing username and password method is being deprecated. A huge thanks to Andlo for all his work on this. It also includes a small bugfix to respect the --repo-cache argument courtesy of Jarbas.

IBM Cloud Text to Speech (TTS) #2548

The IBM Cloud Text to Speech connector has been rewritten to handle IBM's new authentication mechanism. Massive thanks to @CodyReinold for this one.

Contributor guidelines cleanup #2551

This update improves clarity, fixes broken links and makes it easier for new developers to contribute to the project . Another big thanks to @CodyReinold

Czech and Polish support #2554, #2556

Initial language support added for Czech by @Tony763 and Polish by @RafalJanicki. Support for these languages is also underway in our Lingua Franca library.

Mimic1 add default core param #2558

When installing Mimic1 with no core paramater, it will now default to a safe value running on a single core. Thanks to @el-tocino for this.

MOAR Tests! #2496, #2569, #2573

A wide range of tests have been added to various utilities and functions. This includes tests for audio, caching, downloads, files, strings and time.

The test runner has also had some tweaks. It will explicitly execute with Python 3, addressing an issue where the system would hang if a generic Python alias did not exist. It will also ignore directories not intended to be tested with Pytest. Big thanks to @PureTryOut for both of these fixes!

Dependency updates #2551

Pillow has been updated to v7.1.2

release/v20.2.2

4 years ago

This release is focused on testing and includes the Voight Kampff test suite along with improved unit tests. Of course, the wheels of the community is always spinning so there are some juicy additions and fixes as well.

Voight Kamff #2506, #2530, #2540, #2522,

The new behavioral skill / core test suite is run on each PR to mycroft-core and mycroft-skills allowing easier identification of bugs and bad behavior. For more information on how to write this type of test check out the official documentation. The system is still in early development and will be built out more and more to completely replace the current test system.

Enable multiple snowboy hotwords #2499

Thanks to awesome work by @dalgwen Mycroft now supports using multiple snowboy hotwords.

Add config options for listening timeouts #2536

To allow longer voice input or timeout after silence these new config options can be used.

Polly TTS

@JarbasAI polished up his old Polly TTS Pull request and it finally got merged, giving mycroft the ability to use Polly for rendering speech of a variety of languages.

Google TTS automatic language #2534

The Google TTS backend no longer require a specific configuration, instead it tries to determine the correct language code to use from the global lang config option. Many thanks to @luca-vercelli for this contribution

Fix IBM Watson TTS #2514

IBM Watson's TTS Api has been updated and now Mycroft's interface has been updated as well to match.

Shutdown sequence #2529, #2538, #2543

These updates fixes a couple of issues with the shutdown process of skills and enclosure allowing them to be shutdown without being killed.

Support for reading the Mark-1's Eye colour #2471

@JarbasAI's second PR this release, this adds an interface to retrieve the current color of the Mycroft Mark-1 eyes.

Simplify Mycroft gui bus connection #2533

The GUI interface was simplified to use a single websocket connection while still isolating the clients, this fixed a regression due to upgrade of Tornado.

Upgrade lingua-franca to 0.2.1 #2512, #2515

This fixes some issues with rendering numbers and dates. Many thanks to @ChanceNCounter and the LF-crew for this.

Add tests and fix bugs surrounding the converse system #2503

Adding tests is always a good way to find and squash bugs. This handles a couple of modification during iteration issues.

Miscellaneous

  • Spelling fixes courtesy of the very nice person @tycrek #2487
  • Simplify the converse system using the wait_for_response() method #2479
  • Upgrade psutil to version 5.6.6 #2501
  • Improve Danish translations by the very friendly @andlo #2520
  • Non Mark-1 devices now also updates the version on the webpage #2528
  • Update documentation of running core without backend by the friendly @kelnos #2531
  • Fix possible voice client crash if mic is initialized muted #2542

A big thanks to all who has contributed to this release, you are all my favorite persons in the world.

release/v20.2.1

4 years ago

This contains mainly minor bugfixes.

Upgrade msm to 0.8.7 #2484

Fixes issues loading skills if a skill is installed using a git/git+ssh url

Fix reset converse #2491

Fixes an issue where converse state wasn't informed on user silence

Update enclosure version #2489

Fixes updating the enclosure firmware on each boot.