Releases: canonical/snapcraft
8.2.4
What's Changed
Full Changelog: 8.2.3...8.2.4
8.2.3
Core
Snapcraft 8.2.3 fixes issues with evaluating project variables.
Core24
- Project variables are now evaluated after extensions are applied (#4771)
- Project variables for the build-for architecture are now correct (#4770)
Known issues
snapcraft pack <directory>
does not work (#4769)- Project variables
CRAFT_PROJECT_NAME
andCRAFT_PROJECT_VERSION
are not evaluated in core24 (canonical/craft-application#320). - New remote-build fails with some architecture definitions (#4780)
- New remote-build returns log files that truncates snap name in file name (#4781)
- New remote build does not fail if launchpad fails to create artifacts (#4783)
What's Changed
- tests(spread): drop check for specific files in ppa tests by @mr-cal in #4772
- build(deps): bump craft-application to 2.6.3 by @mr-cal in #4779
Full Changelog: 8.2.2...8.2.3
8.2.2
Core
core24
Snapcraft 8.2.2 fixes two regressions with advanced grammar in core24 snaps:
- Advanced grammar could not be used in root-level part keywords
build-packages
andbuild-snaps
(LP#2061603) - Advanced grammar could not be combined with other data (#4764)
Known issues
- Project variables
CRAFT_PROJECT_NAME
andCRAFT_PROJECT_VERSION
are not evaluated in core24 (canonical/craft-application#320). snapcraft list-plugins
does not work in core24 project directories (#4742)- Snapcraft does not evaluate project variables added by extensions in core24 (#4771)
CRAFT_ARCH_BUILD_FOR
andCRAFT_ARCH_TRIPLET_BUILD_FOR
use the build on architecture (#4770)
What's Changed
- tests: remove core24 snap workarounds by @mr-cal in #4761
- tests(spread): regression test for grammar and non-grammar lists by @mr-cal in #4768
Full Changelog: 8.2.1...8.2.2
8.2.1
Core
The release of 8.2.1
fixes some regressions with core24
snaps and some improvements to the remote-builder.
core24
- Project variables are now evaluated in a
snapcraft.yaml
and available as environment variables in the build environment. - Root-level part keywords
build-packages
andbuild-snaps
support advanced grammar. - Local key assets in
snap/keys
are used when installing package repositories.
Remote build
gpg
anddirmngr
are installed at runtime for projects with package repositories. This allows remote builds of core24 snaps with package repositories.
Known issues
- Project variables
CRAFT_PROJECT_NAME
andCRAFT_PROJECT_VERSION
are not evaluated (canonical/craft-application#320). snapcraft list-plugins
does not work in core24 project directories (#4742)- Advanced grammar cannot be used alongside other data types (#4764)
- Snapcraft does not evaluate project variables added by extensions in core24 (#4771)
CRAFT_ARCH_BUILD_FOR
andCRAFT_ARCH_TRIPLET_BUILD_FOR
use the build on architecture (#4770)
What's Changed
- tests: fix devel base snap test by @mr-cal in #4755
- fix: install gpg and dirmngr in core24 builds by @tigarmo in #4754
- fix: set project variables for core24 by @mr-cal in #4757
- tests: add tests for advanced grammar in root keywords by @mr-cal in #4753
- fix: use local keys for package-repos in core24 by @tigarmo in #4758
Full Changelog: 8.2.0...8.2.1
8.2.0
Core
core24
build-base: devel
is no longer required for core24
snaps.
Advanced grammar has been extended and can be used for all part keywords except plugin-specific keywords.
core24
known issues
- Root level part keywords do not support grammar LP#2061603
- Project variables (such as
$CRAFT_ARCH_BUILD_FOR
) are not evaluated in a snapcraft.yaml (#4704) - Snaps using the
gnome-extension
can only be built in environments where thecore24
snap is already installed because thecore24
snap is still in beta. - Remote builds of snaps with PPAs may fail to build (#4740)
Remote build
The new remote-builder introduced in snapcraft 8.0 has been upstreamed to craft-application and improved.
Remote build changes
- Only one remote build is allowed per project. Previously, multiple builds could run for a project.
snapcraft remote-build --recover
does not accept a build-idsnapcraft remote-build
does not accept the deprecated--build-on
parameter. Use--build-for
instead.- Launchpad credentials have moved from
$XDG_DATA_DIR/snapcraft/provider/launchpad/credentials
to$XDG_DATA_DIR/snapcraft/launchpad-credentials
. - Instead of falling back to the legacy remote-builder, snapcraft will fail if a project is not in the top level of a git repository or is shallowly clone.
Reminder: Legacy remote-build behavior can be used for bases core22
and older with the environment variable SNAPCRAFT_REMOTE_BUILD_STRATEGY="force-fallback"
. See more information in the documentation.
What's Changed
- chore(deps): update dependency idna to v3.7 [security] by @renovate in #4726
- feat(remote)!: use craft-application remote build for core22 by @syu-w in #4724
- chore(deps): update dependency pytest-cov to v5 by @renovate in #4730
- chore(deps): update dependency craft-grammar to v1.2.0 by @renovate in #4731
- fix(providers): do not install snapd from edge by @mr-cal in #4733
- feat: drop
build-base: devel
requirement for core24 by @mr-cal in #4734 - tests: expand regex for
hello
package by @mr-cal in #4739 - chore(deps): update dependency craft-application to v2.5.0 by @renovate in #4738
- chore: mark gnome-extension experimental for core24 by @mr-cal in #4736
Full Changelog: 8.1.0...8.2.0
8.1.0
New features
Core
Finalized support for core24
Snapcraft builds core24
snaps via craft-application. The integration of craft-application into Snapcraft is complete, which means the build behavior for core24
snaps is finalized. See more details on deprications and changes in the core24
migration guide.
Snap Components
Components are parts of a snap that can be built and uploaded in conjunction with a snap and later optionally installed beside it. Components are defined with a top-level components
keyword in a snapcraft.yaml
.
Snapcraft allows building and uploading components. Documentation and ecosystem-wide support (i.e. snapd and the Snap Store) are still in progress, so components are not ready for production use.
Remote build
The remote-builder supports user-defined Launchpad projects (including private projects) for core24
snaps. This is configured via snapcraft remote-build --project <project-name>
. Support for other bases will be available in an upcoming release.
Plugins
Matter SDK
The Matter SDK plugin allows for creating Matter applications for core22
snaps. See the Matter on Ubuntu docs for information on Matter.
Maven
The Maven plugin can be used for core22
snaps.
QMake
The QMake plugin can be used for core22
snaps.
Colcon
If a build-type is not provided (i.e. colcon_cmake_args: ["-DCMAKE_BUILD_TYPE=Debug"]
), then the default build type will be RELEASE
.
Extensions
KDE Neon 6
The kde-neon-6
extension can be used for core22
snaps that use Qt6 or the KDE Neon 6 framework.
Thanks to @ScarlettGatelyMoore for KDE Neon and QMake support.
What's Changed
- build(deps): update dependencies by @lengau in #4504
- Colcon plugin: use release build by default by @MirkoFerrati in #4502
- ci: pin pyright to 1.1.344 by @mr-cal in #4512
- chore(deps): bump version of Chisel by @tigarmo in #4522
- ci: update PR template to use tox commands by @mr-cal in #4507
- chore(deps): update github actions (major) by @renovate in #4500
- build(deps): bump jinja2 from 3.1.2 to 3.1.3 in /docs/.sphinx by @dependabot in #4518
- build(deps): bump craft-providers to 1.21.0 by @mr-cal in #4530
- chore(deps): update dependency packaging to v23 by @renovate in #4531
- chore: 8.0.2 hotfixes by @sergiusens in #4535
- fix(lifecycle): return correct base when using devel for build-base by @syu-w in #4523
- chore(deps): update black and pyright by @syu-w in #4550
- build(deps): bump craft-providers to 1.22.0 by @mr-cal in #4552
- chore(deps): update dependency platformdirs to v3.11.0 by @renovate in #4509
- feat(craft-application): initial support by @syu-w in #4560
- feat!: fail if we know the project is core24 by @tigarmo in #4557
- feat: implement core24 "pack" command by @tigarmo in #4565
- chore: merge 8.0.3 hotfix into main by @sergiusens in #4574
- ci: use GH/JIRA integration bot by @sergiusens in #4577
- feat(providers): use core24 buildd daily image for devel by @mr-cal in #4532
- test: fix spread multipass backend by @syu-w in #4571
- extensions/desktop: don't preload bindtextdomain for wine snaps by @mmtrt in #4501
- build(deps): use craft-application from main branch by @lengau in #4573
- fix: do not propagate build-base to snap.yaml by @sergiusens in #4580
- fix(tests): upload a larger snap by @sergiusens in #4583
- chore: merge main into feature/craft-application by @sergiusens in #4585
- lifecycle commands by @sergiusens in #4584
- refactor: move core22 commands for versioned implementation by @syu-w in #4586
- fix(application): attrs & tests for build planner by @lengau in #4588
- chore(deps): update dependency cryptography to v42 [security] by @renovate in #4564
- chore(spread): add more 22.04 workers for the google backend by @sergiusens in #4593
- tests(spread): remove core24 ros2 extension linter tests by @sergiusens in #4595
- fix(lifecycle): install 'core24' snap by @tigarmo in #4594
- fix(tests): expect the proper libpng version in core24 linter test by @sergiusens in #4597
- KDE: new content pack update. by @ScarlettGatelyMoore in #4403
- chore(deps): update dependency cryptography to v42.0.4 [security] by @renovate in #4598
- fix(tests): core24 classic linter test expectations by @sergiusens in #4600
- build(lint): use ruff from snap by @lengau in #4602
- feat(lifecycle): add deprecated snap command by @syu-w in #4589
- feat(app): support extensions in core24 by @tigarmo in #4606
- fix(application): support snap/craft environment variables by @mattculler in #4607
- feat: use craft-application project variables by @cmatsuoka in #4601
- fix(package): use correct target-arch on snap by @tigarmo in #4596
- feat(craft-application): migrate version command by @syu-w in #4614
- fix: alias project-type to type by @syu-w in #4620
- feat(craft-application): support root packages for core24 by @syu-w in #4617
- chore(spread): enable pkg-repo tests for core24 by @sergiusens in #4621
- build(deps): bump craft-providers to 1.23.0 by @mr-cal in #4623
- build(deps): bump craft-providers to 1.23.0 by @mr-cal in #4625
- fix: use VersionStr in model and add write test by @sergiusens in #4626
- feat: allow for overriding project asset handling by @sergiusens in #4628
- chore: merge 8.0.4 changes into main by @sergiusens in #4631
- chore: merge main into feature/craft-application by @sergiusens in #4633
- feat!: deprecate enable-manifest and manifest-image-information by @syu-w in #4618
- feat(lifecycle): generate snap manifest by @cmatsuoka in #4611
- chore: spread cleanup by @sergiusens in #4634
- Spread restore no abort by @sergiusens in #4637
- tests: replace mock methods removed in Py3.12 by @lengau in #4640
- fix(application): use SNAPCRAFT_MANAGED_MODE everywhere by @mattculler in #4638
- feat: enable patchelf for core24 by @lengau in #4639
- tests: make parametrized unit test order determinable by @lengau in #4641
- feat: setup_assets for core24 metadata by @sergiusens in #4622
- feat: adopt more fields from the appstream metadata file by @soumyaDghosh in #4613
- feat(docs): pull in content from craft-parts by @tigarmo in #4635
- fix(application): fallback earlier for managed core20 by @tigarmo in #4642
- feat: add platforms and drop architectures for core24 by @mr-cal in #4630
- Plugins: Enable qmake for core22 by @ScarlettGatelyMoore in #4162
- fix: update to craft-application latest by @mr-cal in #4659
- refactor(test): versioned remote-build tests by @syu-w in #4660
- fix: use "devel" bases on build plan by @tigarmo in #4663
- feat(app): ...
8.0.5
What's Changed
- build(deps): bump craft-providers to 1.23.1 by @sergiusens in #4673
Full Changelog: 8.0.4...8.0.5
7.5.5
What's Changed
- build(deps): bump craft-providers to 1.20.1 by @mr-cal in #4462
- chore: remove deprecated parameter
build-base
by @mr-cal in #4505 - build(deps): bump craft-providers to 1.20.2 by @sergiusens in #4675
Full Changelog: 8.0.4...7.5.5
8.0.4
8.0.3
What's Changed
- style(remote): reword git error messages by @mr-cal in #4536
- fix: warning unsafe override-prime by @syu-w in #4553
- chore(deps): bump craft-parts to 1.26.2 by @cmatsuoka in #4572
- build(deps): bump craft-providers to 1.22.0 by @mr-cal in #4551
- fix(lifecycle): return correct base when using devel for build-base by @syu-w in #4523
- fix(remote): parse comma-separated architectures by @mr-cal in #4543
- fix: warn for override-prime and patchelf by @syu-w in #4553
Full Changelog: 8.0.2...8.0.3