Skip to content

chore(plugins)!: remove experimental Matter SDK plugin - #6348

Open
imatrisciano wants to merge 2 commits into
canonical:mainfrom
imatrisciano:IENG-2169-remove-matter-sdk
Open

chore(plugins)!: remove experimental Matter SDK plugin#6348
imatrisciano wants to merge 2 commits into
canonical:mainfrom
imatrisciano:IENG-2169-remove-matter-sdk

Conversation

@imatrisciano

@imatrisciano imatrisciano commented Jul 15, 2026

Copy link
Copy Markdown

This PR removes the matter-sdk plugin from the codebase and from the documentation.

The matter-sdk plugin was originally added in #4491 to simplify connectedhomeip Matter inclusion in a snap, a process that would have otherwise required applying patches. Since then, some fixes have been upstreamed and Matter can be easily integrated into a snap, thus this experimental plugin has lost its value.


  • I've followed the contribution guidelines.
  • I've signed the CLA.
  • I've successfully run make lint && make test.
    • Note: those are showing the same errors as in main
  • I've added or updated any relevant documentation.
    • Note: I did not add an entry to the changelog
  • In documents I changed, I added a meta description if one was missing.
  • I've updated the relevant release notes.

@imatrisciano
imatrisciano requested review from a team and mr-cal as code owners July 15, 2026 08:23
Copilot AI review requested due to automatic review settings July 15, 2026 08:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the experimental matter-sdk plugin from Snapcraft’s plugin system and cleans up all associated unit tests, spread tests, CI workflow entries, and documentation references.

Changes:

  • Removed the MatterSdkPlugin implementation and unregistered it from Snapcraft’s plugin registry and exports.
  • Deleted the plugin’s unit/spread tests and removed the dedicated manual spread workflow job.
  • Removed the plugin’s documentation page and any references to it (including the cryptography page table entry).

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/unit/parts/test_lifecycle.py Drops matter-sdk from experimental plugin registration/tests.
tests/unit/parts/plugins/test_matter_sdk_plugin.py Removes unit tests for the deleted plugin.
tests/spread/plugins/craft-parts/matter-sdk/task.yaml Removes spread coverage for the deleted plugin.
tests/spread/plugins/craft-parts/matter-sdk/snapcraft.yaml Removes the plugin-based spread test snap definition.
tests/spread/core24-suites/plugins/matter-sdk/task.yaml Removes core24 suite spread coverage for the deleted plugin.
tests/spread/core24-suites/plugins/matter-sdk/snapcraft.yaml Removes core24 suite snap definition for the deleted plugin.
tests/spread/_common/matter-sdk/task.yaml Removes shared spread task for Matter SDK plugin scenarios.
tests/spread/_common/matter-sdk/snapcraft.yaml Removes shared spread snap definition for Matter SDK plugin scenarios.
snapcraft/parts/plugins/register.py Unregisters matter-sdk from Snapcraft-provided plugins.
snapcraft/parts/plugins/matter_sdk_plugin.py Deletes the plugin implementation.
snapcraft/parts/plugins/init.py Removes MatterSdkPlugin from public exports.
snapcraft/parts/lifecycle.py Removes matter-sdk from the experimental plugin allowlist.
docs/reference/plugins/matter_sdk_plugin.rst Removes the plugin reference documentation page.
docs/reference/plugins.rst Removes the plugin doc entry from the plugins toctree.
docs/explanation/cryptography.rst Removes the plugin row from the cryptography build-tools table.
.github/workflows/spread-manual.yaml Removes the manual spread job that exercised the plugin.

@imatrisciano imatrisciano changed the title chore(plugins)!: remove Matter SDK plugin chore(plugins)!: remove experimental Matter SDK plugin Jul 15, 2026

@mr-cal mr-cal left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @imatrisciano,

I saw the description in IENG-2169 about how it's now easier to snap the upstream SDK without patches.

Could you elaborate on this? Since we’ll have to put this removal in Snapcraft’s release notes, it’d be nice to have more context. Particularly if there’s a recommended alternative to using this plugin.

@imatrisciano

Copy link
Copy Markdown
Author

Hey @mr-cal,

By default Matter stores its configuration files in a subdirectory of /tmp. In order to change that path, we used to edit Matter's source code via sed as part of our build process along with running the bootstrap script and the actual build script. See this example of what a Matter build used to look like, and compare it to the plugin source code.

To simplify all of this, the matter-sdk plugin was created.

Meanwhile, things upstream have changed, notably PR project-chip/connectedhomeip#22738 enables overriding the configuration base directory by setting the TMPDIR environment variable.

Nowadays our part is built without needing any patch (see here), all that's needed to do is to follow the compilation guide on the official documentation while setting TMPDIR.

@mr-cal mr-cal left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @imatrisciano!

For posterity, I'll note that we (the starcraft team) never implemented experirmental plugin support in craft-application, meaning that the --enable-experimental-plugins flag and runtime notice were only seen for core22 and not for core24 and core26.

However, the documentation notes this was an experimental plugin and there are 0 public uses of it on github, so I'm OK to remove it in a minor release of Snapcraft.

@mr-cal
mr-cal requested a review from bepri July 24, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants