As part of Mycroft’s versioning scheme, we put out a new major release two times a year — once in February and once in August. These months are the 02 and the 08 in 18.02 and 18.08. The 18 part comes from the year – 2018 in this case.
With each of these major releases we create a new “branch”. During the life of a major release, we guarantee Skill writers that their Skills will continue to operate. So, all improvements must be incremental and carefully planned. We introduced Skill Branching in the 18.02 release, and want to again thank all our Skill Authors for their patience as we made the switch from Python 2.7 to Python 3.4+.
A new branch provides us with an opportunity to advance the code base significantly, and make breaking changes – changes that may adversely impact how a Skill operates.
As such, we don’t presume to change it without your knowledge and explicit permission. For 18.08 and all future major code releases, you will be asked for permission to update. Over the next day, Mycroft will notice the new release and will ask your permission to make the transition to the new Skill branch. You are free to hold off upgrading until your favorite Skills have all been transitioned into the 18.08 branch of the Mycroft Skills repository.
But don’t wait too long! Exciting things are just around the corner, enabled by the changes that are underway in 18.08…
One of the major focuses for this release is the forthcoming Marketplace. Skill discovery will become easier with a beautifully designed Skill Marketplace for Mycroft users. Skill Authors can now use the new Skill Meta Editor to help prepare their Skills for showcasing.
Skills can now include icons or images to represent their capabilities. Categories help classify their purpose, and Tags make them searchable. Previews show how the Skill will look to a Marketplace patron browsing for the latest Skills, or a Github user browsing through the source code.
Once a Skill is submitted to the Mycroft Skills repo, it will be examined by the Community-led Skill Management Team to verify that it does what it promises — and perhaps more importantly that it doesn’t do anything unexpected! The Skill Acceptance Process is publicly documented and available – and as always we warmly welcome your feedback.
With Mycroft, you have the peace of mind from being able to see exactly what every Skill is doing with your data. Skill Authors can update their code to fix bugs and introduce new features. But, those changes aren’t pushed to normal users until reviewed by the Skill Management Team. The Skill Management Team have deep experience with Mycroft, and a wide range of development, ICT, and governance experience. Our processes ensure openness and transparency, and provide you with confidence and trust in the technology to which you’re entrusting your information.
Marketplace Skill preview generated from README.md file
We are intentionally exposing not only the source code behind this technology but also opening the underlying data. The new Mycroft Skills Data repository will provide Skill Authors with insights into how their Skills are being adopted and used by the Community. Skill Authors can then use this information to continually improve their Skills.
This data source is also the foundation for the Mycroft Personal Server, connecting it loosely to the larger Mycroft ecosystem. Interested individuals will be able to browse and download Skills just like users of Mycroft Home, while still keeping their settings within the safety of their own home environment. The Personal Server is still in the planning stages, but this is the cornerstone.
As with all emerging technologies, additional features are continually being added.
The 18.08 release includes many large and small changes that improve the user experience and simplify the development process. These include:
- Simpler localization scheme: All localizable text is now unified under the ‘locale’ directory for each skill instead of spread across arbitrary directories.
- Flexible localization tools: Developing localizable tools is easy with intuitive
MycroftSkillAPIs. Community translation tools will let native speakers help Skill Authors to translate into dozens of languages.
- Wider hardware support: Refactoring of the
mycroft.enclosureexpands the ability to tie Mycroft to rich visual interfaces like the Mark II as well the KDE desktop and more.
Mycroft is no different. And with each branch, we grow to new heights and can see myriad new possibilities from our improved vantage point. We are excited about what we see from here and look forward to you joining us as we nurture this sapling into a forest!