Highlights
This is the first tagged release of SummerCMS. It lays down the foundation of the framework: compiled plugins with a WinterCMS-shaped structure, a schema-driven admin backend with an embedded Vue SPA, the summer CLI and a set of service modules, all built into a single Go binary.
Added
- Plugins and app structure: plugins implement
pactcapability interfaces,partyregisters and boots them in dependency order,backpackholds config, services and events, andsummer.yamlgenerates the app'smain.go.summer make:plugin,plugin:addand generators for models, migrations, commands, jobs and admin controllers scaffold Winter-shaped code. - Configuration and data: layered YAML config with
SUMMER_environment overrides (compass); a shared Postgres pool, per-plugin migrations and rollback, model helpers, Laravel-style validation rules, encrypted and JSON casts, pagination and file attachments (lagoon). - HTTP: routing with route groups, typed path params, constraints, rate limiting, body limits, path-scoped CORS and
route:list(surf); JSON helpers that keep responses compatible with a Laravel backend (wire). - Authentication: JWT minting, refresh and blacklisting with separate admin and user guards (
bouncer), plus an OAuth authorization server for MCP clients (wristband). - Admin backend:
cabanacompiles Winter-style YAML list, form, filter and relation definitions and serves them as a JSON API to the embedded admin SPA atbackend.uri. Lists search, sort, filter, page and bulk-delete; forms cover tabs, toggles, relation fields, settings pages, a relation manager, toolbar and widget actions, a datepicker, file uploads, and hasMany child records edited in modals with deferred binding until the parent is saved. - Services: background jobs and a scheduler on River (
conga,queue:work,schedule:run), realtime broadcasts via Centrifugo (lighthouse), Web Push (flare), search index sync with Typesense (beachcomber), transactional mail (postcard), translations with pluralization (phrasebook), a typed event bus (festival) and an SSRF-guarded HTTP client (fetchguard). - CLI and tooling:
bonfireconsole commands,summer devwatch-and-rebuild, adminadmin:createand password-reset commands, andtidefor recording and replaying HTTP traffic against a reference backend. - Documentation:
summer docs:buildanddocs:serverender the docs site, including Setup, Architecture, Plugins, Database, Services, Backend and Console sections, a Coming from WinterCMS concept map and anacme.blogwalkthrough plugin.