Full notes are on the Release page
Those release notes are partially reproduced here:
New login mechanism
A new option, --experimental-login can now be used when using snapcraft login or snapcraft export-login and when signing assertions.
Using this option will trigger a web based authentication flow (Using Candid). 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, default [])
List of conda packages to install.
conda-python-version
string
Python version major and minor version (e.g. 3.8).
conda-miniconda-version
string, default latest
The version of miniconda to initialize.
Package Repositories
The road to making this feature stable is closer, a breaking change
lands with 4.6 for this experimental feature. Keys are now using the
suffix and not prefix of the key id.
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.
New flutter variants of the extension for stable and beta are now
available. The same documentation applies as for the master and dev
variant https://snapcraft.io/docs/flutter-extension.
I have tested the GNOME 3-38 extension which worked great, thanks!
I also tried the experimental login feature. It’s nice, but I’m a little confused as to why snapcraft login --experimental-login throws me through a charmcraft api site. Is there a plan to make a snapcraft api site when this is no longer experimental?
Weird issue once I have used --experimental-login, I can’t upload:
alan@robot:~/Source/popey/spot$ snapcraft login --experimental-login
Opening an authorization web page in your browser.
If it does not open, please open this URL:
https://api.jujucharms.com/identity/login?did=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Login successful.
alan@robot:~/Source/popey/spot$ snapcraft whoami
Opening an authorization web page in your browser.
If it does not open, please open this URL:
https://api.jujucharms.com/identity/login?did=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Error fetching account information from store: The request is missing an Authorization header field containing a valid macaroon
alan@robot:~/Source/popey/spot$ snapcraft version
snapcraft, version 4.6
alan@robot:~/Source/popey/spot$ snapcraft upload spot_0.1.12_amd64.snap --release=candidate
Preparing to upload 'spot_0.1.12_amd64.snap'.
After uploading, the resulting snap revision will be released to 'candidate' when it passes the Snap Store review.
Running the review tools before pushing this snap to the Snap Store.
Review Tools did not fully pass for this snap.
Specific measures might need to be taken on the Snap Store before this snap can be fully accepted.
Opening an authorization web page in your browser.
If it does not open, please open this URL:
https://api.jujucharms.com/identity/login?did=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Received:
- macaroon-authorization-required: The request is missing an Authorization header field containing a valid macaroon
I’ve tested this on a number of projects using the gnome-3-38, gnome-3-34 and gnome-3-28 extension and all works as expected. I also tested the flutter extension, they all worked with the exception of flutter-stable however currently the stable channel fails to build anything. This will be fixed in flutter soon, we should go ahead and release it with flutter-stable as an option.