所有显著更改都将记录在此文件中。
格式基于 Keep a Changelog, 本项目遵循 语义化版本。
- DB Inspector: 跨表搜索返回每表全量匹配 rowid,支持跨表连续跳转
- DB Inspector: 新增按 rowid 批量取行接口,用于匹配分页加载
- WebUI: 搜索结果独立侧栏展示,提供更大操作空间
- WebUI: 搜索结果支持“上一条/下一条”“上一表/下一表”快捷跳转
- WebUI: 大结果告警阈值可配置(
VITE_DB_SEARCH_WARN_TOTAL/VITE_DB_SEARCH_WARN_TABLE或 localStorage)
- DB Inspector: 搜索定位增加“定位中”状态,减少分页闪动
- Health: /api/health 版本字段统一使用服务端版本配置
- HTTP Inspector: 请求详情新增摘要折叠区(最终状态/链路位置/最终 URL/链路耗时/大小/协议)
- HTTP Inspector: 请求详情新增 Diff 标签(上一跳/下一跳对比)
- 错误结构化: 贯通 HTTP 错误结构化字段(domain/code/category/isNetworkError/message)
- 重定向链路: 列表支持上一跳/下一跳跳转与链路标识
- HTTP 错误识别: 统一错误判定逻辑,支持网络错误与结构化错误筛选
- 状态码样式: 1xx 状态码使用信息态样式
- HTTP: 修复重定向链路事件关联与列表显示不一致问题
- HTTP: 缺失
redirectToUrl时从响应Location解析最终 URL - 详情视图: 最终 URL 过长导致溢出的问题
- 设备会话识别: 设备连接事件新增
appSessionId透传,用于区分 App 重启与连接重连
- WebUI: “仅显示本次启动”取消后可自动加载历史数据
- WebUI: 数据库跨表搜索结果跳转支持非第一页定位
- WebUI: 搜索结果列表分割线样式与其他列表对齐
- WebUI: 点击搜索结果不再自动关闭结果列表
- WebUI: 新增
EncryptionStatus类型(none/unlocked/locked) - WebUI: 新增
UnlockIcon解锁图标组件 - WebUI: 加密数据库列表显示锁定/解锁状态图标
- 🔓 绿色解锁图标:已解锁的加密数据库
- 🔒 红色锁定图标:未解锁的加密数据库
- Hub: 新增
EncryptionStatusDTO枚举类型
- WebUI: "当前账户"分组标题优先使用
ownerDisplayName(显示用户昵称而非通用标签)
- 新增:
deploy.sh根目录统一部署脚本- 支持
--sqlite/--postgres数据库模式切换 - 支持
--port/--host自定义端口和地址 - 支持
--with-webui同时构建前端 - 支持
--status/--stop/--restart/--logs服务管理 - 自动处理旧 DebugHub 进程端口占用
- 支持
- 远程部署: 修复
remote-deploy.sh中脚本路径问题(DebugHub/deploy.sh→deploy.sh) - HTTP: 修复中文字符乱码问题
- iOS Probe 网络捕获 (URLProtocol + URLSessionTaskMetrics)
- iOS Probe 日志捕获 (CocoaLumberjack + os_log)
- Debug Hub 后端服务 (Vapor + PostgreSQL/SQLite + WebSocket)
- Web UI 基础框架 (React + TypeScript + Vite + Tailwind)
- 实时数据流 (WebSocket 双向通信)
- Mock 规则引擎 (HTTP/WS 请求拦截与响应模拟)
- 请求重放 (通过 WebSocket 指令重放请求)
- cURL 导出 (生成可复制的 cURL 命令)
- JSON 响应树形展示 (可折叠的 JSON 树形视图)
- 性能时间线 (DNS/TCP/TLS/TTFB 时间瀑布图)
- 高级搜索语法 (
method:POST status:4xx duration:>500ms) - HAR 导出 (HTTP Archive 1.2 格式)
- 断点调试 (请求/响应拦截与修改)
- 故障注入 (延迟、超时、错误码注入)
- 请求 Diff 对比 (并排对比两个请求差异)
- 数据自动清理 (默认3天过期)
- 图片响应预览 (检测图片类型并内联渲染)
- 深色/浅色主题 (CSS 变量 + 主题切换 + 跟随系统)
- 键盘快捷键 (全局快捷键支持 + 帮助面板)
- 请求收藏/标记 (收藏重要请求,防止被清理)
- 批量操作 (多选 + 批量删除/收藏/导出)
- React WebUI 完整实现(React + TypeScript + Vite + Tailwind CSS)
- API 文档页 (
/api-docs) - 内置交互式 API 文档 - 健康检查页 (
/health) - 服务状态监控 - 一键部署脚本 (
deploy.sh) - 自动安装依赖、配置数据库 - Swift 6 兼容 - Actor-based 并发、@unchecked Sendable
- SPA 路由支持 - 服务端 Fallback 支持前端路由刷新
- 运行时配置管理 (
DebugProbeSettings) - 内部日志开关 (
DebugLog分级日志) - 配置 UI 界面 (
DebugProbeSettingsController) - 配置持久化 (UserDefaults + Info.plist)
- HTTP 自动拦截 (
URLSessionConfigurationSwizzle) - WebSocket 连接级 Swizzle + 消息级 Hook
- Protobuf Wire Format 解析 + 嵌套消息 + Hex 视图
- 事件持久化队列 (SQLite 本地队列)
- 断线重连恢复 - 自动恢复发送持久化事件
- PostgreSQL 支持 - 默认数据库,支持高并发
- 后端 API:
GET /api/devices/{deviceId}/ws-sessions/{sessionId}/frames/{frameId} - 前端格式切换器: 支持 AUTO / TEXT / JSON / HEX / BASE64 五种格式
- HTTP 请求列表应用规则过滤(hide 规则隐藏匹配的请求)
- HTTP 请求列表高亮显示(highlight 规则显示黄色背景和 ⭐ 图标)
- HTTP 请求列表标记功能(mark 规则显示自定义颜色的左边框和 🏷️ 图标)
- 支持域名匹配和 URL 正则匹配
- 支持上传
.desc文件(由protoc --descriptor_set_out生成) - 支持配置 BLOB 列到 Protobuf 消息类型的映射
- 自动识别和解析 BLOB 类型单元格
- 三种视图模式:Schema 解码、Wire Format、Hex
- 支持自定义 SQL 查询(仅 SELECT)
- 查询超时保护(5 秒自动中断)
- 结果集大小限制(最多 1000 行)
- 并发查询限制(串行队列)
- 使用
@tanstack/react-virtual实现虚拟滚动 - 支持 10,000+ 请求流畅浏览
- 按域名分组:相同域名的请求归类显示
- 按路径分组:按 URL 前缀分组
- 分组统计:请求数、平均耗时、错误数、Mock 数
- 支持字段搜索语法:
level:error subsystem:Network message:"timeout" - 支持时间范围:
timestamp:>2025-12-05T10:00:00 - 支持正则表达式消息搜索
PageTimingRecorder页面耗时记录器- 支持 UIKit ViewController 自动采集
- 支持 SwiftUI UIHostingController 自动采集
- 页面耗时 API 接口(列表、详情、统计、删除)
- "页面耗时"标签页
- 设备批量选择支持
- 设备备注名功能(保存到后端)
- 批量删除离线设备
- 新增 PluginManager 组件
- 支持动态启用/禁用插件
- 插件依赖自动管理
- README 全面更新
- 功能模块路线图文档
- ANDROID_PROBE_GUIDE.md: Android 版 DebugProbe SDK 开发指南
1.0.0 ────────────────────────► 1.2.4 (当前)
│ │
│ └─ 加密数据库状态显示
│ ownerDisplayName 支持
│ 统一部署脚本
│
└─ 核心调试能力
高级调试能力
用户体验增强
工程化增强
Traffic Rules / DB Inspector
HTTP 虚拟滚动 / 请求分组
页面耗时监控
设备管理 / 插件管理
-
后端无数据库迁移,直接更新代码重新编译即可
-
iOS SDK 需要同步升级到 1.2.0:
# Swift Package Manager 会自动更新 # 或手动清理缓存 rm -rf ~/Library/Caches/org.swift.swiftpm
-
WebUI 重新部署:
cd WebUI && npm run deploy