🎉 Release Highlights
v0.6.0 架构现代化版本! 迁移至 aster-forge 基础组件库,集成全新 React 管理面板,并移除 TUI 模块:
- React Admin Panel - 全新管理面板集成至 monorepo,覆盖链接管理、分析仪表板、系统配置
- aster-forge 基础架构 - 迁移至 aster-forge 组件库,删除 3,894 行自研基础代码
- OpenAPI 契约 - utoipa 替代 ts-rs,新增 openapi-contract CI 保证前后端类型同步
- 配置系统升级 - 迁移至 aster-forge-config,统一 CONFIG_REGISTRY 元数据与校验
- TUI 模块移除 - 删除 7,696 行 TUI 代码及相关依赖,专注 server/CLI 形态
- cf-worker 移除 - 删除未达生产就绪的 Cloudflare Worker stub
⚠️ Breaking Changes
- TUI 模块删除 -
tuifeature、./shortlinker tui命令、RunMode::Tui全部移除;fullfeature 现仅包含 server、CLI、metrics - 配置系统迁移 - 配置定义与校验改由
CONFIG_REGISTRY(aster-forge-config)提供;删除validators.rs与RustType枚举;RuntimeConfig.set()自动规范化枚举值并提前拒绝无效值 - Deprecated API 清理 - 删除 0.5.1 标记废弃的类型与方法(见 Removed)
- 健康检查语义变化 - 可选组件失败不再导致 readiness 失败,端点返回
degraded状态 - Rust 版本要求 - MSRV 1.88 → 1.94.0
Added
- React Admin Panel - 集成至 monorepo(184 个文件,28,878 行)
- 技术栈:React 19 + TypeScript + Vite + Bun,shadcn/ui + Tailwind CSS,Biome 替代 ESLint/Prettier
- Cookie-based 认证(自动 token refresh)
- 链接管理:CRUD、批量操作、CSV 导入/导出、QR 生成
- 分析仪表板:实时指标、趋势图表、设备分析、地理分布、来源追踪
- 系统配置:动态配置编辑器、schema-based 表单、历史跟踪
- 国际化 5 语言(en/zh/ja/ru/fr)与 dark/light/system 主题
- 类型安全 API 客户端(OpenAPI 自动生成)、Vitest 单元测试、PWA 支持
- OpenAPI 契约 - utoipa + openapi-typescript
src/api/openapi.rs聚合所有路径与 schema- admin handler 通过
aster_forge_api_docs_macros::path注解 - 前端类型迁移至
api.generated.ts(2,031 行) - 新增
openapifeature flag(debug_assertions 下启用) - 前端提取 7 个数据 hooks(useLinkAnalyticsData、useDashboardData 等)
- 测试覆盖 - 新增
config_store_tests.rs(78 行)、system_config_migration_tests.rs(153 行)、generate_openapi.rs(105 行)
Changed
- aster-forge 基础 crate 迁移 - 88 个源文件变更,净删除 3,894 行自研代码
- Observability:
aster-forge-actix-observability(metrics)、aster-forge-logging、aster-forge-panic - Runtime:
aster-forge-runtime结构化组件生命周期(cancellation tokens 替代自研 shutdown coordinator) - Database:
aster-forge-db内置连接池与重试(删除 376 行自研 retry) - Utilities:
aster-forge-utils(IP 解析、URL 校验)、aster-forge-crypto(密码哈希) - Caching:
aster-forge-cache-policy+aster-forge-bloom,新src/services/link_cache.rs(533 行)
- Observability:
- 缓存层重构 - 删除 cache layer 插件系统(17 个文件,~2,500 行),直接集成 aster-forge-cache-policy
- Metrics 系统重构 - 删除自研 registry/system/traits(~660 行),新
src/metrics.rs(263 行)基于 forge observability - 中间件清理 - 删除自研 timing/request_id 中间件,由 forge actix integration 提供
- CLI 结构重构 -
src/interfaces/cli→src/cli,添加 feature gates - 编译配置优化 - 新增
[profile.profiling](火焰图采样)与[profile.release-performance](opt-level 3 + panic abort);dev profile 第三方依赖 opt-level 1
Removed
- Deprecated API 清理 - 删除 v0.5.1 标记废弃的类型与方法:
ImportLinkItem、ImportResult、ImportError、LinkService::import_links()、LinkService::export_links()、AnalyticsService::export_click_logs()(含测试共 379 行) - TUI 模块 - 删除
src/interfaces/tui/(87 个文件,7,696 行)及 ratatui/crossterm/color-eyre/arboard/nucleo-matcher 依赖 - Cloudflare Worker - 删除
cf-worker/(8 个文件,586 行),未达生产就绪 - ts-rs - 由 utoipa 替代,删除
types.generated.ts - 自研工具模块 -
src/utils/ip.rs(259 行)、src/utils/url_validator.rs(159 行)迁移至 aster-forge-utils - 自研系统模块 -
src/system/logging.rs、src/system/panic_handler.rs、src/storage/backend/retry.rs迁移至 aster-forge
Dependencies
- 核心升级:actix-web 4.14、tokio 1.53.1、sea-orm 2.0.0(稳定版)、redis 1.4.1、rustls 0.23.42、maxminddb 0.30、toml 1.1、ctor 1.0
- 新增 13 个 aster-forge 集成 crate
- 移除:bloomfilter、prometheus、sysinfo、ts-rs 及 TUI 相关依赖
- Admin Panel:React 19.2.7、Vite 8.1.5、TypeScript 7、Biome 2.5.4、Vitest 4.1、Bun 1.3.14
CI/CD
- 新增工作流:
admin-panel.yml(前端 lint/test/build)、audit.yml(每周依赖审计)、docs-check.yml(VitePress 构建验证) rust.yml:拆分 format/clippy 与 tests-coverage,cargo-tarpaulin → cargo-llvm-cov,新增 concurrency 控制docker-image.yml:cosign 镜像签名、SBOM 与 provenance attestation、细化 tag 策略vitepress.yml:yarn → bun- Issue 模板统一为英文,新增 documentation 模板
统计数据:
- 452 files changed, 42,150 insertions(+), 19,380 deletions(-)
- 12 commits
- 新增 28,878 行 Admin Panel 代码
- 删除 7,696 行 TUI 代码、3,894 行自研基础代码
Installation
Homebrew (macOS/Linux)
brew install AptS-1547/tap/shortlinkerCargo Binstall
cargo binstall shortlinkerManual Download
| Platform | Architecture | Download |
|---|---|---|
| Linux | x86_64 | shortlinker_v0.6.0_linux_x86_64 |
| Linux | ARM64 | shortlinker_v0.6.0_linux_aarch64 |
| Windows | x86_64 | shortlinker_v0.6.0_windows_x86_64.exe |
| macOS | x86_64 | shortlinker_v0.6.0_macos_x86_64 |
| macOS | ARM64 | shortlinker_v0.6.0_macos_aarch64 |
| Admin Panel | - | shortlinker-admin-panel_v0.6.0.tar.gz |
Checksums: checksums.txt