February 28, 2026
patch Server
Fix DI deadlock in headless server plugin discovery
Details
HeadlessPluginRegistry's constructor created PluginHostFactory eagerly,
which resolved IPluginRegistry from DI — causing a circular dependency
deadlock (DI was still constructing HeadlessPluginRegistry itself).
Fix: lazy-initialize PluginHostFactory on first use via a property.
Also switch HeadlessHost to call DiscoverAndInitializeAsync() directly
instead of the sync wrapper that used .GetAwaiter().GetResult(), and
wrap GetExportedTypes() in try-catch for ReflectionTypeLoadException
to handle assemblies with unresolvable type dependencies gracefully.
patch Server
Add --setup-network sectional re-configuration
Details
Completes the sectional setup flags:
- --setup-network: re-configure bind address and port independently
- --setup-tls: already implemented in TLS commit
- --setup-policy: already implemented in policy commit
All three flags modify the existing headless-config.json without
touching password, workspace, or recovery settings.
Get notified about new releases