• v1.7.0 b4c6d40c19

    FTMahringer released this 2026-05-09 15:00:16 +02:00 | 226 commits to main since this release

    SYNAPSE v1.7.0 — Plugin and Store Runtime

    Full plugin lifecycle, store registry sync, bundle install, stats tracking, and safety enforcement.


    Changelog

    v1.6.1-dev — Plugin Manifest Parser and Validator

    • PluginManifest record with fromMap() factory
    • ManifestValidator — required fields, id format, type enum, semver, description length
    • ValidationResult record — ok()/fail() factories

    v1.6.2-dev — Plugin Install/Enable/Disable/Uninstall APIs

    • PluginLifecycleService — install (validates first), enable, disable, uninstall
    • Lifecycle events logged to system log and event bus
    • PluginController — POST /install, POST /{id}/enable, POST /{id}/disable, DELETE /{id}

    v1.6.3-dev — Store Registry Sync

    • StoreEntry entity — PLUGIN/BUNDLE types, source, version, tags (jsonb), meta (jsonb)
    • StoreRegistryService — parses store/registry.yml, upserts plugins and bundles
    • StoreRegistrySyncRunner — syncs on startup (non-fatal)
    • GET /api/store with optional ?type filter
    • Migration V10, docker-compose mounts store volume

    v1.6.4-dev — Bundle Validation and Install Flow

    • BundleInstallService — validateBundle(), installBundle() installs all plugins in order
    • BundleInstallResult record with success/installed/errors
    • POST /api/store/{id}/validate, POST /api/store/{id}/install

    v1.6.5-dev — Plugin Stats Tracking

    • PluginOperationalStats entity (plugin_operational_stats table) — install/enable/disable counts, last_used_at
    • PluginStatsService — recordInstall/Enable/Disable(), upsert on each lifecycle action
    • GET /api/plugins/stats, GET /api/plugins/{id}/stats
    • Migration V11

    v1.6.6-dev — Dashboard Plugin and Store Views

    • Plugins tab: installed list with status badge + enable/disable/uninstall controls
    • Store tab: registry entries with Install Bundle action
    • api.ts: fetchPlugins, enablePlugin, disablePlugin, uninstallPlugin, fetchStore, installBundle

    v1.6.7-dev — Plugin Safety Rules

    • PluginTrustLevel enum — VERIFIED, COMMUNITY, UNVERIFIED
    • PluginSafetyPolicy record with warnings list and requiresConfirmation flag
    • PluginSafetyService — maps source to trust level, blocks unconfirmed community installs
    • POST /api/plugins/install?confirmed=false (default), POST /api/plugins/install/assess

    v1.6.8-hotfix — V11 Migration Conflict Fix

    • V1 already defined plugin_stats; renamed operational table to plugin_operational_stats

    Exit Criteria Met

    • Operator can install a local plugin manifest (with safety enforcement)
    • Operator can enable or disable installed plugins
    • Store entries are queryable via backend API
    • Bundle install flow validates and installs all referenced plugins

    Next milestone: v1.8.0 — Dashboard Management

    Downloads