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¶
use the releases endpoint for LXD @sergiusens (#3271)
Bug Fixes¶
cli: ignore sudo warning when using multipass @sergiusens (#3275)
schema: rename package-repository’s “deb-types” to “format” @cjp256 (#3274)
spread tests: lock down setuptools for plainbox @sergiusens (#3273)
build providers: hide systemd setup for LXD @sergiusens (#3281)
Set VDPAU_DRIVER_PATH appropriately @flexiondotorg (#3279)
storeapi: improve to channel map docstrings @sergiusens (#3272)
colcon v2 plugin: honour http(s) proxy for stage-runtime-dependencies @cjp256 (#3265)