Release notes: Snapcraft 4.3

The team behind Snapcraft is pleased to announce the release of Snapcraft 4.3.

Highlights for this release include:

  • a new ROS 1 extension for core20
  • new v2 versions of the catkin and catkin-tools plugins
  • the ability to set a default track for a snap
  • a new --enable-experimental-extensions option for expand-extensions

For general details, including installation instructions, see Snapcraft overview, or take a look at Snapcraft release notes for other Snapcraft releases.

Special thanks to the contributors that helped to make this release happen: @cjp256, @flexiondotorg, @kyrofa and @sergiusens.

New Features

ROS 1 Extension

The new ROS 1 extension allows you to target core20 with ROS 1 Noetic Ninjemys, the latest (and last) ROS 1 LTS that runs on Ubuntu 20.04 LTS (Focal Fossa).

You can now build a ROS 1 application with a snapcraft.yaml as simple as:

name: catkin-noetic-hello
version: "1.0"
summary: hello world
description: |
  A ROS 1 roscpp-based workspace.
grade: stable
confinement: strict
base: core20

apps:
  catkin-noetic-hello:
    command: opt/ros/noetic/lib/snapcraft_hello/snapcraft_hello
    plugs: [network, network-bind]
    extensions: [ros1-noetic]

parts:
  hello:
    plugin: catkin
    source: .
    build-packages: [g++, make]

It’s operation and functionality is similar to the newly introduced ROS 2 extension, and the associated colcon plugin, added in Snapcraft 4.2.

Set the default Channel Track

It is now possible to set a default track for your snap:

$ snapcraft set-default-track <snap-name> 17
Default track for '<snap-name>' set to '17'

This features complements the ability to list channel tracks, which as added in Snapcraft 4.2.

New v2 plugins

catkin plugin @kyrofa (#3268)
catkin-tools plugin @kyrofa (#3282)

CLI improvements

  • client side check for setting default tracks @sergiusens (#3278)
  • add --enable-experimental-extensions option for expand-extensions @cjp256 (#3266)

Build providers

Bug Fixes

Specifications and Documentation