The plugin toolkit

plugin ships as source. 2.1.2 adds the Doxygen docs target to the otherwise-settled 2.1.x API.

VersionDateSourceChecksums
2.1.22026-09-08.tar.gz · .zip.tar.gz.sha256 · .zip.sha256

Each archive is a git archive snapshot at the v2.1.2 tag: the full source tree — src/dso/, src/plugin/, src/sign/, the apps/ CLI tools, their shell completions, the example/plugin Shape demo, the CMake build files, the Conan recipe, and the licence. Extract and follow the installation guide.

OpenSSL is resolved by conan install . in the extracted tree, or make it available to CMake yourself. Without it, dsold and the header-only plugin still build; plugin-sign, the tools, and the signed-load overloads are skipped.

Verifying a download

sha256sum -c plugin-2.1.2.tar.gz.sha256
# plugin-2.1.2.tar.gz: OK

Release notes

2.1.2 — Doxygen docs target. No library change from 2.1.1. Adds the standalone docs CMake target (cmake --build build --target docs) that generates the API reference published on this site, guarded by PLUGIN_STANDALONE so an embedding host never clashes on the target name.

2.1.1 — MIT metadata. Relicensed to MIT to match the sibling libraries: TRADEMARKS.md, CONTRIBUTING.md, and SPDX-License-Identifier: MIT on every source file.

2.1.0 — the signed-DSO chain. plugin-sign (fedem::sign): the Manifest reader / writer, the Ed25519 Verifier with its per-path cache, and TrustLevel. DSOLoader gained loadSigned (load and report) and loadVerified (load only above a trust floor, else throw SignatureRejected). The dso-keygen / dso-sign / dso-verify tools and their bash / zsh completions moved here from FFS.

2.0 — config-based creation. Plugin::create(key, config) and REGISTER_WITH_CONFIG: a plugin can take a typed Config struct, passed through std::any and checked at creation (std::bad_any_cast on a mismatch). The parameterless create(key) path is unchanged.

Binary packages (.deb / .rpm) are on the roadmap but need a proper APT/YUM repository to be worth shipping.

License

plugin, dsold, plugin-sign and the dso-* tools are MIT-licensed — see the License page. OpenSSL (Apache-2.0) is a build and link dependency of the signing half only.