Releases: canonical/snapcraft
8.3.2
8.3.1
Core
Bases
core24
- Support
all
as a target withbuild-for: [all]
(#4854) - Ensure Craft Providers provider (LXD or Multipass) is available before launching a build environment
- Improve presentation of
snapcraft.yaml
model errors
Metadata
- Validate that
update_contact
,donation
,vcs-browser
,bugtracker
, andhomepage
fields adopted from an appstream metadata file are valid URLs or email addresses - Ensure that
contact
,donation
,source-code
,issues
, andwebsite
fields in asnapcraft.yaml
take priority over appstream metadata (#4890)
Remote build
- Allow building core22 snaps with
build-for: [all]
- Support reading Launchpad credentials from the previous location (#4889)
- If launchpad credentials do not exist in the new location (
$XDG_DATA_DIR/snapcraft/launchpad-credentials
) introduced in 8.2.0, then load credentials from the previous location ($XDG_DATA_DIR/snapcraft/provider/launchpad/credentials
) and emit a deprecation notice - This behavior applies to the new and legacy remote builders
- If launchpad credentials do not exist in the new location (
- Require
core20
snaps to use the legacy remote builder (#4886)
Documentation
- Add an explanation for the remote builders (#4842)
- Update reference, how-to, and explanation for platforms and architectures
What's Changed
- build(deps): bump urllib3 from 1.26.18 to 1.26.19 by @dependabot in #4859
- chore: use strtobool from craft-application by @mr-cal in #4875
- docs: add explanation for remote build by @mr-cal in #4882
- feat: support "build-for: [all]" in core24 by @mr-cal in #4873
- build(deps): bump urllib3 from 1.26.18 to 1.26.19 in /docs/.sphinx by @dependabot in #4887
- meta: override the links if project links are set and check the links from appstream by @soumyaDghosh in #4888
- fix(remotebuild): use legacy launchpad credentials if they exist by @mr-cal in #4892
- fix(remotebuild): require core20 snaps to use the legacy remote builder by @mr-cal in #4895
- build(deps): add 'validators' to install_requires by @mr-cal in #4898
Full Changelog: 8.3.0...8.3.1
8.3.0
Core
Bases
Fixes a bug where snaps using bases core22-desktop
and core24-desktop
could not be built (#4818).
Core22
Warns when multiple snaps are going to be built in destructive mode because it may cause unexpected behavior (#4685, #4356).
Stage packages
Improves logging shows which package is being fetched.
Sources
Adds support for parts to source 7z
archives.
Improves error messages when sources can not be fetched.
Plugins
Flutter
Adds curl
as a build-package for flutter
parts (#4804).
ROS 2 Jazzy
Adds support for the new ROS 2 Jazzy extension which lets you snap ROS 2 applications on core24
(#4791). Similar to ROS 2 Humble for core22
, content-sharing is supported (#4828). For more information, see https://snapcraft.io/docs/ros2-jazzy-extension and https://snapcraft.io/docs/ros2-jazzy-content-extension.
NPM
Adds various improvements to the NPM plugin for core22 and core24:
- The
npm-node-version
option now accepts an NVM-style version identifier - Verify SHA256 checksums after node.js download (canonical/craft-parts#717)
- Use new-style npm-install commands if the npm version is newer than
8.x
- Set
NODE_ENV
toproduction
by default
List plugins
Fixes a bug where snapcraft list-plugins
would fail to run in a core24 project directory (#4830).
Updates snapcraft list-plugins
to show a list of core24
plugins instead of core22
plugins when not in a project directory (#4830).
Extensions
Gnome
The gnome
extension is now stable for core24
and integrates with the gpu-2404
SDK (#4744). See here for more information.
Fixes GI_TYPELIB_PATH
and XDG_DATA_DIRS
paths in the Gnome extension's build environment (#4798).
KDE Neon 6
Fixes paths to QtWebEngineProcess
in the desktop launcher (#4745).
Expand extensions
Fixes a bug where snapcraft expand-extensions
could not parse a snapcraft.yaml
file containing the platforms
keyword.
Components
Component metadata now includes the provenance
keyword from a snapcraft.yaml
file (#4827).
Metadata
Adds support for adopting more metadata fields from a project's appstream file:
- license
- contact
- source-code
- issues
- websites
- donations
Metrics
Adds support for snapcraft metrics
to retrieve the metrics installed_base_by_architecture
and weekly_installed_base_by_architecture
(#4735).
Names
Adds output formatting to snapcraft names
with --format
. Supported formats are table
and json
(#4778).
Init
Updates snapcraft init
create a core24
project instead of a core22
project (#4830).
Documentation
Updates Snapcraft's documentation to use the canonical-sphinx
theme.
Adds reference documentation for more plugins (#4811):
- dotnet
- ant
- autotools
- cmake
- go
- make
- meson
- nil
- npm
- qmake
- scons
Updates reference documentation for lifecycle commands to be based on core24
lifecycle commands instead of core22
lifecycle commands (#4830).
Implicit slot and plug assignment
Improves the warning for implicit slot and plug assignment from top-level slot and plug definitions now includes a link to new documentation (#4765).
What's Changed
- feat(lint): migrate lint command by @syu-w in #4732
- chore(merge): '8.2.1' into 'main' by @mr-cal in #4760
- tests: remove core24 snap workarounds (#4761) by @mr-cal in #4763
- Activate installed_base_by_architecture metrics by @DanielDewberry in #4735
- Sgmoore/fix qtwebengineprocess by @ScarlettGatelyMoore in #4745
- chore: update link for top level plug and slots warning by @mr-cal in #4765
- feat: support refresh-mode: ignore-running by @mr-cal in #4749
- docs: use canonical-sphinx by @tigarmo in #4766
- chore(merge): '8.2.2' into 'main' by @mr-cal in #4777
- chore: merge hotfix 8.2 into main by @sergiusens in #4786
- chore(deps): update dependency jinja2 to v3.1.4 [security] by @renovate in #4789
- chore: merge 8.2 hotfix branch by @cmatsuoka in #4792
- build(deps): bump setuptools from 59.6.0 to 65.5.1 in /docs by @dependabot in #4775
- build(deps): bump pip from 22.0.2 to 23.3 in /docs by @dependabot in #4776
- chore: add issue for using
ld
from the base snap by @mr-cal in #4752 - tests: fix remote-build tests by @mr-cal in #4767
- chore(merge): '8.2.7' into 'main' by @mr-cal in #4803
- chore(deps): update documentation dependencies by @renovate in #4728
- extension: fix issues and depreciated vars in gnome extension by @soumyaDghosh in #4798
- flutter: add missing
curl
build-package by @Saviq in #4804 - chore: merge 8.2.8 into main by @sergiusens in #4819
- linter updates by @lengau in #4815
- build(deps): bump craft-parts to 1.31.0 by @tigarmo in #4811
- chore: merge 8.2.9 hotfixes by @sergiusens in #4824
- feat: adopt more fields from the appstream metadata file(part 2) by @soumyaDghosh in #4652
- extension: add ROS 2 Jazzy (core24) by @artivis in #4791
- tests: drop
grade: devel
from core24 spread tests by @mr-cal in #4750 - fix(tox): use requirements-devel for linters by @lengau in #4820
- feat(names) add --format option by @DanielDewberry in #4778
- chore(merge): '8.2.10' into 'main' by @mr-cal in #4838
- refactor: migrate commands to craft-application by @mr-cal in #4830
- fix(schema): add ROS 2 core22 extensions for remote-build by @Guillaumebeuzeboc in #4756
- feat: warn when multiple snaps will be built in the same environment by @mr-cal in #4839
- Add ROS 2 Jazzy content-sharing support by @artivis in #4828
- style: remove pylint by @lengau in #4817
- chore(deps): update dependency pytz to v2023.4 by @renovate in #4833
- style: remove pylint comments by @mr-cal in #4848
- refactor: change PackCommand parent by @mr-cal in #4797
- chore(deps): update dependency tornado to v6.4.1 [security] by @renovate in #4847
- fix: allow coreXX-desktop bases by @lengau in #4850
- gnome: add gpu-2404 integration by @Saviq in #4744
- feat: write provenance to component metadata by @mr-cal in #4849
- chore(merge): '8.2.11' into 'main' by @mr-cal in #4852
- ci: enable TiCS integration by @sergiusens in #4855
- chore: move gnome-extension to stable by @jssotomdz in #4799
- chore(merge): '8.2.12' into 'main' by @mr-cal in #4872
New Contributors
- @DanielDewberry made their first contribution in #4735
- @jssotomdz made their first contribution in #4799
Full Changelog: 8.2.12...8.3.0
8.2.12
Core
Fixes an issue where core24 snaps would stage python packages already included in the core24
base snap (#4865)
Store
Fixes an issue where store-related error messages would be presented as an internal Snapcraft error.
Additionally, keyring errors now suggest a resolution and link to documentation
Documentation
Fixes Snapcraft's version in the readthedocs documentation.
What's Changed
- build(docs): fix version in rtd builds by @tigarmo in #4864
- fix(cli): properly capture store errors by @sergiusens in #4863
- tests: add a test for package filtering in core24 by @tigarmo in #4862
Full Changelog: 8.2.11...8.2.12
8.2.11
8.2.10
This hotfix release addresses many bugs with the new remote builder.
Remote builder
The new remote builder will now:
- accept comma-separated architectures via
snapcraft remote-build --build-for <arch1>,<arch2>,...
(#4780) - handle core22 architectures in a snapcraft.yaml (#4780)
- produce correctly-named log files (#4781)
- retry Launchpad API calls with an exponential backoff (canonical/craft-application#355)
- fail if they do not create any artifacts (#4783)
What's Changed
- fix(remote-build): fail if no artifacts are created by @lengau in #4826
- build(deps): bump craft-application to 2.8.0 by @mr-cal in #4837
Full Changelog: 8.2.9...8.2.10
8.2.9
What's Changed
- Multiple fixes for the kde-neon-6 extension to allow for web processes to work correctly.
- Expose libplas and liblapack in the kde-neon-6 extension provided by the kf6-core22{-sdk} snap
Full Changelog: 8.2.8...8.2.9
8.2.8
Core
This release fixes a behavior with patchelf for core24
snaps and temporarily disables the dotnet plugin for core24
snaps.
core24
Patchelf behavior has been corrected so shared libraries from the host system are not loaded for core24
snaps with classic confinement. This is done with patchelf --no-default-lib
when patchelf is enabled.
Plugins
dotnet
The dotnet plugin for core24 is being redesigned and has been temporarily disabled until the rewrite is complete.
What's Changed
- tests: fix flutter spread test by @mr-cal in #4808
- do not load system libraries for classic core24 snaps, bump craft-parts, unregister dotnet by @mr-cal in #4809
Full Changelog: 8.2.7...8.2.8
8.2.7
Core
apps.<app-name>.refresh-mode
in a snapcraft.yaml
can accept the value ignore-running
(#4747).
Remote build
Fixes a regression where remote-build would fail to parse some architectures
definitions (#4780).
What's Changed
- feat: add refresh-mode value 'ignore-running' (#4749) by @mr-cal in #4800
- fix(remote-build): don't fail with certain archs by @lengau in #4793
Full Changelog: 8.2.6...8.2.7
8.2.6
Core
Snapcraft 8.2.6 fixes a regression where a directory could not be packaged as a snap (#4769).
What's Changed
- tests: update chisel-base test to use core24 by @mr-cal in #4795
- build(deps): bump craft-application to 2.7.0 by @mr-cal in #4796
- feat: allow packing a directory by @mr-cal in #4794
Full Changelog: 8.2.5...8.2.6