Releases: MycroftAI/mycroft-core
Mark 1 Behavior Refinements
This release was mainly focused on the behavior Mark 1 users would experience when removing the device from the box for the first time.
Mark 1 Support
- Added ability to disable SSH from the Mark 1 menu #744
- Improved handling of the button press. Now the 'buttonPress' signal can be consumed if audio is being spoken, not
starting recording afterwards. (Support for consumption after a Skill 'stop' is yet to come.) #743 - Restored weather icon support #738
- Prompts to guide network connection on startup have been restored #745???
Misc
- The skill container now catches configuration update events #735
Internationalization (Spanish), Mark 1 support, and more
This release includes a variety of goodies: support for Spanish and mycroft-core internationalization in general, Mark 1 menu item support, unit testing, and singing.
Mark 1 Support
- Added ability to enable SSH from the Mark 1 menu #712 #732
- Added support for running DEMO from the Mark 1 menu #731 #729
- The RESET menu now clears saved wifi networks #708 #710 #720 #728
Internationalization
- Added Spanish-language text normalization #722
- Added mycroft.dialog.get() to support localization of strings in mycroft-core. #717
Misc
- Added coverage monitoring to the unit tests #698
- Skills are updated whenever the internet connection gets established #697
- Restored many previously disabled unit tests #670
- Renamed DeviceApi.find() method to DeviceApi.get(). DeviceApi.find() is still supported, but it is deprecated. #716 #727
- Singing is now a default skill (try "Hey Mycroft, sing me a song") #700
Bugfixes:
Release 0.8.9
This release includes major changes to the organization of Skills. Now mycroft-core no longer contains any implemented skills. The Mycroft Skill Manager (msm) is now officially part of mycroft-core, and it is used to automatically retrieve and update the "default skills" down Github at run time.
Skill system
- All skills removed from mycroft-core, now auto-downloaded using 'git' #546
- Auto-reload of Skills fixes #671, #677, #660
- Getting out of requirements hell :) #666
- Moving msm into core # 663 #661
- Removed support for /opt/mycroft/third_party
Audio recording fixes #647
- The wake-up notification sound is now played synchronously, preventing it from being caught in the recorded audio
- The minimum recorded phrase must be at least 0.5 seconds (instead of 0.1), and must be continuously quiet for that duration
- The silence threshold is reset every time we begin listening for a wakeword
- The silence threshold adjusts upward to just above the ambient sound while waiting for the wake-word
Configuration system
- Remote configuration can now be overridden by the local mycroft.conf files. The load priority of configurations is now defined as: DEFAULT (from source code), REMOTE (from home.mycroft.ai), SYSTEM (from /usr/mycroft/mycroft.conf), USER (from ~/.mycroft/mycroft.conf) #652
- Added ability to document JSON configuration files. All mycroft.conf configuration settings are now documented. #654
- Added ability to specify log-level and to ignore logging of specific messages using mycroft.conf
CLI improvements: #649
- The chat history section now wraps long text strings
- Redesigned the section title to combine the header and underscore lines into a single line to save screen space
- Recolored several screen elements to make more sense. The query and the chat history now retain the cyan color, etc.
- The screen fully refreshes periodically, cleaning up garbage that might have accumulated from outside text being written to the terminal
- The mic meter no longer wraps around the screen when level numbers are too long
- Added log filtering commands to the CLI. So you can do things like:
:filter DEBUG (filters out any lines containing "DEBUG")
:filter remove DEBUG (stop filtering "DEBUG")
:filter "not this" (filters out any log lines containing "not this")
:filter list (displays active filters)
:filter clear (removes all filters) - Added a ~/.mycroft-cli.conf configuration file. It currently contains the last-used filters.
- The mycroft.sh scripts were firing up the "fancy" CLI in the background and logging it constantly. This resulted in huge log files because of the constantly updated microphone level indicator.
Misc
- The web page in the wifi setup now allows you to show the password characters #478
- Added and reformatted many comments using Google-style docstrings. These will be used for automatic documentation generation and are also used by development IDEs.
Bug Fixes
Minor packaging fix, adding 'git' dependency
Minor packaging fix to adding 'git' dependency. Git is needed for the msm (Mycroft Skills Manager) mechanism to work properly. Git is not included on Mark 1 units by default.
Release 0.8.8
New Features
- Added "expect_response" flag when speaking. This is a step towards dialog interaction with no wake-up word will have to be spoken. PR #576
- Audio from text to speech (TTS) is now cached, avoid unnecessary calls to Mimic. PR #599
- Wolfram Alpha skill now only attempts to handle missed intents that look like questions (Who/what/when/etc). PR #601
Internationalization Support
- Implemented skill language testing so only skills that support current language will be loaded. PR #622
- Added localization support for the Sleep/Wake Up mechanism. PR #575
Build process
- Updated build instructions for Arch and Fedora. PR #584
- Updated to use Mimic 1.2.0.2. PR #582
- Fixed debian build problem. PR #617
- Missing dependency was causing compile errors on Fedora. PR #573
- Mimic updates wouldn't overwrite existing installation in install-mimic.sh. PR #580
Bug fixes
- Fixed volume increase/decrease, broken by Skill:Intent namespacing. PR #619
- Commands issued using subprocess.Popen() were remaining open in background. PR #572
- Excessive CPU usage due to testing for wake-up word on every chuck received. PR #578
- Wake-up word was requiring double silence duration at end. PR #586
- The skill installer skill wasn't catching exit code properly. PR #631
Release 0.8.7
CLI enhancements PR #548
- Live microphone meter. This makes it easier to see if your microphone is hearing anything.
-Long log line left/right scrolling - Eliminated flicker on Raspberry Pi
Plumbing changes
- Created general Inter Process Communication (IPC) mechanism.
- Enhanced Signal mechanism to use the IPC and allow signals with durations
- Utterance normalization. This simplifies intent parsing by converting number words to digits, expanding contractions, removing articles, etc. PR #531
NOTE: This is potentially a breaking change for custom skills. Please verify behavior. - Refined skill auto-reload with a self.reload_skill property, providing control over the auto-reload of skills when files in the skill's change. It is on by default. Auto-reloatd also honors blacklists. PR #541 and PR #549
- BUGFIX: The Debian build script was missing a dependency. Thanks SoloVeniaASaludar! PR #569
0.8.6
Enhancements for the CLI interface. Includes:
- Interaction history
- Live, filtered log view
- Log color-coding
PR #536
Reduce max recording time
Max recording time is now 10 seconds instead of 30. This deals with cases where a noisy background prevents the listener's silence detection from triggering. 30 seconds was WAY too long to keep listening -- nobody is going to be saying something that long for now.
PR #529
Updated Mimic version to 1.2.0.1
- Upgraded to a new build process
- Compiles with GCC 6.2.0
- added --enable-shared flag for future Pymimic support
You will need to rundev_setup.sh
or./scritps/install-mimic.sh
to upgrade mimic
PR #525
Skill auto reload
Mycroft now checks periodically for file system changes in the skills folders. This allows for them to automatically be reloaded without restarting any services.
PR #524
Add -d
option to mycroft.sh
Enhances the mycroft.sh
script by adding the -d
option to start and enter the CLI client directly.
PR #522
Bugfix from 0.8.5
Changes to be committed: modified: mycroft/util/__init__.py FIXES BUG 519
Picroft alsa fix; Verbose skills logging; Listening sound; NATO Phonetic Pairing code
This release includes several enhancements as well as a bug fix for Picroft alsa playback issues.
For Picroft:
- A configuration setting was added for playing wav files. We found that specifying a hardware device for
aplay
will fix a Raspberry Pi specific ALSA/PulseAudio issue. This can also be used to interact with other audio systems. The new setting are "play_wav_cmdline" and "play_mp3_cmdline", which can be overridden in your /etc/mycroft/mycroft.conf file.
PR #514 #514
For Everyone:
- We added more verbose skill service logging, such as where skills are loaded from and what intents are registered.
PR #513 - A wake word detected sound has been added for better interaction. This wav file is configurable as well for your own custom sound!
PR #506 #506 - When pairing your device it could be difficult to understand the spoken code. To help with this, we added a NATO-inspired phonetic spelling, such as "C as in Charlie"
PR #502 #502 - Load data files for skills automatically when loading the skill. Skills no longer need to call self.load_data_files(dirname(file))
PR #499 #499 - The Adapt intent parser version used has been upgraded to 0.3.0
PR #496 #497
CLI client refinements; location based time
For the Weather Skill:
When talking about the current city, the city name is generally not spoken (more natural)
A "pretty" name of just the city is used instead of the complete name
Works around the recurring issue with OWM where they report bad min/max temps (same as the current temp)
Changed "Location is not valid" to "I don't know that location" (people don't say "not valid")
For the Time Skill:
The timezone is extracted from the device location setting
Time responses are more varied and shorter
This change adds MycroftSkill.location_pretty and MycroftSkill.location_timezone properties.
PR: #492
Cli improvements:
"Input:" doesn't get intermingled with the output (usually -- long pauses can still cause it to happen)
"Output:" is now displayed
Ctrl+C is handled gracefully
PR: #494