snap.yaml change landed

Michael Vogt michael.vogt at
Thu Jan 28 13:19:24 UTC 2016


we have landed support for meta/snap.yaml. This is the new internal
metadata format of a snap. It is cleaner than the previously used
meta/package.yaml and meta/ and it also provides the required
syntax for the new skill (capabilities) system.

Snapcraft will manage most of this for you automatically. See also:

For those interessted in the details, here are the key difference:

- meta/ is gone and replaced with "summary" and
  "description" in meta/snap.yaml
- the icon location must be meta/icon.{svg,png}
- the "binaries" and "services" key is gone, the new key is "apps"
  and it is a map instead of a list (much easier to read)
- the security-* profiles are handled now by a "migration-skill".
  The keys under the migration skill definition are the same as
  the old security fields, for convenience when migrating.

Here is an example of the old `meta/package.yaml`:

name: hello
version: 1.0
 - name: foo
   security-template: template-one
 - name: bar
   security-template: template-two

and the new `meta/snap.yaml`:

name: hello
version: 1.0
summary: A friendly hello application
        command: foo
        uses: [migration-one]
        command: bar
        uses: [migration-two]
        type: migration-skill
        security-template: template-one
        type: migration-skill
        security-template: template-two

As the skills system evolves the security handling will be transitioned.
This will be announced here.

Note that "frameworks" are supported currently in the meta/snap.yaml
to make the transition easier. These will eventually be handled via
skills as well.

If you have any questions or if anything is unclear, please let me


More information about the snappy-devel mailing list