2.0.0
Release date: 2026-07-25
ISkyPro 2.0.0 is the first stable release of the .NET 10 rewrite, completing the management UI, cross-platform packaging, the ISky v1 and ISkyPro v2+ plugin runtimes, and Plugin SDK v2.
✨ Features
- webui: Added browser-based dashboards, Bot login and gateway configuration, plugin management, logs, settings, and About pages for everyday administration.
- plugins: The plugin page separately manages ISky v1 plugins (EPL / x86) and ISkyPro v2+ plugins, showing runtime state, queues, errors, and settings. v2 plugin ZIPs can be installed directly; duplicate packages show installed and incoming version details before confirmation, and running plugins can be stopped and resumed automatically during updates.
- about: Update downloads now show file name, size, progress, and status and can be cancelled. Both Windows and Linux packages can enter the automatic update flow from the WebUI, with temporary download files cleaned up afterward.
- package: Stable packages are available for Windows x64, Windows arm64, and Linux x64. Linux supports the main application, WebUI, QQBot gateway, and ISkyPro v2+ plugins.
- gateway: Event receiving, plugin dispatch, and QQBot sends use separate queues, so a slow plugin or request no longer blocks incoming events; queue metrics are visible in the WebUI.
- webui: Gateway and plugin states now synchronize automatically after login, and dashboard plugin totals combine ISky v1 with ISkyPro v2+. Button focus contrast, themed inner scrollbars, and content scrolling were refined for both light and dark modes.
- plugins: The ISkyPro v2+ page clearly separates current process controls, start-with-framework behavior, and per-Bot message policy. Stdio auto-start preferences survive framework restarts, while responsive cards keep ZIP installation and HTTP registration fully reachable.
- logs: Bot messages use one-line summaries with character counts and open detailed metadata, original content, and payloads in an in-page dialog. Conversation views can quickly filter all, inbound, or outbound messages.
- security: Non-Windows systems protect WebUI tokens, Bot Secrets, and other runtime credentials with a local key. Release packages exclude local runtime data, installed plugins, logs, and runtime keys.
🧩 Plugin Development
- sdk: Plugin SDK v2 is stable for C#, Python, Node.js, and Go. Official SDKs and samples share bounded concurrency, request timeouts, bidirectional calls, event ACKs, logging, and graceful shutdown.
- messages: Added a unified structured messaging API for replying to the current event or sending text and mentions to groups, channels, users, and direct messages. Plugins no longer construct QQBot tags or pass reply references manually.
- messages: Structured messages now support QQ group Markdown across all four SDKs. Main uses
msg_type = 2withmarkdown.content, while typed mentions remain safely generated by the framework. A publicQQBotMarkdownRepeatPluginsample records the 2026-07-25 observation that text-message tags were displayed literally while Markdown mentions worked; future behavior remains subject to current official documentation and clients. - runtime:
stdio-jsonrpcplugins support static discovery, start, stop, restart, crash recovery, permission checks, runtime tokens, generated settings forms, logs, and runtime metrics. - packages: C# plugins can produce installable ZIPs with
dotnet publish; Python, Node.js, and Go include samples designed for direct packaging or compilation. HTTP plugins are deployed as independent services and registered by base URL instead of ZIP upload. - catalog: The QQBot API catalog generates methods, permissions, and model metadata for all four languages, reducing SDK surface differences.
🛡️ Stability
- sdk: Fixed intermittent JSON parsing failures and plugin timeouts while the C#
stdio-jsonrpcruntime processes consecutive events, SDK API responses, and ACKs. - v1-plugin: ISky v1 plugin loading, lifecycle calls, menus, and message callbacks now run on one STA thread, reducing thread-affinity and concurrent re-entry compatibility failures.
- v1-plugin: When a v1 plugin times out or crashes, ISkyPro can collect diagnostics, terminate the affected host, and apply restart, throttling, or disable policies. The plugin page shows host generation, timeout, crash, and diagnostic state.
- v2-plugin: Each ISkyPro v2+ plugin uses a bounded event queue and policy-based recovery after unexpected exits, avoiding unbounded work growth or rapid restart loops.
♻️ Compatibility
- runtime: 2.0.0 uses .NET 10 and a new ASP.NET Core application. Startup, deployment, and directory layout differ from the original ISky framework; preserve the
config,data, and plugin directories before upgrading. - v1-plugin: ISky v1 plugins,
isky.exe, andmessage.dllremain supported through the isolated Windows/x86 host. Linux packages support ISkyPro v2+ plugins only. - sdk: The v1 EPL SDK is published as
SDK-V1-EPL-<version>.zip; v2 SDKs are published per language asSDK-V2-<Language>-<version>.zip. - sdk: Compared with preview builds, C# plugins no longer implement a duplicate
Manifestproperty, Node.js SDK methods return Promises, and Python, Node.js, and Go plugins should use the official runtime instead of the old low-level direct context. - sdk: The stable Go SDK import path is
github.com/Zephdyn/ISkyPro.Wiki/sdk/go/iskypro/v2.