Snapcraft 4.6 is a feature-packed release, including:
- new extensions
- core20 support for additional extensions and plugins
- a new login mechanism.
- plenty of bug fixes and smaller updates
For general details, including installation instructions, see Snapcraft overview, or take a look at Snapcraft release notes for other Snapcraft releases.
Login mechanism
A new option, --experimental-login
can now be used when using snapcraft login
or snapcraft export-login
and when signing assertions (see Create a developer account).
Using this option will trigger a web based authentication flow. To go back to the previous login method you must first snapcraft logout
.
Conda plugin
The conda plugin has been ported to core20. These are the available plugin options:
-
conda-packages
(list of strings)
List of conda packages to install. -
conda-python-version
(string)
The Python version to use for the conda packages.
Python version major and minor version (e.g. 3.8). -
conda-miniconda-version
(string)
The version of Miniconda to bootstrap.
Defaults to the latest release.
Package Repositories
The road to making this feature stable is closer, although a breaking change lands with 4.6 for this experimental feature. Keys are now using the suffix and not prefix of the key id.
See Package repositories for further details.
Metadata
Snapcraft is now aware of the existence of kernel.yaml
for snaps of type kernel
.
The install-mode
option for applications is now supported with this release.
Extensions
Gnome 3.38
The gnome-3-38 extension is now considered stable.
KDE Neon
The KDE Neon extension now supports core20
as an experimental extension.
Flutter
New variants of the Flutter extension are now available for stable and beta. The same documentation applies as for the master and dev variant.
Full list of changes
- package-repositories: use last 8 characters of key id for .asc @cjp256 (#3486)
- build(deps): bump lxml from 4.6.2 to 4.6.3 @dependabot (#3485)
- Support install-mode option for apps @cmatsuoka (#3482)
- requirements: use PyNaCl 1.3.0 and ensure is compiled on linux @sergiusens (#3483)
- tests: crystal 1.0.0 requires shard.lock @sergiusens (#3484)
- porting conda plugin from v1 to v2 so we can use it in core20 @ycheng (#3457)
- project loader: ensure all key assets are utilized @cjp256 (#3364)
- Candid bakery @sergiusens (#3473)
- extensions: add core20 support to kde-neon @sergiusens (#3462)
- ci: add requirements for snapcraft legacy in spread @sergiusens (#3478)
- ci: reduce amount of artifacts to upload for spread @sergiusens (#3476)
- godeps: set default channel to 1.15/stable @cjp256 (#3475)
- spread tests: pin go for v1 plugin snaps @cjp256 (#3477)
- Add flutter-stable and -beta extension variants @MarcusTomlinson (#3471)
- storeapi: move http client and auth to http_clients package @sergiusens (#3472)
- store: do not unnecessarily catch/rewrite exceptions @cjp256 (#3466)
- ci: run spread store tests when secret is available @sergiusens (#3470)
- gitignore: sort list @cjp256 (#3467)
- repo: introduce DebPackage class to standardize package name parsing @cjp256 (#3460)
- store: set auth headers when using login --with @sergiusens (#3468)
- meta: add support for
kernel.yaml
for kernel snaps @mvo5 (#3464) - extensions: make GNOME 3.38 stable @sergiusens (#3427)
- requirements: pip freeze @sergiusens (#3458)
- storeapi: decouple auth and API @sergiusens (#3452)