6.3 KiB
6.3 KiB
CHANGELOG - go/service
v1.5.5 (2026-06-05)
- 依赖同步: 全量对齐至
@go基础设施最新版本(log v1.5.4,starter v1.5.2,db v1.5.2)。
v1.5.4 (2026-06-05)
- 优化: 生命周期日志剥离:
- 彻底移除了
WebServer内部冗余的starting / stopping / stopped控制台日志输出。 - 权责对齐: 服务的生命周期审计现已全量交由
apigo.cc/go/starter (v1.5.2)接管。 - 专注输出:
service模块现在仅负责输出关键的监听信息(如starting listener addr:[::]:8001 proto:http),并自动继承starter分配的长 TraceID 建立链路关联。
- 彻底移除了
v1.5.3 (2026-06-04)
- 新特性:
Static静态文件服务增加默认索引文件识别:当请求目录时,若未配置IndexFiles,会自动尝试匹配index.html或index.htm。
- 优化:
- 依赖升级至
apigo.cc/go/log v1.5.3,实现对第三方库原始日志的自动劫持与serverId注入。 - 清理了启动阶段多余的诊断日志,确保“零配置”启动时的控制台纯净度。
- 依赖升级至
- 稳定性:
- 修复了
Start()函数的幂等性问题,防止在手动调用与starter框架调度冲突时产生重复绑定端口的错误。
- 修复了
v1.5.2 (2026-06-04)
- 架构重构: 彻底移除全局状态泄露,重构为严格的单例模式。 ...
- 修复: 在
WebServer.Start中显式调用config.Load(&Config, "service"),确保启动时自动从env.yaml加载service:块。 - 修复: 优化
WebServer.Reload的配置加载逻辑,确保与启动加载逻辑保持一致。
v1.5.0 (2026-05-10)
- 基础设施对齐: 全局对齐至 v1.5.0。
v1.3.7 (2026-06-02)
- API 统一:
HostContext新增Static方法,支持Host("example.com").Static("/ui", "./dir")这种更具一致性的链式调用风格。- 全局
Static统一收拢为底层Host("*").Static(...)实现。
v1.3.6 (2026-05-31)
- 基础设施增强:
- 新增
WebSocketConn标准包装器,提供统一的Send,ReadString,ReadBytes,ReadJSON接口。 - 新增
Upgrade函数,支持在自定义处理器中手动升级 HTTP 为 WebSocket。 - 集成
Session会话管理,支持分布式 Redis 或本地内存存储。
- 新增
- 安全加固: 彻底移除
UploadFile.Save方法,规避低代码环境下的文件落盘风险。 - JSMOD 类型对齐:
- 提供
newRequest,newResponse,newWebSocket,newSession,newFile占位工厂,支持 AI 环境下的类型自动发现 (DTS)。 - 导出
upgrade方法支持动态服务分发场景。
- 提供
v1.3.5 (2026-05-31)
- Logging Refactor (Callback Pattern): 引入
LogRequest闭环式回调封装,自动处理日志级别检查、对象池获取及元数据填充,消除 20+ 参数带来的维护压力。 - Graceful Shutdown:
ServiceConfig新增StopTimeout字段,支持通过配置灵活管控服务优雅退出的超时时间(默认 5s)。 - Panic Recovery: 增强
handler.go中的recover逻辑,在发生 Panic 时自动记录requestId和path,大幅提升故障定位效率。 - Infrastructure Alignment: 全量回退并对齐 Go 版本至
1.25.0;同步更新handler.go以适配新的日志调用模式。
v1.0.5 (2026-05-10)
- Wait: This version was a temporary placeholder. See v1.3.1 for the actual release.
v1.0.4 (2026-05-10)
- Log Optimization: Implemented
NoLogGets,NoLogHeaders,LogInputArrayNum,LogInputFieldSize, and other fine-grained logging filters. - Static Log: Added automatic logging for static file access.
- Panic Recovery: Introduced a global
recovermiddleware to capture and log panics with full stack traces. - Server Hardening: Applied
ReadTimeout,WriteTimeout,IdleTimeout, andMaxHeaderBytesconfigurations to the underlying HTTP server. - Service Alignment: Populated
Config.Appand improvedserverIdgeneration for better traceability. - Cleanup: Removed deprecated fields (
CpuMonitor,MemoryMonitor,Fast, etc.) and unused logging methods (logTask,logMonitor).
v1.0.3 (2026-05-09)
Added
- Zero-Config Microservices: 实现智能启动逻辑。当
Listen为空时,自动开启随机端口并使用h2c协议。 - Auto-Discover: 自动集成
go/discover。当使用随机端口或配置了应用名时,自动完成服务注册。 - Smart Detection: 内置应用名自动识别 (
debug.ReadBuildInfo) 与服务 IP 自动探测 (UDP 伪拨号法)。 - H2C Server: 原生支持 HTTP/2 Cleartext (h2c) 服务端协议,提升微服务间通信性能。
Changed
- Infrastructure Alignment:
go.mod引入golang.org/x/net以支持 H2C,升级go/discover至v1.0.9。 - IO Security: 持续优化
go/file在静态文件服务中的应用。
v1.0.2 (2026-05-09)
Changed
- Infrastructure Alignment:
go.mod升级go/config至v1.0.7,go/http至v1.0.10。 - IO Security: 移除所有业务逻辑中的原生
os调用,强制使用go/file。 - Virtualization:
Static,SendFile,UploadFile.Save全面支持内存文件系统,提升测试与高频读写性能。 - Performance: 优化了
static.go的 304 检查逻辑,BenchmarkRouting性能提升至 ~2984 ns/op。
v1.0.1 (2026-05-08)
Added
- 集成
apigo.cc/go/log并实现完整的Request日志记录,支持NoLog200选项。 - 集成
apigo.cc/go/timer用于高精度请求耗时统计。 - 在
service.go中添加GetInjectT泛型函数,提升依赖注入体验。 Response结构体新增body捕获(仅在非 200 状态下且小于 4KB 时捕获),用于错误日志记录。
Changed
- Infrastructure Alignment:
go.mod补全所有基础设施依赖,并添加replace指令对齐本地版本。 - Naming Alignment: 修复
parmsNum为paramsNum;移除私有函数_verifyValue的下划线前缀。 - Performance: 优化了
ServeHTTP的执行链路,BenchmarkRouting性能提升至 ~3047 ns/op。 - Modernization:
parseRequestArgs中将json.Unmarshal替换为cast.UnmarshalJSON。 - Robustness:
UploadFile.Save采用file.EnsureParentDir保证 IO 安全。
v1.0.0 (2026-05-01)
- 初始版本发布,支持 Host 隔离路由与自动参数注入。