• v2.5.1-dev 6a7640af00

    FTMahringer released this 2026-05-12 16:24:24 +02:00 | 102 commits to main since this release

    Plugin Ecosystem — Plugin API Module

    First dev version of v2.6.0 Plugin Ecosystem milestone.

    Added

    • `synapse-plugin-api` Maven module (`dev.synapse:synapse-plugin-api:1.0.0`) configured for GitHub Packages
    • JPMS `module-info.java` — `module synapse.plugin.api` exports only `dev.synapse.plugin.api`
    • Core interfaces:
      • `SynapsePlugin` — base for all plugin types (`onLoad`, `onUnload`, `getId`, `getName`, `getVersion`)
      • `Channel` — bidirectional messaging (`onMessage`, `sendMessage`, `onInstall`, `onUninstall`)
      • `ModelProvider` — LLM backend (`complete`, `stream`, `getCapabilities`, `listModels`, `configure`)
      • `PluginContext` — injected at load time; scoped logger, config, event bus, executor, authMode, routeMessage
      • `PluginConfig` — typed wrapper for manifest `config_schema` values; secret field support
      • `PluginEventBus` — publish events to core; subscribe to platform events by topic
      • `PluginLogger` — scoped to plugin id, rate-limited per trust tier
    • `AuthMode` enum — `API_KEY`, `ACP`, `NONE` for credential routing in model providers
    • Value types: `InboundMessage`, `OutboundMessage`, `CompletionRequest`, `CompletionResponse`, `StreamHandler`, `ModelCapabilities`, `ModelInfo`, `PluginEvent`

    Exit condition met

    API JAR compiles against the JPMS module descriptor. `synapse-plugin-template` updated to depend on `synapse-plugin-api:1.0.0`, drop Spring Boot, and use proper `module-info.java`.

    Next: v2.5.2-dev — Plugin Loader (URLClassLoader + JPMS ModuleLayer, system/staging dirs, startup scan)

    Downloads