Skip to content

ShortLinker v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Jul 16:06
· 2 commits to master since this release
v0.6.0
5327f8f

🎉 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 模块删除 - tui feature、./shortlinker tui 命令、RunMode::Tui 全部移除;full feature 现仅包含 server、CLI、metrics
  • 配置系统迁移 - 配置定义与校验改由 CONFIG_REGISTRY(aster-forge-config)提供;删除 validators.rsRustType 枚举;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 行)
    • 新增 openapi feature 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-loggingaster-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 行)
  • 缓存层重构 - 删除 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/clisrc/cli,添加 feature gates
  • 编译配置优化 - 新增 [profile.profiling](火焰图采样)与 [profile.release-performance](opt-level 3 + panic abort);dev profile 第三方依赖 opt-level 1

Removed

  • Deprecated API 清理 - 删除 v0.5.1 标记废弃的类型与方法:ImportLinkItemImportResultImportErrorLinkService::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.rssrc/system/panic_handler.rssrc/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/shortlinker

Cargo Binstall

cargo binstall shortlinker

Manual 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