-
SummerCMS v0.6.0: plugin marketplace
released this
2026-10-30 13:32:24 +00:00 | 126 commits to master since this releasePlugins now describe themselves in a generated plugin.yaml, applications
install and update them with one summer command, and the admin shows what
an application was built with. summercms.io lists the plugins in its new
marketplace.-
plugin.yaml: every plugin carries a manifest generated from its own
sources (ID and required plugins from plugin.go, module and version
minimums from go.mod, name and description from the README). It is
committed next to plugin.go and never edited by hand. -
summer plugin:install <vendor.name> adds a plugin from the registry: the
newest release your framework version allows, with the plugins it
requires, after printing the plan and asking (or --yes). --source and git
URLs install it as a git submodule instead. -
summer plugin:update moves one or all installed plugins to their newest
compatible release. -
The admin has a Plugins screen (Settings -> System -> Plugins): installed
plugins with versions and sources, update badges and a marketplace search,
each with the summer command to copy. -
New module kiosk: the plugin.yaml format (Manifest, Marshal, Parse,
Validate), Derive/Generate/Write/Check, CheckT for a one-line go test
guard in plugin repositories, the registry API v1 wire types, version
rules (ValidVersion, CompareVersions, BaseVersion, Satisfies,
NewestCompatible) and the registry client (kiosk.Client, NewClient,
RegistryURL). -
summer plugin:manifest [dir] with --check, --pretend, --name and
--description. Plugin IDs and requirements may be literals or constants
of the same package, another package or another module; nothing is run. -
summer plugin:install and summer plugin:update, with --yes and
--offline; plugin:install also takes vendor.name@vX.Y.Z and --source. -
summer build bakes PluginInfo (name, description, module, package,
version and source of each plugin) and FrameworkVersion into
plugins.gen.go; the generated main publishes them with party.Describe,
and party.Installed exposes them to plugins. -
Config key plugins.registry_url (default https://summercms.io;
SUMMER_PLUGINS__REGISTRY_URL overrides it; an empty value disables every
registry call). -
Permission backend.view_plugins (cabana.PermissionViewPlugins) for the
Plugins screen; superusers always have it. Admin API GET /plugins and
GET /plugins/marketplace; settings entries may open an admin route
(SettingsEntry.Path). -
summer plugin:add reads constant plugin IDs, and plugin:add and
plugin:install append to summer.yaml in place: comments, blank lines and
the item layout stay as they were. -
Every application's main.go and plugins.gen.go change on the first
summer build with v0.6.0; commit the regeneration with the upgrade.
Every public plugin now ships a plugin.yaml and requires SummerCMS v0.6.0:
- sm-translate-plugin v0.1.3
- sm-user-plugin v0.1.19
- sm-chat-plugin v0.1.4
- sm-faq-plugin v0.1.2
- sm-menu-plugin v0.1.2
- sm-seo-plugin v0.1.1
- sm-sitemap-plugin v0.1.2
- sm-mfa-plugin v0.1.3
- sm-oauthserver-plugin v0.1.6
- sm-sociallogin-plugin v0.1.6
- sm-paymentgateway-plugin v0.1.2
- sm-paymentgatewaysubscriptions-plugin v0.1.3
- sm-pgstripe-plugin v0.1.4
- sm-journal-plugin v0.2.6
- sm-chatvideo-plugin v0.1.0 (first release)
- sm-forum-plugin v0.1.0 (first release)
- sm-herald-plugin v0.1.0 (first release)
- sm-userfriends-plugin v0.1.0 (first release)
- sm-chatchannels-plugin v0.1.0 (first release)
- sm-chatbots-plugin v0.1.0 (first release)
- sm-golem-plugin v0.1.2
- sm-feedback-plugin v0.1.2
- sm-quizzes-plugin v0.1.1
- sm-presentations-plugin v0.1.2
Downloads
-