SonnetDB 2.5.0
本说明覆盖从上一版 GitHub Release v2.2.0 到本次待发布版本 v2.5.0 的变更范围。
Highlights
- SonnetDB Studio 主线确立:现有 Vue Workbench 升级为 Studio,新增
/admin/app/studio语义入口,并保留/admin/app/sql兼容入口。 - 新增
src/SonnetDB.StudioWindows 桌面壳,基于 NativeWebHost / WebView2 承载同一套 Studio 前端,可默认连接本机 SonnetDB Server,也可通过参数指向远程实例。 - HTTP API endpoint 结构完成分层整理,按 routes / handlers / support 拆分控制面、数据库、SQL、对象存储、MQ、摄取、Copilot、健康检查和 Web 入口,降低服务端入口文件复杂度。
- CI、CodeQL、Docker、docs pages、publish 和 connectors release workflow 统一刷新,移除旧搜索 / 向量子模块拉取要求并补齐 endpoint 行尾规范化。
- Parity workflow 和依赖矩阵刷新,继续支撑 SonnetDB 与 Postgres、Redis、InfluxDB、VictoriaMetrics、MinIO、NATS、Meilisearch、Qdrant、ClickHouse 等开源栈的兼容性对齐。
- Milestone 22 路线加入 Agent Memory / Codebase Intelligence,规划 SonnetDB 作为代码知识库和 MCP Memory 后端的能力边界。
NuGet And Packaging
本次发布整理了 NuGet 包元数据、图标、readme 和依赖闭环。SonnetDB 系列包使用统一项目地址、仓库地址、MIT license、包图标和包说明;搜索与向量引擎能力已收敛到 SonnetDB 包内,不再发布独立 DotSearch / DotVector 包。
发布脚本会生成:
SonnetDB.CoreSonnetDBSonnetDB.EntityFrameworkCoreSonnetDB.Caching.EasyCachingSonnetDB.Caching.DistributedSonnetDB.CliSonnetMQ
用户文档中的安装命令不再固定版本号:
dotnet add package SonnetDB.Core
dotnet add package SonnetDB
dotnet add package SonnetDB.EntityFrameworkCore
dotnet tool install --global SonnetDB.Cli
CI / GitHub tag 发布时会从 tag 或 workflow input 解析实际版本,并通过 eng/release.ps1 -Version 注入包版本。
Server And Studio
- Studio 路由新增
/admin/app/studio,旧 SQL 工作台路径继续可用。 - 新增桌面壳项目
SonnetDB.Studio,为 Windows 桌面管理体验打基础。 SonnetDB.slnx纳入 Studio 项目,CI 会在 Release 配置下构建。- 服务端 endpoint 代码从
Program.cs和零散入口拆成明确的 route 与 handler 文件,便于后续扩展和审查。 - Docker 构建与服务端项目引用随 SonnetMQ / 内置搜索向量引擎调整同步更新。
CI And Release Flow
- Publish workflow 支持 tag 和手动版本输入,NuGet、bundle、installer 和 GitHub Release 仍由统一 release script 编排。
- Connectors release workflow 在 tag 发布时使用连接器发布工具生成各 RID 的连接器 zip。
- CI 和 CodeQL workflow 对齐新的 solution / endpoint 布局,干净 checkout 不再需要拉取旧搜索 / 向量子模块。
.gitattributes规范 endpoint 相关文件行尾,减少跨平台 CI diff 噪音。
Compatibility Notes
- 目标框架仍为 .NET 10 /
net10.0。 - 文档安装示例不再指定固定版本,避免文档随每个发布版本重复改动。
VersionPrefix保留为开发默认值;实际 NuGet 版本由 CI/tag 发布时注入。SonnetDB.Core不再依赖独立 DotSearch / DotVector NuGet 包;全文和向量引擎代码随 SonnetDB.Core 一起发布。
Verification
本地发布前建议执行:
dotnet restore SonnetDB.slnx
dotnet build SonnetDB.slnx --configuration Release --no-restore /warnaserror
dotnet test SonnetDB.slnx --configuration Release --no-build
.\eng\release.ps1 -Tasks nuget -Version 2.5.0
生成的 NuGet 包位于 artifacts/release/nuget/。