Skill versioning and changelogs

Hey all,

We’ve been doing some thinking around versioning of different aspects of Mycroft and a big missing piece is a good versioning system for Skills.

The primary issues that I think we are trying to solve are:

  • How does a user know what version of a Skill they are using?
  • How does a user know when a Skill has updated?
  • How does a user know what has changed in an update?

I’ve started a spec to outline initial thoughts and pose some questions about how this might work. It would be great to get any thoughts on this either as comments in the doc or here in this thread:

Thanks for all the great comments and suggestions so far - it feels like we’re all broadly on the same page. The bit that I’m less sure about currently is where the version is defined - is that in the manifest.yml, as a git release tag, or both?

So I’ve added a new section with some pro’s and con’s of each to dig into that a little deeper. All in the link above ^^

I wrote a small piece of code called mycroft-tools that lists skills, intents and vocabs. See: GitHub - mike99mac/mycroft-tools: line command tools to use with mycroft

Would this be a start? Maybe versions could be added to the output?

Once you have the line command working, it’s pretty easy to put a Web UI in front of it.

-Mike MacIsaac
1 Like

Hey Mike, thanks for sharing your scripts.

I think this might be solving a slightly different problem but it looks really useful still, and the versions could certainly be added to it once they’re defined.