18.08b – What you need to know as a Community Developer

Originally published at: https://mycroft.ai/blog/18-08b-what-you-need-to-know-as-a-community-developer/

Skill Authors - what does 18.08 mean for you?

The Mycroft Core 18.08 beta release is only a few short weeks away. We got your input on what you’d like to see in this release and there were several excellent, if ambitious, suggestions. The recently published Roadmaps outline planned improvements, including;
  • The Marketplace -- a showcase for your Skills
  • Enhanced screen support for the forthcoming Mark II
  • Enhanced internationalization tools
  • Vocabulary overlap disambiguation

Steady Progress

Emerging technologies require steady progress. Much progress can be made with new features and carefully adding on to existing features. However, sometimes progress requires tearing down an existing structure. Major releases provide the opportunity to start these kinds of remodels cleanly.

With 18.08 there will be several minor changes that we believe will have little or no impact on most Skills:

  • Removal of the ScheduledSkill
  • Merger of the dialog/announce parameters in MycroftSkills.get_response()
  • Data typecasts for settingsmeta values
  • Removal of parsedatetime module as a Mycroft Core requirement
With these changes in place, we can continue the evolution of Mycroft Core, adding the next round of new features.

None of these changes are as major as the Python 3 migration or completely new like the Skill Branching and intent test requirement for 18.02. If you’ve been a Skill Author for a while, you’ll remember that 18.02 was a bit of a hurdle. We’re safely over that hurdle now. The good news is that most if not all Skills in the 18.02 branch will be able to automatically migrate to the 18.08 Skill branch.

What happens to my Skill when the 18.08 branch is made the default?

We’re happy to report that if you already have automated tests written for your Skill and they pass the testing framework, your Skill will be automatically migrated to the 18.08 repo. If your Skill doesn't pass the testing framework then you can update the code and/or tests and simply submit the Skill to the 18.08 branch using the Mycroft Skills Kit (MSK). After that, the principle of having another community member ‘vouch’ for the state of the Skill will still apply.

If you are submitting a new Skill to the 18.08 branch, then it will be reviewed and processed using the Skill Acceptance Process.

What action do I need to take now to prepare for the 18.08 branch?

Skill Developers can begin testing immediately following the 18.02.13 release on August 15th. At that point the dev branch of mycroft-core will begin to be updated with the changes listed above, leading up to the release of 18.08 at the end of the month.
  • Update older Skills to Python 3 and ensure tests are written - if you have a Skill you haven’t yet submitted to the mycroft-skills repo - perhaps it was written for Python 2.7 - then now is a good time to update it for Python 3.4+, and to write automated tests. Use the Mycroft Skills Kit to help define both Intents and tests for those Intents.
  • Ensure the README.md for your Skill is generated by the Meta Editor - the Skills List and forthcoming Marketplace will use the information in the README.md from the Skill’s GitHub repository to build the card with information about the Skill. Skill Authors have full control of the content but should use the Meta Editor to generate a file which is compatible with the parsing used by the automated systems. If a README.md file doesn’t follow the expected format then your Skill may not be represented well the Skills List or Marketplace. Skill updates which are just README.md changes will be automatically accepted by the Skills Management Team. They are not put through a testing regimen. This makes it easy for you to quickly correct any presentation issues.
  • The Marketplace - This new interface will allow Mycroft users to easily browse all the available Skills from the mycroft-skills repo, and deploy and manage those Skills on devices they own. Look for it on Home soon!
This is an early example of Mycroft's Skill Marketplace for open source voice assistant skills

When is the change to the 18.08 branch happening?

The 18.08 branch of mycroft-skills will become active August 30th - and there will be a two-week period leading up to this when you will be able to test your Skills against the 18.08 branch to identify any major changes that impact your Skill. Breaking changes this release are limited, so it should be easy to prepare for making the 18.08 branch the default.

Thank you, Skill Management Team!

This couldn’t have happened without the assistance of the Mycroft Skill Management Team. These volunteers helped create and refine the Skill Acceptance Process to approve new Skills. We’d like to say a special thanks to Aditya Mehra (@aix), Ryan Snedegar (@eltocino) and Joshua Johnson (@joshua-tree) for all their efforts.

Where do I go for assistance and support?

Join us in the ~dev channel or ~skills channel on Mycroft Chat for assistance.