{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":44672744,"defaultBranch":"master","name":"snapd","ownerLogin":"canonical","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-10-21T11:51:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/53057619?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726171093.0","currentOid":""},"activityList":{"items":[{"before":"8745fb19212afad0c4a6736ddcb36aea1059b6a2","after":"3b2350f86836175017d8acb5571c17a7acc8661a","ref":"refs/heads/master","pushedAt":"2024-09-13T13:02:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andrewphelpsj","name":"Andrew Phelps","path":"/andrewphelpsj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136256549?s=80&v=4"},"commit":{"message":"o/snapstate: handle refreshing a snap that only has component revision changes (#14486)","shortMessageHtmlLink":"o/snapstate: handle refreshing a snap that only has component revisio…"}},{"before":"4571c81c55d9f1b83cab8bb2e55b631e5ac4858f","after":"fbf2da425e9a05d0ee410f07d09f37067a4658f1","ref":"refs/heads/fde-manager-features","pushedAt":"2024-09-13T10:10:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"pedronis","name":"Samuele Pedroni","path":"/pedronis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/975757?s=80&v=4"},"commit":{"message":"boot: move some functions to overlord/fdestate/backend","shortMessageHtmlLink":"boot: move some functions to overlord/fdestate/backend"}},{"before":"f60b3de32c62104c29a207d500ae5591e39f486d","after":"8745fb19212afad0c4a6736ddcb36aea1059b6a2","ref":"refs/heads/master","pushedAt":"2024-09-12T20:02:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"olivercalder","name":"Oliver Calder","path":"/olivercalder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45443514?s=80&v=4"},"commit":{"message":"s/apparmor: expand apparmor prompting support checks (#14448)\n\n* s/apparmor: expand apparmor prompting support checks\r\n\r\nPrompting cannot be supported if the kernel notification socket does not\r\nexist. Thus, add a check for its presence to PromptingSupportedByFeatures.\r\n\r\nHowever, this alone is not sufficient. The notification socket may be\r\nused for other purposes as well. When this becomes the case, a directory\r\nwill be added at `/sys/kernel/security/apparmor/features/policy/notify`.\r\nIf that directory exists, and it contains a file called `user`, which\r\ncontains the list of prompting mediation classes, then prompting is\r\nsupported on the system. If no file called `user` exists in that\r\ndirectory, but the directory itself exists, then we know prompting is\r\nnot supported.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: add missing feature to mocked features list in prompting support test\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* features: remove superfluous test of apparmor function which has in-situ test\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* Revert \"tests/main/interfaces-snap-interfaces-requests-control: disable on debian-sid\"\r\n\r\nThis reverts commit 66eb8624ce6620fcce738983881d350ebf24cb1f.\r\n\r\nDebian Sid reports prompting support in its AppArmor kernel and parser\r\nfeatures, the former because the upstream kernel has extended\r\npermissions merged (but non-functional), and the latter because we use\r\nvendored AppArmor with snapd. But the kernel does not actually support\r\nAppArmor prompting, as this requires patches from the Ubuntu kernel\r\nwhich have not yet been upstreamed.\r\n\r\nNow that we check for the presence of the kernel notification socket as\r\nwell as the AppArmor kernel and parser features, we can correctly\r\nidentify that prompting is not supported on Debian Sid.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* Revert \"tests/main/apparmor-prompting-snapd-startup: account for vendored apparmor on 22.04\"\r\n\r\nThis reverts commit 1ec413226a455a90be6faca5bfc1e5cae7ed1ad2.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* Revert \"tests: account for prompting supported on >= 22.04 with internal apparmor\"\r\n\r\nThis reverts commit a4e46bbc710731e1c327f2bab938d4dca056d3e7.\r\n\r\nOn Ubuntu LTS releases < 24.04, prompting is still not supported by the\r\nstandard (non-hwe) kernels. This is reflected in tests, now that\r\nAppArmor prompting support checks test for the presence of the kernel\r\nnotification socket.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor,tests: improve comments around apparmor prompting\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* tests: add debug checks for prompting support\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* tests: make prompting-related tests work on any supported ubuntu system\r\n\r\nUbuntu systems older than 24.04 are capable of supporting AppArmor\r\nprompting if they are running a new enough Ubuntu kernel.\r\n\r\nIn particular, the Ubuntu 22.04 image on GCP runs a 6.5 kernel which\r\nsupports prompting. Thus, if run on GCP, Jammy supports prompting, but\r\nif run on lxd, it does not.\r\n\r\nTherefore, checks for Ubuntu version are insufficient for spread to\r\nidentify whether prompting should be supported. Instead, check for the\r\npresence of the `prompt` directive in the permissions listed in\r\n`/sys/kernel/security/apparmor/features/policy/permstable32`.\r\n\r\nAny Ubuntu system which has `prompt` in that file should support\r\nprompting. This can't be the entirety of the check, because those\r\npermissions have been upstreamed to the Linux kernel, but other pieces\r\nwhich are required for prompting to function have not yet been\r\nupstreamed. Thus, Debian Sid reports supporting the prompt directive,\r\neven though prompting is not supported.\r\n\r\nTherefore, we must check that the system is Ubuntu, that it's not core,\r\nand that the `prompt` directive is supported.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: add test case when policy/notify/user file exists but does't include file\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: adjust prompting unsupported reason error messages\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: prompting support checks for permstable32_version >= 2\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: add TODO about using dirs instead of rootPath\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* o/c/configcore,s/apparmor: mock aa root path in prompting tests\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: trim whitespace from permstable32_version before parsing\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* s/apparmor: adjust prompting unsupported reason error messages to reference prompting\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n---------\r\n\r\nSigned-off-by: Oliver Calder ","shortMessageHtmlLink":"s/apparmor: expand apparmor prompting support checks (#14448)"}},{"before":"9a5d7ce4e872652a7a40cd9ae6b86c12ab7aa1d1","after":null,"ref":"refs/tags/2.65.3","pushedAt":"2024-09-12T19:55:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"}},{"before":"8ce1ec91edc877429d46fef8dacd224d5dee7c41","after":"f60b3de32c62104c29a207d500ae5591e39f486d","ref":"refs/heads/master","pushedAt":"2024-09-12T15:42:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ZeyadYasser","name":"Zeyad Yasser","path":"/ZeyadYasser","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13612175?s=80&v=4"},"commit":{"message":"cmd/snap: add --terminate flag to remove command (#14192)\n\nSigned-off-by: Zeyad Gouda ","shortMessageHtmlLink":"cmd/snap: add --terminate flag to remove command (#14192)"}},{"before":"ac5f81d3f5f9716c1a545c84760bc28ab6470024","after":"724b55e46652c5c65cdd69d2951b0ee32c420726","ref":"refs/heads/release/2.65","pushedAt":"2024-09-12T14:20:35.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"release: 2.65.3","shortMessageHtmlLink":"release: 2.65.3"}},{"before":"5789b8178031bf6a5b0a7da9b4f9ceb567198ad9","after":"8ce1ec91edc877429d46fef8dacd224d5dee7c41","ref":"refs/heads/master","pushedAt":"2024-09-12T12:09:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"maykathm","name":"Katie May","path":"/maykathm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63071677?s=80&v=4"},"commit":{"message":"tests: fixed coverage upload (#14493)","shortMessageHtmlLink":"tests: fixed coverage upload (#14493)"}},{"before":"60691f883e08397ad08ec5458cbf3e1f9ec20f9c","after":"5789b8178031bf6a5b0a7da9b4f9ceb567198ad9","ref":"refs/heads/master","pushedAt":"2024-09-12T10:07:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Meulengracht","name":"Philip Meulengracht","path":"/Meulengracht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10059902?s=80&v=4"},"commit":{"message":"tests: fix upload by changing from hidden directory","shortMessageHtmlLink":"tests: fix upload by changing from hidden directory"}},{"before":"d567eba5cf17e26de78319d0cae8d5c80701c157","after":"60691f883e08397ad08ec5458cbf3e1f9ec20f9c","ref":"refs/heads/master","pushedAt":"2024-09-12T07:09:51.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"Meulengracht","name":"Philip Meulengracht","path":"/Meulengracht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10059902?s=80&v=4"},"commit":{"message":"spread: fix typo: platforms\n\nSigned-off-by: Zygmunt Krynicki ","shortMessageHtmlLink":"spread: fix typo: platforms"}},{"before":"25e66bfc4669d2304079ecdfae6ae27f198c93f5","after":"d567eba5cf17e26de78319d0cae8d5c80701c157","ref":"refs/heads/master","pushedAt":"2024-09-11T23:22:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"many: consolidate prompting errors and add prompting error kinds (#14438)\n\n* many: consolidate prompting errors and add prompting error kinds\r\n\r\nRather than each prompting-related package defining and using their own\r\nerror types, define all named errors in the `interfaces/prompting`\r\npackage, and use them from elsewhere. This requires some adjustments to\r\nerror messages.\r\n\r\nAdditionally, add corresponding error kinds for all errors which can\r\noccur from API requests and are expected to be handled in a particular\r\nway by clients. These include most of the errors defined in the\r\nprompting package, but omits some which are expected to be strictly\r\ninternal errors.\r\n\r\nThus, clients can rely on error kinds rather than attempting to parse\r\nerror messages from the API.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* client,daemon: treat prompting backends being closed as internal errors and remove error kinds\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* daemon,interfaces/prompting: move RuleConflictError into i/prompting\r\n\r\nIn doing so, only implement marshalling for the RuleConflictError type\r\nin the daemon.\r\n\r\nAdditionally, when a rule conflict is encountered for one permission,\r\ncontinue testing remaining permissions, so that all conflicts can be\r\nreported in the error.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* daemon: remove unused prompting errorIsOneOf helper\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* many: simplify prompting error kinds and improve error robustness\r\n\r\nRather than having an error kind for each prompting-related error,\r\ninstead reduce to four total error kinds for prompting:\r\n- ErrorKindAppArmorPromptingNotRunning\r\n- ErrorKindInterfacesRequestsPromptNotFound\r\n- ErrorKindInterfacesRequestsRuleNotFound\r\n- ErrorKindInterfacesRequestsInvalidField\r\n\r\nErrors of kind ErrorKindInterfacesRequestsInvalidField make use of the\r\nAPI error's `Value` field. Namely, the `Value` field is a map from field\r\nname to a new `invalidFieldValue` struct. This struct contains an\r\n`\"invalid-reason\"` field and a `\"metadata\"` field.\r\n\r\nInvalid field errors can occur for three categories of reasons:\r\n1. unsupported value when there's a fixed set of supported values\r\n2. parse error when a field value is malformed\r\n3. validation error when a field value is valid, but the state of the\r\n system causes there to be an error (e.g. conflicting rule)\r\n\r\nFor the first two categories, we define a common error struct each which\r\ncan be adapted to particular error values within a given category. To\r\navoid a circular import from the interfaces/prompting/patterns package,\r\nthese error struct definitions are placed in\r\ninterfaces/prompting/errortypes, while all but the one error required by\r\npatterns defined in interfaces/prompting/errors.go as constructors of\r\nthose error structs.\r\n\r\nFor the third category, three particular errors can occur, and each has\r\na dedicated error struct which includes error-specific details in\r\nqueryable fields, as well as an identifier of which error occurred. This\r\nprovides prompting clients (and their users) information required to\r\nadjust and retry their request such that it is valid with the current\r\nstate of the system.\r\n\r\nAs part of introducing these new error structs, some prompting-related\r\nerror messages have changed. In particular, some details which were\r\npreviously included in error message strings are now included in struct\r\nfields which are marshalled in the API error value.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* many: move prompting errors to interfaces/prompting/errors package\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* i/prompting/errors: rename error constructors from err... to ...Error\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* client,daemon: added dedicated error kinds for former validation errors\r\n\r\nRather than keep the \"validation\" errors as special cases of the invalid\r\nfield error kind, instead add dedicated error kinds for them.\r\n\r\nThese errors are:\r\n- reply pattern does not match requested path\r\n- reply permissions do not include all requested permission\r\n- a rule with conflicting path pattern and permissions already exists\r\n\r\nFor the latter in partifular, it's not really an \"invalid field\" error,\r\nsince the combination of the \"path-pattern\" and \"permissions\" fields\r\nresults in a conflict with an existing rule, rather than one single\r\nfield being the problem.\r\n\r\nThere was additional confusion because for all these errors, the\r\nreceived values are well-formed, but the reply is rejected due to the\r\nstate of the system.\r\n\r\nWith these now having dedicated error kinds, the json error values can\r\nbe much simpler, including just the requested path and replied pattern,\r\nthe requested and replied permissions, and the details of the rule\r\nconflicts, respectively.\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* interfaces/prompting: simplify errors, use helper functions for creating new error instances\r\n\r\nAttempt to simplify prompting errors. Drop values that were not really error\r\nvalues and replace them with function helpers for creating corresponding error\r\nvalues.\r\n\r\nSigned-off-by: Maciej Borzecki \r\n\r\n* daemon: rename and minor refactor to handling of prompting errors\r\n\r\nDrop additional struct types in favor of simple auxiliary type definitions where\r\npossible.\r\n\r\nSigned-off-by: Maciej Borzecki \r\n\r\n* daemon,i/p/errors: adjusted prompting error internals and organization\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* daemon: flatten metadata field from prompting errors\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* many: consolidate error kinds for reply not matching request\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* daemon: remove \"invalid-\" prefix from prompting invalid field error json\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* daemon: add tests for prompting api error responses\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* daemon,i/prompting: make unsupported value errors always produce list of values\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* i/prompting/errors: use strutil.Quoted\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n---------\r\n\r\nSigned-off-by: Oliver Calder \r\nSigned-off-by: Maciej Borzecki \r\nCo-authored-by: Maciej Borzecki ","shortMessageHtmlLink":"many: consolidate prompting errors and add prompting error kinds (#14438"}},{"before":"722aef18d86e8f7804b0943fc93457cfa69ce229","after":"25e66bfc4669d2304079ecdfae6ae27f198c93f5","ref":"refs/heads/master","pushedAt":"2024-09-11T19:32:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"o/snapstate: add support for losing a component during a snap refresh (#14336)\n\n* o/snapstate: add currently installed components to the current snaps that are used with store actions\r\n\r\n* o/snapstate: put options for component refresh test into struct\r\n\r\n* o/snapstate: handle refreshing a snap that loses a currently installed component\r\n\r\n* o/snapstate: always initialize resources map that is sent to the store code\r\n\r\n* o/snapstate: build updatedCompRevisions with opts.postRefreshComponents","shortMessageHtmlLink":"o/snapstate: add support for losing a component during a snap refresh ("}},{"before":"718ba573a216859435eeaa10e73dcbd36d9c016e","after":"722aef18d86e8f7804b0943fc93457cfa69ce229","ref":"refs/heads/master","pushedAt":"2024-09-11T19:31:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"i/preseed, data: include components in preseed assertion during seed creation (#14450)\n\n* i/preseed: make sure to close opened file\r\n\r\n* i/preseed, data: handle components when building a preseeded image","shortMessageHtmlLink":"i/preseed, data: include components in preseed assertion during seed …"}},{"before":"2103a580a7f0f37fa22710484564f17b7a6afaa6","after":"718ba573a216859435eeaa10e73dcbd36d9c016e","ref":"refs/heads/master","pushedAt":"2024-09-11T08:10:15.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"Revert \"many: support killing running snap apps (#14160)\"\n\nThis reverts commit 5f7d584a3217a9937b26831e1880eee824601917.\n\nSigned-off-by: Zeyad Gouda ","shortMessageHtmlLink":"Revert \"many: support killing running snap apps (#14160)\""}},{"before":"c21532ea8f304cab1e1a2d7a0c6e3827e9c24077","after":"2103a580a7f0f37fa22710484564f17b7a6afaa6","ref":"refs/heads/master","pushedAt":"2024-09-10T19:36:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"o/snapstate: make sure to put aux info from store on SnapSetup (#14482)\n\n* o/snapstate: make sure to put aux info from store on SnapSetup\r\n\r\n* tests: add test that inspects aux info from snapd\r\n\r\n* tests: correct summary and details on spread test\r\n\r\n* tests: use snap-store for testing since it will always have some media","shortMessageHtmlLink":"o/snapstate: make sure to put aux info from store on SnapSetup (#14482)"}},{"before":"77c0d8b56f8bcbbf2e5369672de58b6ded16ecdf","after":"c21532ea8f304cab1e1a2d7a0c6e3827e9c24077","ref":"refs/heads/master","pushedAt":"2024-09-10T12:57:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"o/registrystate: create modify-registry tasks (#14445)\n\n* o/registrystate: create modify-registry tasks\r\n\r\nAdds a helper that attaches the appropriate tasks to gather approval,\r\nsave, commit and notify of a change to a registry. The specific approval\r\ngathering mechanism is described in SD133. This doesn't include the\r\ntask/hook handlers that deal with the specific but the whole picture can\r\nbe seen in https://github.com/canonical/snapd/pull/14283\r\n\r\nSigned-off-by: Miguel Pires \r\n\r\n* o/registrystate: make task kinds more specific\r\n\r\nSigned-off-by: Miguel Pires \r\n\r\n* o/registrystate: minor fix\r\n\r\nSigned-off-by: Miguel Pires \r\n\r\n---------\r\n\r\nSigned-off-by: Miguel Pires ","shortMessageHtmlLink":"o/registrystate: create modify-registry tasks (#14445)"}},{"before":"bef2969981588c6ac01881415401b6c852fb65b2","after":"77c0d8b56f8bcbbf2e5369672de58b6ded16ecdf","ref":"refs/heads/master","pushedAt":"2024-09-10T10:39:03.000Z","pushType":"pr_merge","commitsCount":15,"pusher":{"login":"Meulengracht","name":"Philip Meulengracht","path":"/Meulengracht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10059902?s=80&v=4"},"commit":{"message":"tests/lib/prepare-restore: install Go 1.21 for FIPS build\n\nSigned-off-by: Maciej Borzecki ","shortMessageHtmlLink":"tests/lib/prepare-restore: install Go 1.21 for FIPS build"}},{"before":"0fe578a46cf58c3ace56ec1265f6bc30db56776e","after":"bef2969981588c6ac01881415401b6c852fb65b2","ref":"refs/heads/master","pushedAt":"2024-09-09T19:07:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"seed, s/seedwriter: properly filter out components in seed.Seed.ModeSnaps (#14415)\n\n* seed, s/seedwriter: properly filter out components in seed.ModeSnaps\r\n\r\n* fixup! seed, s/seedwriter: properly filter out components in seed.ModeSnaps\r\n\r\n* seed: move code so that it is only run when needed","shortMessageHtmlLink":"seed, s/seedwriter: properly filter out components in seed.Seed.ModeS…"}},{"before":"6d1aacd0f9b16e2dd3054df21c7bd74185575989","after":"0fe578a46cf58c3ace56ec1265f6bc30db56776e","ref":"refs/heads/master","pushedAt":"2024-09-09T13:16:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"asserts: allow defining components in preseed assertions (#14436)\n\n* asserts: allow defining components in preseed assertions\r\n\r\n* asserts: test some more invalid preseed assertion cases","shortMessageHtmlLink":"asserts: allow defining components in preseed assertions (#14436)"}},{"before":"1e0707b3f23a8ab3b20037b4b3af95d8088981af","after":"4571c81c55d9f1b83cab8bb2e55b631e5ac4858f","ref":"refs/heads/fde-manager-features","pushedAt":"2024-09-09T12:25:00.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"pedronis","name":"Samuele Pedroni","path":"/pedronis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/975757?s=80&v=4"},"commit":{"message":"boot/seal.go: remove some TODO that had been fixed","shortMessageHtmlLink":"boot/seal.go: remove some TODO that had been fixed"}},{"before":"e3e465ce4ae811ca8fa1618e4d9fb12e08e49377","after":"6d1aacd0f9b16e2dd3054df21c7bd74185575989","ref":"refs/heads/master","pushedAt":"2024-09-07T13:57:34.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"Merge pull request #14479 from ernestl/changlogs-2.65.2\n\nrelease: 2.65.2 changelogs","shortMessageHtmlLink":"Merge pull request #14479 from ernestl/changlogs-2.65.2"}},{"before":"34925956fd0c2f625216d59e5d71995c0f369d0e","after":"ac5f81d3f5f9716c1a545c84760bc28ab6470024","ref":"refs/heads/release/2.65","pushedAt":"2024-09-06T21:37:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"release: 2.65.2","shortMessageHtmlLink":"release: 2.65.2"}},{"before":"8eda46e426b3f64157e4628f1e9cb534cadc7f72","after":"e3e465ce4ae811ca8fa1618e4d9fb12e08e49377","ref":"refs/heads/master","pushedAt":"2024-09-06T21:07:13.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"systemd: mount kernels before /lib/{modules,firmware} are mounted\n\nThe drivers tree that is mounted in /lib/{modules,firmware} has\nsymbolic links to the content of the kernel snap, so we need to make\nsure it is available before those mounts.","shortMessageHtmlLink":"systemd: mount kernels before /lib/{modules,firmware} are mounted"}},{"before":"5b8c74b4e8bf38f52f3ef5876bff86739ef2dd0d","after":"8eda46e426b3f64157e4628f1e9cb534cadc7f72","ref":"refs/heads/master","pushedAt":"2024-09-06T14:06:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"c-vendor: bump squashfuse to 0.5.2 (#14474)\n\nBump suquashfuse to 0.5.2 to include fixe for 32bit build from\r\nhttps://github.com/vasi/squashfuse/commit/cb148fc1477ed676049b7891ebb6efc90b2c00ec\r\nwhich was first released in 0.5.1.\r\n\r\nSigned-off-by: Maciej Borzecki ","shortMessageHtmlLink":"c-vendor: bump squashfuse to 0.5.2 (#14474)"}},{"before":"0dfd94bd49b9b6f7e01f6a093d71d0da82a508e1","after":"5b8c74b4e8bf38f52f3ef5876bff86739ef2dd0d","ref":"refs/heads/master","pushedAt":"2024-09-06T13:40:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ernestl","name":"Ernest Lotter","path":"/ernestl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5872705?s=80&v=4"},"commit":{"message":"daemon,tests: grant /v2/snaps/{name} via snap-interfaces-requests-control (#14473)\n\n* daemon,tests: grant /v2/snaps/{name} via snap-interfaces-requests-control\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n* tests: check for core snap instead of snapd on core16 for interfaces-snap-interfaces-requests-control\r\n\r\nSigned-off-by: Oliver Calder \r\n\r\n---------\r\n\r\nSigned-off-by: Oliver Calder ","shortMessageHtmlLink":"daemon,tests: grant /v2/snaps/{name} via snap-interfaces-requests-con…"}},{"before":"bd09715101009784750137c4d98c7493264c59e7","after":"0dfd94bd49b9b6f7e01f6a093d71d0da82a508e1","ref":"refs/heads/master","pushedAt":"2024-09-06T11:53:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"many: allow systems installed via installer API to pick optional snaps and components (#14426)\n\n* daemon, o/devicestate: rename devicestate.OptionalInstall to better represent uses devicestate.OptionalContainers\r\n\r\n* o/devicestate: add available optional snap and components to the System struct\r\n\r\n* daemon: report available optional containers for a system available for install\r\n\r\n* o/devicestate, s/seedtest: handle optional-install field on install-finish task\r\n\r\n* tests: test seeding optional snaps and components from snapd installer api\r\n\r\n* tests: use flags for arguments passed to the muinstaller\r\n\r\n* tests: use encrypted installation for cases with optional snaps and components\r\n\r\n* tests: make test work for core24 too","shortMessageHtmlLink":"many: allow systems installed via installer API to pick optional snap…"}},{"before":"9fa364736bd19b4af7c747d636302c266f1db8ff","after":"bd09715101009784750137c4d98c7493264c59e7","ref":"refs/heads/master","pushedAt":"2024-09-06T06:48:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Meulengracht","name":"Philip Meulengracht","path":"/Meulengracht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10059902?s=80&v=4"},"commit":{"message":"i/apparmor/template: allow writing to /run/systemd/journal/dev-log by default\n\nThe `dev-log` is needed for journal namespace (quota loggroup). If the rule\nis not here, apparmor will complain. For instache:\nSep 05 01:34:08 ubuntu audit[23073]: AVC apparmor=\"DENIED\" operation=\"sendmsg\" profile=\"snap.modem-manager.modemmanager\" name=\"/run/systemd/journal.snap-mmgroup/dev-log\" pid=23073 comm=\"ModemManager\" requested_mask=\"w\" denied_mask=\"w\" fsuid=0 ouid=0\n\nSigned-off-by: Robert Liu ","shortMessageHtmlLink":"i/apparmor/template: allow writing to /run/systemd/journal/dev-log by…"}},{"before":"25acf584609ec12d24343f923e4888f9b3f30c43","after":"9fa364736bd19b4af7c747d636302c266f1db8ff","ref":"refs/heads/master","pushedAt":"2024-09-05T18:41:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sergiocazzolato","name":"Sergio Cazzolato","path":"/sergiocazzolato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5382983?s=80&v=4"},"commit":{"message":"tests: inject errors during refresh process (#14433)\n\n* tests: initial change for fault injection branch\r\n\r\nIn this initial part there is a new test which validates that the system\r\nremains working properly when a machine is rebooted while a fundamenta\r\nsnap is being refreshed/installed\r\n\r\n* changes to trigger errors/reboot during the fundamental snaps refresh\r\n\r\n* remove old test\r\n\r\n* revert change on google-core\r\n\r\n* test updated to run reboot/pacis scenario\r\n\r\n* checking the final revision is ok\r\n\r\n* Move kernel-modules-components to another test\r\n\r\nthis requires to refresh to a handmade kernel\r\n\r\n* Add the missing scenario to the TODO\r\n\r\n* fix shellcheck\r\n\r\n* Fix wording and check for snap rev","shortMessageHtmlLink":"tests: inject errors during refresh process (#14433)"}},{"before":"e9b66400b1a0b8d477f8c05e3bfb66c6b119f37e","after":"25acf584609ec12d24343f923e4888f9b3f30c43","ref":"refs/heads/master","pushedAt":"2024-09-05T17:49:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alfonsosanchezbeato","name":null,"path":"/alfonsosanchezbeato","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3833021?s=80&v=4"},"commit":{"message":"tests/muinstaller: move to 24.04.1 release","shortMessageHtmlLink":"tests/muinstaller: move to 24.04.1 release"}},{"before":"78158e405f33d0dbe7a785169c18d7657461b474","after":"e9b66400b1a0b8d477f8c05e3bfb66c6b119f37e","ref":"refs/heads/master","pushedAt":"2024-09-05T13:21:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zyga","name":"Zygmunt Bazyli Krynicki","path":"/zyga","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/784262?s=80&v=4"},"commit":{"message":"packaging/fedora: use SPDX compatible licenses\n\nFedora has undergone an automatic conversion of licenses from free-form to\ncompatible SPDX expressions. This synchronizes the change back to snapd\npackaging directory.\n\nSigned-off-by: Zygmunt Krynicki ","shortMessageHtmlLink":"packaging/fedora: use SPDX compatible licenses"}},{"before":"d6ec32b5092200205d179c26a5a147801d0f6051","after":"78158e405f33d0dbe7a785169c18d7657461b474","ref":"refs/heads/master","pushedAt":"2024-09-05T12:55:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Meulengracht","name":"Philip Meulengracht","path":"/Meulengracht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10059902?s=80&v=4"},"commit":{"message":"many: extract desktop-ids helpers from wrappers package into snap package (#14456)\n\n* many: extract desktop-ids helpers from wrappers package into snap package\r\n\r\nThose helpers are extracted to be reused when generating apparmor rules\r\nspecific to desktop-file-ids\r\n\r\nSigned-off-by: Zeyad Gouda \r\n\r\n* snap: address review comments (thanks @bboozzoo)\r\n\r\nSigned-off-by: Zeyad Gouda \r\n\r\n---------\r\n\r\nSigned-off-by: Zeyad Gouda ","shortMessageHtmlLink":"many: extract desktop-ids helpers from wrappers package into snap pac…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEtX52iAA","startCursor":null,"endCursor":null}},"title":"Activity · canonical/snapd"}