# tr-agent-client 版本记录 ## 版本规则 - 主版本号.次版本号-阶段标识 - 阶段标识: beta(测试版) / rc(候选版) / release(正式版) ## 版本历史 ### v1.21-beta (2026-07-22) **基线版本**: v1.20 (commit: e58137c) **分支**: agent1.21bate **变更范围**: 代码安全审计与优化,涉及 21 个文件,+1085/-868 行 #### P0 严重修复 (安全 & 数据正确性) 1. **命令注入漏洞修复** - SpecificTimeTaskService: 添加命令安全校验、白名单机制、危险字符检测 2. **路径穿越漏洞修复** - AgentEndpoint: 添加 normalize() + startsWith() 路径校验 3. **下载安全加固** - AdvancedAsyncDownloader: 添加协议白名单、文件大小限制、路径穿越防护 4. **CPU负载数据丢失修复** - CPUServiceImpl: avg1/avg5/avg15 三行全调 setAvg1(),1分钟和15分钟数据丢失 5. **磁盘读写数据反转修复** - DiskServiceImpl: 读写字节和读写速率赋值完全反转 6. **任务更新丢失修复** - DynamicTaskService: updateTaskInterval 用空 Runnable 替代了原始任务 7. **线程安全修复** - GlobalConfig: 100+ 静态字段添加 volatile,集合改为 ConcurrentHashMap/CopyOnWriteArrayList 8. **Session查找性能修复** - SessionManager: 新增 Channel->Session 反向映射,O(n)->O(1) 9. **序列号线程安全修复** - SessionManager: getSerialNumber 改用 AtomicInteger 10. **竞态条件修复** - CompensatedTrigger: get+set 竞态改用 CAS 循环 11. **内存泄漏修复** - UDPListenHandler: ByteBuf 未释放 12. **NPE修复** - BaseNettyServer: stop() 方法 NPE 风险 13. **无界线程池修复** - AsyncCommandExecutor: 改为有界线程池 + 守护线程 14. **资源泄漏修复** - AdvancedAsyncDownloader: 添加 connection.disconnect() 和线程池关闭 #### P1 重要修复 (资源管理 & 性能) 15. **进程资源泄漏修复** - NetServiceImpl: Process 对象未销毁,添加 destroy + waitFor 超时 16. **Docker资源泄漏修复** - DockerServiceImpl: 数组越界保护 + Process 资源释放 17. **除零风险修复** - MemoryServiceImpl: 内存总量为0时的除零异常 18. **除零风险修复** - SystemServiceImpl: 磁盘总量为0时的除零异常 19. **资源泄漏修复** - DockerServiceImpl/NetServiceImpl: Process/Reader 资源泄漏 #### P2 代码质量优化 20. **日志规范化** - 100+ 处 System.out/err 替换为 AssertLog 日志框架 21. **异常处理规范化** - 所有 e.printStackTrace() 替换为结构化日志 22. **中断处理规范化** - InterruptedException 添加中断状态恢复 (Thread.currentThread().interrupt()) 23. **包装类型修复** - BaseNettyConfig: Boolean 包装类型改基本类型,消除 NPE 风险 24. **异常构造修复** - BaseException: cause 构造函数未设置 code/msg 25. **安全配置** - application-dev.yml: 新增安全配置项(命令白名单/HMAC签名/下载安全/握手认证) ### v1.20 (基线) **commit**: e58137c "修正脚本执行策略上报信息" **状态**: 优化前最后一个稳定版本,本次更新的基线