Issue & PR triage
Loading...
Showing 100 of 138 issues
| Issue | Title | Author | Age | Action | Staleness ↑ | Confidence | Summary |
|---|---|---|---|---|---|---|---|
|
craft-application pr #650 |
chore: mark redundant functions as deprecated. | lengau | 575d | close stale | 92 | 60 | Marks redundant functions as deprecated across 15 files. Open 563 days with no reviews, comments, or CI. Deprecation work appears superseded by subsequent PRs (#660, #768, #1078) and codebase has evolved through multiple major versions. |
|
craft-application pr #973 |
Test qa.yaml with starflow PR #101 changes | Copilot | 277d | close stale | 90 | 85 | Temporary test PR pinning qa.yaml starflow workflow refs to @copilot/use-pristine-ubuntu-action branch for cross-repo validation of starflow PR #101. 266 days old, zero activity, target file has since been modified multiple times. |
|
craft-application pr #647 |
perf(tests): remove duplicate fixtures | lengau | 575d | close stale | 85 | 65 | Removes duplicate test fixtures from tests/conftest.py now that the pytest plugin (merged in #645/#653) provides them. 564 days old, 0 comments, no review, pending. Codebase has evolved significantly since. |
|
craft-application pr #656 |
docs: add a reference page about the Application | lengau | 569d | close stale | 85 | 70 | Adds docs/reference/application.rst documenting the Application and AppMetadata classes. 558 days old, 0 comments, 0 reviewers, no CI. The file now exists in main, suggesting it was merged or superseded. |
|
craft-application pr #1162 |
fix: fail fast on unsupported lifecycle bases | lengaubot | 24d | close stale | 85 | 75 | Moves unsupported-base check before lifecycle init to fail fast. PR is inactive (18 days, 0 comments) and appears superseded by merged PR #263 which implements the same base compatibility check. |
|
craft-application pr #929 |
docs: add a preview page for reusing packages | lengau | 345d | close stale | 85 | 85 | Draft docs PR adding a preview page for reusing packages between builds and preparing the 5.11.0 release. Marked draft by the author on 2025-10-01; the same page was merged via #920 and shipped in 5.11.0, so the PR is superseded. |
|
craft-application issue #297 |
Provide a unified way to get the current build's BuildInfo | lengau | 890d | close stale | 85 | 80 | Feature request to add a unified accessor for the current build's BuildInfo, validating the plan has exactly one entry. Implemented via AppService._build_info in PR #911, which raises EmptyBuildPlanError or MultipleBuildsError as requested. |
|
craft-application pr #664 |
feat: add line number to error messages | alesancor1 | 562d | needs review | 85 | 55 | Adds line numbers to error messages across 9 files (+157/-14). Pending review, 1 unresolved comment, no CI results, no changelog entry. Last activity 451 days ago (2025-03-17). |
|
craft-application issue #222 |
Specify a project's lifecycle | lengau | 933d | needs triage | 80 | 60 | Design task to define and document Project lifecycle in craft-application: creation, mutation (adopt-info), and command/service interaction. Unlabelled, no maintainer response, inactive 465 days. |
|
craft-application issue #354 |
Prefer `--use-lxd` over `CRAFT_BUILD_ENVIRONMENT` | mr-cal | 833d | needs triage | 80 | 75 | CLI flag --use-lxd is ignored when CRAFT_BUILD_ENVIRONMENT=host is set; _use_provider() in lifecycle.py doesn't check the flag before the env var. Untriaged, no labels or maintainer response; bug still present in current code. |
|
craft-application issue #816 |
Config service should check whether the program is running in the app's snap | lengau | 421d | needs triage | 78 | 82 | SnapConfigHandler uses snaphelpers.is_snap() instead of checking the app's specific snap name; the is_running_from_snap() utility exists but is unused here. Unaddressed for 410 days with no labels or maintainer response. |
|
craft-application pr #1038 |
ci(spread): switch from manually running spread to using snapcraft test | lengau | 176d | close stale | 78 | 78 | CI config change to run spread tests via `snapcraft test` instead of manually. 165 days old, 0 reviews, CI failing on all craft-test jobs. Target file spread.yaml since deprecated in favor of <app-name>-test.yaml (#1168). |
|
craft-application issue #261 |
Commands cannot always load projects with advanced grammar | mr-cal | 914d | keep open | 78 | 70 | Commands fail to load projects using advanced grammar when no build-for or platform is provided. Open since 2024-03, no maintainer response beyond a Jira sync bot; fix approach (loading only some project items) still unimplemented. |
|
craft-application pr #795 |
fix(init): exit parent template dir context after using it | jonathan-conder | 438d | close stale | 78 | 72 | Fix init command to keep parent template dir context active during use; changes requested by 2 reviewers with 8 unresolved comments, no author response in ~10 months, CI failing on test jobs. |
|
craft-application pr #954 |
Add agents.md documentation for AI coding assistants | Copilot | 310d | close stale | 78 | 72 | Adds agents.md with AI coding assistant docs for dev workflow. Stuck in changes_requested with 59 unresolved comments for ~9 months; project since adopted .github/instructions/ and Copilot Collections. |
|
craft-application issue #306 |
Fix & re-enable test checking for snaps | lengau | 884d | keep open | 75 | 80 | Maintainer task to fix and re-enable the commented-out test_get_basic_items integration test in tests/integration/launchpad/test_anonymous_access.py, which broke when the author added a private snap. Still commented out at HEAD with a TODO referencing this issue; dormant since April 2024. |
|
craft-application pr #899 |
test: simpler checker no-op for grammar | lengau | 367d | keep open | 75 | 72 | Simplifies the grammar checker no-op in craft_application/grammar.py (+1/-8 lines). Approved by 1 reviewer, all CI passing, but unmerged for 356 days. The self_check function and checker=self_check still exist in main. |
|
craft-application issue #262 |
Refactor how managed mode and provider are determined | mr-cal | 914d | needs triage | 75 | 72 | Technical debt: consolidate managed-mode and provider determination (currently in 2 places) into one earlier step in craft-application. Code still exhibits the split structure; no labels, no maintainer response, 15 months inactive. |
|
craft-application issue #692 |
internal errors for `all` platform | mr-cal | 536d | needs triage | 75 | 72 | Pydantic internal error when using 'all' as a platform name in platforms dict instead of a user-friendly validation message. Code still skips vectorising 'all' platforms, leaving them as None. Open 525 days, unlabelled, no maintainer interaction beyond Jira bot. |
|
craft-application issue #350 |
Incorrect part name when cd-ing when within the build environment | sergiusens | 843d | needs triage | 75 | 70 | Shell prompt in snapcraft build --shell-after shows wrong part name ('parts' instead of 'digikam') when cd-ing into a part's build dir. Bug in craft_application/misc/instance_bashrc part-name detection. No maintainer response, no labels, 465 days since last activity. |
|
craft-application issue #676 |
Use a different instance name when using the fetch service | lengau | 554d | needs triage | 75 | 70 | Feature request to use a distinct provider instance name when the fetch service is enabled, preventing fetch-service runs from destroying the normal build instance. No maintainer response, labels, or linked PRs; last activity 465 days ago. |
|
craft-application issue #869 |
State service doesn't catch permission errors in XDG_RUNTIME_DIR | mr-cal | 385d | keep open | 75 | 78 | State service crashes with an internal error when XDG_RUNTIME_DIR is not writable, since _create_state_dir only catches FileExistsError. Should raise a user-friendly error or fall back to the home temp dir. Unfixed at HEAD; no comments in over a year. |
|
craft-application issue #719 |
Raise an error for unfiltered build plans | mr-cal | 526d | needs triage | 75 | 78 | create_build_plan() has undefined behavior when platforms, build_for, and build_on are all None (dedupes to one build-on per platform). Requests raising an error. No labels or maintainer reply beyond a Jira bot; behavior still present in current code. |
|
craft-application issue #370 |
Bad error report when the lxd instance is already running | tigarmo | 800d | needs triage | 75 | 60 | craftapp pack fails with a confusing 'Failed to start' LXDError when a prior crashed pack left the LXD instance running; the underlying lxc error 'The instance is already running' is not surfaced. Untriaged, no maintainer response, last activity 465 days ago. |
|
craft-application pr #1007 |
fix(craft-test): enable spread tests with 26.04 backends | bepri | 218d | close stale | 75 | 60 | Adds temporary workaround to enable spread tests on ubuntu-26.04 backends by using ubuntu-daily:26.04 images. PR is 207 days old with no review activity; the 26.04 backend support was later added via PR #1155 and test infrastructure was restructured in #1168. |
|
craft-application pr #649 |
feat(ProviderService): deprecate work_dir on instance | lengau | 575d | needs review | 75 | 80 | Deprecates work_dir parameter on ProviderService.instance() in favor of self._work_dir. Approved but stale (451 days inactive) with failing CI (fast tests, lint, min deps). Related to open issue #606. |
|
craft-application issue #833 |
`test` command gives unhelpful error message if extension file is not executable | lengau | 408d | needs triage | 75 | 78 | test command fails with a confusing 'backend craft allocate must print ADDRESS' error when spread/.extension lacks the executable bit; open, unlabelled beyond Type: Bug, no comments or fix found in current code. |
|
craft-application issue #506 |
Allow craft tools to function inside a LXD parent container when performing... | flotter | 706d | close stale | 75 | 78 | Request to support nested LXD managed builds (craft tools in a LXD parent container, e.g. Spread LXD backend), needing idmap range agreement. Maintainer asked for workaround details in Oct 2024; no reporter response since. |
|
craft-application issue #479 |
Application: treat CraftError-like exceptions as CraftErrors | lengau | 722d | needs triage | 75 | 70 | Application should treat exceptions following CraftError's message/resolution pattern as CraftErrors instead of converting them to internal errors. Open since 2023, last activity 465 days ago, no labels or maintainer response beyond a Jira sync bot comment. |
|
craft-application issue #939 |
Bad error handling for shutil errors | lengau | 332d | close stale | 75 | 72 | Poor error display for shutil errors during parts execution. Current code catches OSError in LifecycleService.run() and formats via PartsLifecycleError.from_os_error; referenced craft-parts#1366 is closed. |
|
craft-application issue #770 |
Pack command output option is inconsistent | cmatsuoka | 476d | keep open | 75 | 80 | Pack command --output behaves inconsistently: paths outside the project root silently drop artifacts inside the build instance. Triaged bug (Jira CRAFT-4580); no fix found in current code, which still has the same --output handling. |
|
craft-application issue #395 |
Put public utility items in the top-level namespace | lengau | 779d | needs triage | 75 | 80 | Feature request to re-export public utility functions (e.g. get_host_architecture) in the top-level craft_application namespace. Unlabelled, 0 comments, no activity for ~15 months; not implemented in current code. |
|
craft-application issue #549 |
Spec and prototype omitting the traceback for known user errors | tigarmo | 673d | needs triage | 75 | 60 | Design a mechanism to suppress craft-tool tracebacks for known user errors (e.g. plugin build failures) to reduce log noise. Open since 2023, tracked as CRAFT-3655, no maintainer response beyond the Jira sync bot. |
|
craft-application issue #698 |
Some valid `spread.yaml` files don't get parsed correctly. | lengau | 535d | needs triage | 75 | 60 | Bug report that some valid spread.yaml files accepted by spread fail to parse in craft's test command, e.g. a backend systems list containing a plain string like 'ubuntu-18.04-64'. No maintainer response or labels; only an auto Jira-sync bot comment. Likely already fixed by PR #737 (accept string system models). |
|
craft-application issue #606 |
Remove `work_dir` argument from `ProviderService` methods | mattculler | 604d | needs triage | 75 | 80 | Refactor request to remove redundant work_dir arguments from ProviderService methods in favor of self._work_dir. Open since 593 days ago with only a bot ticket sync and a failed reproduction attempt; no labels or maintainer triage. |
|
craft-application issue #741 |
Refactor to return packaged resource names | cmatsuoka | 506d | keep open | 75 | 65 | Maintainer-authored refactor task to make the package service's pack method return resource names so the temporary resource_map property can be removed. Still open, unlabelled, and inactive for ~15 months; the property remains in current code. |
|
craft-application issue #722 |
test: CI backend needs to be system-specific | lengau | 519d | needs triage | 75 | 55 | CI backend for spread tests needs to be system-specific; references a commit and has an internal Jira ticket (CRAFT-4472) but no maintainer response or labels. |
|
craft-application issue #682 |
Upstream Charmcraft's store service | mr-cal | 543d | needs triage | 75 | 70 | Request to upstream Charmcraft's store service into craft-application to de-duplicate code. Open 532 days with only an auto-generated Jira sync comment (CRAFT-4336); no labels, assignee, or maintainer response. Store service still not present in craft_application/services. |
|
craft-application issue #1092 |
Some tests will require the charm plugin to be enabled | lengau | 88d | needs triage | 75 | 80 | Test configuration requires enabling the charm plugin following upstream charmcraft#2722; currently unlabelled and awaiting maintainer review. |
|
craft-application issue #424 |
Surface deprecation warnings when loading the project model | lengau | 756d | needs triage | 75 | 70 | Feature request to surface pydantic deprecation warnings when loading the project model, enabling clean field deprecation without workarounds. Unlabelled, no comments, inactive for 15 months. |
|
craft-application issue #24 |
YAML loading either needs simplification or better testing | lengau | 1191d | needs triage | 75 | 55 | Maintainer self-filed task to simplify or add tests for the YAML loader's questioned except clause; no maintainer triage, labels, or follow-up since 2024-03. |
|
craft-application issue #379 |
Use predefined exit codes | mattculler | 794d | keep open | 72 | 80 | Refactor request to replace hardcoded sysexits.h magic numbers with os.EX_* constants in application.py, errors.py, remotebuild.py, and to expose error exit codes for tests. PR #387 merged and fixed the simple cases; 128+SIGINT and a few magic numbers (77/75) remain. |
|
craft-application issue #787 |
Validate spread expressions before packing in `*craft test` | lengau | 455d | needs triage | 72 | 78 | Enhancement to validate spread test expressions before the packing step in craft test, so users get fast feedback on invalid expressions instead of waiting for a full pack cycle. Filed by a maintainer 444 days ago with no comments or further triage. |
|
craft-application pr #894 |
feat: allow title to have only one character | alesancor1 | 371d | needs review | 72 | 70 | Reduces project title min_length from 2 to 1 so single-char names (valid per name regex) don't fail title validation. Pending, 0 reviewers, CI green, but maintainer disputes the approach and prefers tightening name to min 2 chars instead. |
|
craft-application issue #583 |
Redesign project file resolver | mr-cal | 645d | needs triage | 72 | 78 | Task to redesign project file resolver to search multiple locations and handle file-vs-directory edge cases. Still unimplemented in current code; no labels, no assignee, no maintainer engagement beyond auto Jira sync. |
|
craft-application issue #342 |
Utility to allow a `format` option for commands. | lengau | 855d | needs triage | 72 | 78 | Feature request from maintainer lengau to add a unified format option utility (add_format_argument, emit_formatted_output) for tabular command outputs. No labels, no implementation found in codebase, last activity was a bot Jira ticket 465 days ago. |
|
craft-application issue #105 |
Custom compatibility tags in the provider service | lengau | 1059d | needs triage | 72 | 80 | Feature request to add a per-app compatibility tag addendum to AppMetadata so downstream apps like charmcraft need not override ProviderService.get_base. Unlabelled, no maintainer activity since 2024-03; feature still unimplemented in current code. |
|
craft-application issue #713 |
Add an issues page field to the base application | bepri | 532d | needs triage | 72 | 70 | Feature request to add a mandatory issues_page field to the base application class for use in error messages, enabling apps to direct users to their bug-report platform. Unimplemented, no labels, no comments, last activity 465 days ago. |
|
craft-application issue #347 |
Improve platform validation error message | cmatsuoka | 848d | needs triage | 72 | 60 | Request to improve the cryptic pydantic validation error shown when platforms/build-on is malformed in a craft project file. No maintainer response or labels; only an auto Jira-sync comment. Current code already converts pydantic errors via CraftValidationError.from_pydantic, so the raw message may be outdated. |
|
craft-application issue #386 |
Explicitly separate public and private APIs | lengau | 787d | needs triage | 70 | 75 | Feature request to explicitly separate public and private APIs in craft-application (e.g. launchpad, remote modules) to prevent every change from becoming a breaking change. No labels, no comments, no assignee; last activity 465 days ago. |
|
craft-application issue #110 |
docs: Add developer documentation | lengau | 1057d | close stale | 70 | 65 | Request for developer documentation on how to use craft-application, so migrating an app doesn't require reading source. Labeled Type: Documentation, created by a maintainer; only a bot created an internal Jira ticket (CRAFT-2604). The repo now ships a full Diátaxis docs site (how-to, reference, explanation incl. app structure), so the ask is... |
|
craft-application issue #572 |
add ability to add / update run_managed env | dariuszd21 | 651d | needs triage | 70 | 75 | Feature request to add an _extra_managed_env() hook on Application so apps can extend the environment variables passed to managed runs, which are currently hardcoded in ProviderService.run_managed. Open since Nov 2024 with no maintainer response beyond the Jira sync bot; no labels or assignee. |
|
craft-application issue #721 |
Don't follow symlinks for remote-builds | mr-cal | 521d | keep open | 70 | 85 | Remote builds copy the project dir via copytree without symlinks=True, so symlinks are followed and failures surface as internal errors. Fix still unimplemented in worktree.py; triaged enhancement, still referenced by open snapcraft#5384. |
|
craft-application issue #960 |
Docs: In CLI messages, compose URLs with app's minor version | medubelko | 296d | needs triage | 70 | 55 | Docs: In CLI messages, compose URLs with app's minor version |
|
craft-application issue #670 |
Document best practices for craft-application test fixtures | lengau | 556d | needs triage | 70 | 75 | Request to write a how-to document describing best practices for setting up and using test fixtures in craft-application based apps. No labels, no maintainer response beyond an auto-created Jira ticket (CRAFT-4298). No fixture best-practices doc found in docs/how-to yet. |
|
craft-application issue #313 |
Support local key assets for package-repositories | tigarmo | 876d | close stale | 70 | 85 | Feature request to support local key assets for package-repositories (local dir was always /dev/null). Implemented by merged PR #317 adding an overridable _get_local_keys_path hook; issue is inactive and can be closed. |
|
craft-application issue #435 |
Include appropriate craft-parts environment variables when packing with... | lengau | 743d | needs triage | 70 | 75 | Feature request to expose craft-parts environment variables (e.g. $CRAFT_STAGE) in the shell launched by --shell/--debug on lifecycle commands like pack, to speed up override-script debugging. Open, unlabelled, zero comments, no activity since ~465 days ago. |
|
craft-application issue #914 |
Allow building/packing multiple platforms in parallel. | lengau | 359d | keep open | 70 | 80 | Enhancement to run managed builds for multiple build-plan platforms in parallel instead of serially. Triaged by a maintainer with an internal Jira ticket (CRAFT-4779), but unimplemented; code still loops the build plan serially. |
|
craft-application pr #861 |
chore: prepare for Python 3.14 | lengau | 392d | keep open | 70 | 72 | Adds Python 3.14 and the experimental free-threaded build to CI (+3/-2, 2 files). Open 381 days with no review or comments; all test CI jobs failing. Author notes it must wait for PyO3 0.26; sibling craft-providers#808 is still open on the same blocker. |
|
craft-application issue #989 |
remote-build does not exit with error upon partially successful builds | zhijie-yang | 238d | needs triage | 70 | 75 | remote-build exits 0 even when some architectures fail on Launchpad, because _monitor_and_complete unconditionally returns 0. Unlabeled, no maintainer response, 227 days old; bug still present in current code. |
|
craft-application issue #875 |
Craft-application should include a schema JSON and a CI job to check the schema. | lengau | 380d | keep open | 70 | 80 | Enhancement to add a schema generator and CI schema-diff job to craft-application, modeled on rockcraft's tooling, so schema-affecting changes can be flagged in changelogs. Triaged by a maintainer but no implementation progress in ~12 months. |
|
craft-application issue #348 |
Rewrite default `_providers_base()` command. | mr-cal | 848d | needs triage | 70 | 55 | Maintainer task to make Project._providers_base() translate the 'devel' base name to BuilddBaseAlias.DEVEL (and update effective_base). Open since May 2024, last activity May 2024; current code still relies on craft-providers' get_base_alias rather than an explicit devel translation. |
|
craft-application issue #881 |
Rewrite the development base check to use distro-support | lengau | 378d | keep open | 70 | 75 | Enhancement to replace hard-coded development base checks with distro-support for runtime validation. Triaged by maintainer but inactive for ~12 months; hard-coded DEVEL_BASE_INFOS still present in models/project.py. |
|
craft-application pr #1133 |
test(spread): make LXD refresh in prepare more reliable | lengau | 58d | needs review | 70 | 65 | Retry only the known LXD auto-refresh transient error in spread prepare to avoid hard failures. Has 1 unresolved review comment, 49 days of inactivity, and failing CI checks. |
|
craft-application issue #1086 |
Remove BuilddBaseAlias string-match guard in handle_runtime_error | tonyandrewmeyer | 101d | needs triage | 70 | 60 | Issue about removing a string-match guard for BuilddBaseAlias ValueError in handle_runtime_error, blocked by craft-providers#969 |
|
craft-application issue #255 |
Properly represent multi-line yaml strings | cmatsuoka | 925d | close not a bug | 70 | 75 | Multi-line YAML strings (description, scriptlets) not using the block-style representer when marshaled. Maintainer confirmed dump_yaml already handles it correctly; the _repr_str representer is present and wired into dump_yaml in current code. |
|
craft-application issue #573 |
Improve API naming and scoping | sergiusens | 648d | needs triage | 70 | 75 | Refactor proposal to rename service classes (e.g. PackageService to Package) to reduce name repetition and improve API scoping. Unlabeled, no comments, no activity for ~15 months; the naming is still unchanged in the current codebase. |
|
craft-application issue #750 |
internal errors for platform string | mr-cal | 501d | keep open | 70 | 85 | testcraft pack crashes with AttributeError when a platform value is a string instead of a dict. The bug is still present in current code; _vectorise_platforms calls data.get() without guarding against str values. |
|
craft-application issue #915 |
Enforce that the build and run base are the same* base | lengau | 357d | needs triage | 68 | 72 | Feature request to enforce build-base must match base in the Project model, with defined exceptions (bare, devel, legacy overrides). Filed by maintainer, 1 comment, no labels, no assignee, inactive ~11 months. Code still lacks this enforcement. |
|
craft-application issue #928 |
Write documentation describing how to use reusable documentation snippets | lengau | 345d | keep open | 65 | 80 | Docs task: write a how-to for app developers on including Craft Application's reusable documentation snippets (docs/common). Open 334 days, no comments; snippets are actively used but the how-to is still missing. |
|
craft-application issue #909 |
`ProjectService` needs to be runtime configurable to determine whether ESM... | lengau | 360d | keep open | 65 | 75 | Enhancement: ProjectService.check_base_is_supported should be runtime-configurable so ESM bases count as supported, enabling Rockcraft's --pro feature to use ESM support as the --ignore=unmaintained cut-off. Triaged, open, no activity since creation ~11 months ago. |
|
craft-application issue #985 |
Support Snapcraft advanced grammar in plugin parameters? | brlin-tw | 250d | keep open | 65 | 80 | Feature request to support advanced grammar (on/to/else) in plugin parameters like cmake-parameters for arch-specific build flags. Triaged by maintainers in Jan 2026, confirmed valid but requiring extra work; no progress since. |
|
craft-application issue #662 |
Add reference docs for the pydantic models | lengau | 563d | keep open | 65 | 75 | Request to add reference documentation for craft-application's Pydantic models, including reasons for defaults. Partially addressed: project.rst and platforms.rst exist in docs/reference/models/, but full scope (all models, default rationale) appears incomplete. Inactive ~12 months; project remains very active. |
|
craft-application issue #993 |
`request` should be able to retry upon broken connections | zhijie-yang | 229d | needs triage | 65 | 80 | Request service download_chunks crashes with unhandled ChunkedEncodingError when a remote-build artifact download breaks mid-transfer, forcing a full rebuild. No retry logic exists in the code at HEAD; issue is unlabeled with no maintainer activity for ~7 months. |
|
craft-application issue #1101 |
remote-build: status indicator blocks interactive input | steinbro | 79d | needs triage | 65 | 75 | remote-build blocks interactive SSH input with a progress indicator when connecting to Launchpad for private projects without configured SSH keys. |
|
craft-application issue #546 |
'No such file or directory' if application is missing the templates dir | tigarmo | 687d | keep open | 65 | 75 | craft-application init command crashes with unhelpful FileNotFoundError when the application has no templates directory. Maintainers agreed to improve the error message but no PR was created. Bug still present in current code. |
|
craft-application pr #1082 |
fix(errors): render user-config and base-alias failures as structured errors | tonyandrewmeyer | 108d | needs review | 65 | 75 | Converts pydantic ValidationError and base-alias lookup failures into structured CraftValidationError with user-friendly messages instead of raw tracebacks. Approved by 2 reviewers but has 11 unresolved review comments and 53 days of inactivity. |
|
craft-application issue #434 |
Provide a way to write machine-readable output to stdout for `pack` | lengau | 744d | needs triage | 65 | 75 | Feature request for an opt-in machine-readable (JSON) output option for the pack command, plus docs so craft apps can expose the same for their own commands. Unimplemented at current HEAD; no labels or comments. |
|
craft-application issue #1127 |
Linter service clears lint results too greedily | bepri | 60d | needs triage | 65 | 75 | LinterService.run() clears collected issues on each call, losing PRE stage results when POST is also run. Valid bug, untriaged for 53 days. |
|
craft-application issue #561 |
Prototype spread extension mechanism (test driver) | cmatsuoka | 662d | needs triage | 65 | 55 | Feature request to prototype a spread extension script (test driver) that handles prepare/restore actions and ad-hoc testing backends, decoupling test implementation from craft-application command handling. A spread/.extension script for LXD VM allocate/discard exists in the repo, suggesting partial implementation. |
|
craft-application issue #1119 |
Prepare instance environment in LP builds | cmatsuoka | 67d | keep open | 65 | 70 | Issue about configuring proxy settings for Launchpad build instances. Triaged but inactive for 61 days with no implementation started. |
|
craft-application issue #685 |
overlayfs tests break on plucky | lengau | 542d | needs triage | 62 | 75 | Overlayfs integration test test_package_repositories_in_overlay fails on Ubuntu Plucky due to AppArmor denying fusermount3 mount operations. No maintainer response, no labels, no fix committed in ~15 months. |
|
craft-application issue #295 |
Store the user's Launchpad credentials in a keyring when available | lengau | 891d | needs triage | 62 | 75 | Feature request to store Launchpad credentials in the OS keyring (via craft-store/launchpadlib) with a file fallback, instead of always writing them to a file. Open, unlabelled, no maintainer response beyond the Jira-sync bot; still unimplemented in the launchpad client. |
|
craft-application issue #793 |
Opt-in configuration to always use git+ssh for remote builds | lengau | 442d | keep open | 62 | 80 | Enhancement to add an opt-in config for always using git+ssh in remote builds instead of HTTPS for public repos. Triaged by maintainer, no implementation yet; code still uses HTTPS for public repos. |
|
craft-application issue #922 |
Reference documentation about services in general | lengau | 351d | keep open | 60 | 70 | Documentation task to expand and rename docs/reference/services/app.rst to better describe services in general, making AppService secondary. Triaged with Jira ticket CRAFT-4802, but no work done in 340 days. |
|
craft-application issue #982 |
Publish testcraft from PRs to relevant branches | lengau | 267d | keep open | 60 | 78 | CI enhancement to publish testcraft snap from PRs/main to dedicated latest/edge branches with install-command PR comments. Triaged by maintainer, blocked on canonical/craft-actions#48 (still open), no activity in 256 days. |
|
craft-application issue #249 |
remote build: provide a way to clean up all of a user's remote builds | lengau | 927d | keep open | 58 | 78 | Enhancement request for a clean-remote-builds command that deletes all stopped remote builds in the user's Launchpad remote-build project. Triaged by a maintainer and synced to internal ticket CRAFT-2558, but the command is not yet implemented. |
|
craft-application issue #327 |
Support argument list passthrough | cmatsuoka | 865d | keep open | 55 | 70 | Enhancement to allow raw CLI argument passthrough to spread in the test command, addressing double-dash vs single-dash inconsistencies. Open since 2023, no implementation found in current code. |
|
craft-application issue #99 |
Means to reduce duplication of plugin fields | sed-i | 1198d | keep open | 55 | 60 | Feature request for a top-level 'definitions' section in craft app YAML to reduce duplication of recurring repo/source fields via anchors. Transferred to craft-application; maintainer sought opinion on approach (similar to grammar changes) in March 2024, no resolution since. |
|
craft-application pr #967 |
feat: craft testing backend for lp-test | cmatsuoka | 281d | needs review | 55 | 60 | Adds an lp-test backend to the craft testing service (testcraft) for running tests against Launchpad. 311/25 lines across 4 files. CI green, but 11 unresolved review comments and no approvals; last activity was a maintainer asking if it still needs review (203 days ago). |
|
craft-application issue #1034 |
`test` command fails to allocate LXD VMs when verbosity is `verbose` or `debug` | lengau | 178d | keep open | 55 | 60 | test command fails to allocate LXD VMs when verbosity is verbose or debug; spread backend allocate command returns empty ADDRESS. Triaged, no fix yet. |
|
craft-application issue #485 |
Provide a better error message when loading a multi-document yaml | lengau | 721d | needs triage | 55 | 72 | Request to improve the error message when loading multi-document YAML files, currently showing a raw ComposerError instead of a clear 'not supported' message. Untriaged, no labels, no maintainer response since the Jira bot comment. |
|
craft-application issue #241 |
Launchpad: Handle invalid credentials files better | lengau | 928d | keep open | 55 | 75 | Enhancement to catch configparser errors from invalid Launchpad credentials files and retry login after deleting the file. Triaged by maintainer 2.5 years ago; code in launchpad.py still has no such handling. Inactive for ~7 months. |
|
craft-application issue #248 |
remote build: If a build with the given name already exists, ask the user... | lengau | 927d | keep open | 55 | 70 | Enhancement: when starting a remote build whose name already exists, prompt the user to recover or cancel-and-recreate instead of erroring. Triaged by a maintainer; last activity 215 days ago, no fix in code yet. |
|
craft-application issue #991 |
Add a prune-instances command | mr-cal | 233d | keep open | 55 | 75 | Feature request for a prune-instances command in craft-application to remove non-base provider instances, with optional provider flags and tests. Unimplemented; blocked on craft-providers work; still needed by charmcraft#1042. |
|
craft-application pr #1003 |
docs: Add reference documentation for the RemoteBuildService | lengau | 225d | needs review | 55 | 78 | Adds 121 lines of reference documentation for RemoteBuildService across 2 files. CI passing, no reviews or comments. Author is a maintainer. Service still exists in codebase; target docs file not yet in main. |
|
craft-application pr #1058 |
feat: add prune instances | Aeonoi | 154d | close stale | 55 | 75 | Adds a prune-instances command to craft-application (closes #991), +249/-2 across 9 files. Author updated the craft-providers pin per maintainer guidance, but has been silent since 2026-05-05; 28 unresolved review comments and several failing CI checks remain. |
|
craft-application issue #458 |
Emit a warning when the fetch-service integration is enabled | tigarmo | 729d | close stale | 55 | 85 | Request to emit a warning when the fetch-service integration is enabled, so users know it is experimental. The warning was implemented in PR #496 and is present in the code; the issue is resolved but not yet closed. |
|
craft-application issue #540 |
Document parallel build count environment variables | mr-cal | 690d | keep open | 55 | 80 | Docs gap: CRAFT_PARALLEL_BUILD_COUNT and CRAFT_MAX_PARALLEL_BUILD_COUNT (and app-prefixed variants) are implemented in craft_application/util/system.py but not documented. Labeled enhancement/docs by a maintainer, open 679 days, no comments, still unaddressed. |
|
craft-application issue #806 |
Use `snapcraft test` for spread tests | lengau | 429d | keep open | 55 | 80 | Dogfooding task to switch craft-application CI from running spread directly to using snapcraft test. Triaged; open PR #1038 stalled ~165 days with failing CI; workflow still runs spread directly at HEAD. |