Special thanks to the contributors that made this release happen: @cjp256, @flexiondotorg, @kyrofa and @sergiusens
New Features
ROS 1 Extension together with a v2 catking and catkin-tools plugin for core20
This allows you to target ROS 1 Noetic Ninjemys which is the latest (and last)
ROS 1 LTS that runs on Ubuntu 20.04 (Focal Fossa).
This feature allows building ROS 1 applications 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]
The experience should be pretty similar to the newly introduced ROS 2 extension and colcon plugin
in Snapcraft 4.2.
Source is assumed to be local and a valid catkin project
Set the default Channel Track from the Snapcraft
Building on the feature set from Snapcraft 4.2
where track listing was introduced, it is now possible to set default tracks and it is as simple as running:
$ snapcraft set-default-track node 17
Default track for 'node' set to '17'.
Other improvements
- build providers: use the releases endpoint for LXD @sergiusens (#3271)
- cli: add --enable-experimental-extensions option for expand-extensions @cjp256 (#3266)
Bug Fixes
- spread tests: remove references of core16 @cjp256 (#3269)
- 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)