Skip to content

Releases: MycroftAI/mycroft-core

A small step for programmer, a leap for Mycroft-kind

06 Dec 15:59
Compare
Choose a tag to compare

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.

Bugfixes

  • 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

release/v18.8.6

23 Nov 07:55
Compare
Choose a tag to compare

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!

Bugfixes

  • Utterance remainder does now only replace whole words (and not parts). Thanks @JarbasAI #1873
  • Fix start playback for fast CPS_start() methods #1871

v18.8.5

08 Nov 16:58
Compare
Choose a tag to compare

Update Readthedocs documentation #1861

Build scripts has been updated to work in the current virtualenv and skill members such as file_system and log in MycroftSkill is now documented

Extract date time function improvement #1866

Big thanks to @JarbasAI for fixing handling of phrases like "in a minute" and adds support for extracting "now".

Upgrade requests, #1862

Due to the security advisory relating to requests 2.19.x the module was updated to 2.20.

Fix incorrect path in the prepare-msm script, #1834

Big thanks to @gauravjuvekar for providing this one.

Hacktober part II

27 Oct 05:21
Compare
Choose a tag to compare

This was a rather quiet release but it introduces a mechanic to sync installed skills with the skill store. This makes way for bigger changes server side creating a better user experience.

Report load errors in skill tester #1618

The skill tester now has the ability to report the error encountered when skills fail to load.

New tests for the dialog renderer module #1848

Thanks to @nielstron the dialog module now has pretty good test coverage.

Api update Upload skills manifest #1860

Add support for uploading skill manifest listing installed skills and their status. This makes way for implementing better installation possibilities on the Marketplace.

Bugfixes

  • Fix using CPS_play() without the common play framework. #1857
  • Fix setup script on Fedora and add support for Red Hat Enterprise Linux #1856

Hacktober part I

11 Oct 12:18
Compare
Choose a tag to compare

The big news in this issue is adding the CommonPlaySkill, a subclass of the MycroftSkill adding functionality for negotiating which skill should handle a playback call. This will still need a couple of skill updates to take advantage of the system but it should be running within a day or two.

In this release we also have gotten our first couple of new hacktoberfest contributors @mpolidori and @silvia-odwyer (and @JarbasAl but he's not really new). A big thank you for these contributions, we hope you'll stick around!

Common playback skill #1843

Adds the base class for the common play skill implementing the base functionality. To create a skill import the CommonPlaySkill:

from mycroft.skills.common_play_skill import CommonPlaySkill

and create a class implementing the methods CPS_match_query_phrase and CPS_start. The first will parse a phrase and return a confidence level and the second will start playback:

class MyPlaybackSkill(CommonPlaySkill):
    def CPS_match_query_phrase(self, phrase):
        # Check if the phrase is playable and return confidence level
        return return phrase, confidence, data # data can be used to send info to the CPS_start skill

    def CPS_start(self, phrase, data):
        # Start playback of the matched query

Fallback TTS #1840

If a remote TTS such as Mimic 2 or googleTTS is used and the network connection goes down the tts will fallback to the local version of Mimic.

Cross skill context #1815

A system for setting context for all skills was added. Big shuot out to @JarbasAI for building this!

Lock the usage of the identity file #1801, #1820, #1821, #1828, #1830

To reduce risk of multiple processes accessing the identity file a locking system was added.

Fix the problem trillions issue when formating numbers #1841

Rework and fixing of issue with trillions when using nice_number. Many thanks to @nielstron for tackling this in an excellent way!

CentOS 7 support #1837

dev_setup.sh can now be used on CentOS to setup mycroft. Many thanks to @JarbasAI and @assasen11

Warn when unsupported parse function is used for unsupported language #1831

Shout out to @silvia-odwyer for fixing this!

Fix invalid escape sequence in remote_tts.py #1845

Thanks to @mpolidori the invalid escape sequence was fixed!

Allow setting log level in user config #1832

The log level can now both be set in the system config and the user config. Thanks @JarbasAI !

Miscellaneous

  • Fix bug causing CLI required 2 ctrl+C to exit #1826
  • Reduce logging #1819
  • Lock the version of get-pip used during dev_setup #1833
  • Minor cleanup of mycroft.skills.core #1835
  • Fix parsing of today, tomorrow, yesterday #1827
  • Add possibility to set a separate language for GoogleCloudSTT #1842
  • Use the phonetic spelling with mimic2 #1818

v18.8.2

27 Sep 21:02
Compare
Choose a tag to compare

Distro support (#1798, #1799)

Package list for Arch Linux and OpenSuse updated.

Updates for python 3.7

  • Fix python 3.7 issues in padaos #1794
    A couple of regexes would fail due to a minor change in how python handles incorrect escape sequences.
  • update pyyaml module requirement #1807
    This would invariably fail to build under python 3.7, to fix the latest version was included. Big thanks to @KathyReid and @adocampo for providing the solution.

Date time updates

  • a default_time optional parameter has been added to extract_datetime(). #1804, #1808
    This can be set to a time so if no time is included in the input string (for example on friday the 13) the time is set to the default_time instead of midnight. This can be useful when setting a reminder on a specific date for example.
  • utc_now() now returns datetime objects including timezone #1811

Spanish text parsing functions updated (#1571)

Adding spanish support for extract_number() and extract_datetime(). Huge shout out to @adocampo for providing these!

Updates for skill writers

  • translate_namedvalues now produce an ordered dict so the values can be ordered by priority in the .list file. #1816
  • schedule_event() now accept integers as well as datetime. #1813
    An int will be considered a relative time and will schedule the event X seconds from now.
  • Add optional parameter wait to speakand speak_dialog #1812
    This will make the methods block until Mycroft has finished speaking.
  • Strip trailing blank lines from translated files (.dialog, .list) #1817
    In a few places trailing blank lines would cause issues, since these are generally not wanted they're removed.

Support for downloading precise model by wake word name #1810

When more wake words are added the precise models will now automatically download and be used if they're available, otherwise it'll fall back to pocketsphinx.

Misc

  • Removed unused requirements #1800
    Thanks to @j1nx for pointing these out.
  • Update gtts-token to fix google tts #1806
  • Add repeat option to audioservice #1805
  • skill tester now supports a test_setup() step for initial setup. #1809

The first update has landed

13 Sep 11:54
Compare
Choose a tag to compare

The first update of the 18.08 release has landed bringing bugfixes, and a consistent array of command line tools.

Mimic 2 speech improvement #1795

The American Voice Beta voice model for mimic 2 has been improved quite a bit, to take advantage of this some of the sentence chunking code has been reworked. This will result in less unnatural pauses in the speech.

Unify the commandline experience #1784, #1788

Many of the command line tools used in the Mark-1 and Picroft was merged into the mycroft-core repo and can be found under .../mycroft-core/bin/

Local precise model #1782

A user specified precise wakeword model can now be specified in the configuration. This allows easier customization.

Workaround for arduino issue #1751

Some users experienced issues with the face plate not updating due to invalid start characters received from the Arduino, a workaround that will work in certain cases was added. Shoutout to @domcross for providing this!

Miscellaneous updates and bugfixes

  • Bugfix for the chromecast audio backend #1790
  • Skip mimic build by default if it's already been built #1781
  • Better cleanup if a skill fails to load #1783
  • Minor update of german #1751

v 18.8.0 Breakin' and fixin'

31 Aug 18:40
Compare
Choose a tag to compare

The long awaited 18.8 version of Mycroft-core. A couple of bigger changes to the API was included.

The following non-compatible changes has been included:

  • enclosure api separated from enclosure logic, this will make it easier to create thirdparty enclosures and support future mycroft enclosures. #1767, #1760
  • a couple of deprecated util functions were removed along with the deprecated DeviceApi methods find_* #1752, #1756
  • Booleans and Numbers in websettings are now casted to the correct python type
  • update to more modern python module structure, all main.py files were removed.
  • remove depreciated ScheduledSkill #1731
  • MycroftSkill.get_response announcement parameter has been removed (the dialog parameter now supports strings as well so it has become redundant) #1758

locale directory #1764, #1773

Skill vocab, dialogs and regexes can now be placed in the SKILL/locale

Simple audio service #1761, #1774

Replace the separate mpg123 and ogg123 with a "simple" audio service using simple command line tools to play mp3, ogg and wav files.

Emitter/ws -> bus #1757

The messagebus connection instances has been renamed to "bus". The old MycroftSkill.emitter is still available for backwards compatibility but will be removed for 19.02.

Skill tester improvements

  • Improve skill tester output #1755
  • Add support for custom settings during test. #1753

Misc

  • Fix skill listing in CLI #1759
  • Fix building mimic if the path contains spaces. Big thanks to @el-tocino for this fix. #1772
  • msk updated to 0.3.11 adding better branching support #1769
  • msm updated to 0.5.19 setting default branch to 18.08 #1776

The last 18.2 release

16 Aug 14:49
Compare
Choose a tag to compare

Lots of minor improvements and preparations for moving to the 18.8 release.

Support for installing Beta skills #1747

Skill manager will now allow "beta-skills" installed by the installer skill.

Mycroft CLI updates #1738, #1745

  • Fixed lockups
  • Updated simple CLI to show Mycroft speech
  • Updated code handling non-ascii encodings to work well on a wider range of Locales

Improved Camel Case Splitting #1727

Big thanks to @juliengk for improving the camel case splitting of skill names.

Fixed caching mimic outputs #1716, #1720

Mimic outputs weren't being cached since the phoneme files weren't written to disk correctly. Big thanks to @ndarilek for reporting and supplying code to identify and fix the issue.

Mimic 2 improvements #1724, #1740, #1748, #1737

  • Fix isSpeaking signal for mimic2
  • Improve pronounciation of years
  • Expand numbers to words

Clean up isSpeaking signal #1721

The is isSpeaking signal is now cleaned up when audio service is started. Big thanks to @JarbasAl for providing this fix.

v18.2.12 Mycroft's New Voice!

04 Aug 10:49
Compare
Choose a tag to compare

New Mimic voice technology (#1708)

Mycroft now has full support for the new Mimic2 voice technology. This includes support for synchronized viseme display to animate the mouth. The first beta voice can be selected under Basic Settings at home.mycroft.ai as the American Male. This voice is generated by the Home server rather than locally due to high computational demands.

Improved Padatious support (#1709/#1713)

Previously, Adapt intents would always match before Padatious intents. Now a high Padatious match (95% confidence or greater) will win.

Additionally, the message that indicates Padatious training is still occurring during boot is now spoken rather than just blocking. (#1706)

Misc improvements

  • The latest versions of the Mycroft Skill Manager (msm), Mycroft Skill Kit (msk), and Padaos for Padatious have been linked to Mycroft Core. (#1698)

  • Add mycroft.util.play_ogg(), similar to play_mp3(). This requires ogg123 on the system to function, it hasn't been made a dependency. Thanks @joshuacox! (#1678)

  • Improve Docker support by explicitly calling python3 and eliminating the venv for Docker installs. Also cleaned up shell scripts for consistency. Thanks @juliengk! (#1703/#1710/#1711)

  • Now start-mycroft.sh automatically starts the Enclosure when on a Mark 1 platform (#1707)

  • Add scientific-notation support for pronounce-number, allowing handling of MUCH larger numbers -- up to 1e3003. Thanks for thinking big, @JarbasAI (#1653)

  • Unified logging to all occur under the /var/log/mycroft/ directories. Previously a start-mycroft.sh Github install would log into a subfolder of the Github directory. The Debian package still used /var/log/mycroft-*.log files, but that will change in the near future for consistency. (#1712)

Bugfixes

  • Previously the EventScheduler add/delete/change operations were kept in independent queues, so the order of operations wasn't always as expected. Now locks are used for multithread synchronization and queuing has been eliminated. In addition events weren't fully disconnected, resulting in duplication of handlers if they were recreated later under the same name/handler. (#1705)

  • Fix CLI screen corruption in some SSH clients, plus made the redraw slightly cleaner/faster overall. (#1704)

  • Correct hard-coded "/opt/mycroft" in prepare-msm.sh script, now honoring configuration settings. Thanks @Whisprin! (#1700)

  • Force-remove any leftover and orphaned .git/index.lock files from Skills at Mycroft startup. These would prevent a skill from updating. (#1715)