diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c913f9..0fa0ce5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # CHANGELOG - go/service +## v1.5.22 (2026-07-19) +- **服务发现升级**: 升级 `discover` 至 `v1.5.8`,继承 Redis 类型化注册、心跳、注销和节点拉取流程。 +- **依赖对齐**: 随模块图同步升级 `cast`、`config`、`crypto`、`encoding`、`file`、`http`、`id`、`log`、`rand`、`safe`、`shell` 的 patch 版本。 +- **兼容性**: 本次仅升级基础依赖,公开 API 与运行配置保持不变。 + ## v1.5.21 (2026-07-18) - **依赖校验修复**: 升级 `discover` 至 `v1.5.7`、`redis` 至 `v1.5.11`,并使用稳定版 `redigo v1.9.3`。 - **依赖对齐**: 升级 `cast` 至 `v1.5.4`、`crypto` 至 `v1.5.4`、`encoding` 至 `v1.5.5`、`starter` 至 `v1.5.6`。 diff --git a/README.md b/README.md index 50578e5..096879a 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,6 @@ service: ## 基础设施对齐 - **类型转换**: `apigo.cc/go/cast` - **日志系统**: `apigo.cc/go/log` -- **服务发现**: `apigo.cc/go/discover` +- **服务发现**: `apigo.cc/go/discover`(`service v1.5.22` 对齐 `discover v1.5.8`) - **分布式 ID**: `apigo.cc/go/id` - **文件操作**: `apigo.cc/go/file` diff --git a/TEST.md b/TEST.md index 8a0f1d0..d9fff29 100644 --- a/TEST.md +++ b/TEST.md @@ -1,13 +1,17 @@ # Service Module Test Report +## v1.5.22 验证 +- `go list -m all`:模块图使用 `discover v1.5.8`、`redis v1.5.11` 与稳定版 `redigo v1.9.3`。 +- `go test -v ./...` 与 `go test -bench=. ./...` 全部通过。 + ## v1.5.21 验证 - `go list -m all`:模块图使用 `discover v1.5.7`、`redis v1.5.11` 与稳定版 `redigo v1.9.3`。 - `go test -v ./...` 与 `go test -bench=. ./...` 全部通过。 ## 性能测试 (Benchmark) -- 测试日期: 2026-07-18 -- 版本: v1.5.21 -- 指标: `BenchmarkRouting`: **2382 ns/op** +- 测试日期: 2026-07-19 +- 版本: v1.5.22 +- 指标: `BenchmarkRouting`: **2269 ns/op** - 环境: Darwin / Apple M3 Max ## 单元测试覆盖 (Unit Test) diff --git a/go.mod b/go.mod index 9a21423..5396647 100644 --- a/go.mod +++ b/go.mod @@ -3,16 +3,15 @@ module apigo.cc/go/service go 1.25.0 require ( - apigo.cc/go/cast v1.5.4 - apigo.cc/go/config v1.5.3 - apigo.cc/go/discover v1.5.7 - apigo.cc/go/file v1.5.5 - apigo.cc/go/http v1.5.3 - apigo.cc/go/id v1.5.6 + apigo.cc/go/cast v1.5.5 + apigo.cc/go/config v1.5.4 + apigo.cc/go/discover v1.5.8 + apigo.cc/go/file v1.5.6 + apigo.cc/go/http v1.5.4 + apigo.cc/go/id v1.5.7 apigo.cc/go/jsmod v1.5.3 - apigo.cc/go/log v1.5.8 + apigo.cc/go/log v1.5.9 apigo.cc/go/redis v1.5.11 - apigo.cc/go/safe v1.5.2 apigo.cc/go/starter v1.5.6 apigo.cc/go/timer v1.5.0 apigo.cc/go/watch v1.5.2 @@ -21,10 +20,11 @@ require ( ) require ( - apigo.cc/go/crypto v1.5.4 // indirect - apigo.cc/go/encoding v1.5.5 // indirect - apigo.cc/go/rand v1.5.3 // indirect - apigo.cc/go/shell v1.5.4 // indirect + apigo.cc/go/crypto v1.5.5 // indirect + apigo.cc/go/encoding v1.5.6 // indirect + apigo.cc/go/rand v1.5.4 // indirect + apigo.cc/go/safe v1.5.3 // indirect + apigo.cc/go/shell v1.5.5 // indirect github.com/fsnotify/fsnotify v1.10.1 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gomodule/redigo v1.9.3 // indirect diff --git a/go.sum b/go.sum index f784981..47242f4 100644 --- a/go.sum +++ b/go.sum @@ -1,31 +1,31 @@ -apigo.cc/go/cast v1.5.4 h1:OH5Vkrc1K19wuazf9VecjwwMwKDFgLQkI3UvwB4umcs= -apigo.cc/go/cast v1.5.4/go.mod h1:GMjjrYn93tWat1U409G7h1jR3ejfLLI7r0efBo9Sbd4= -apigo.cc/go/config v1.5.3 h1:peq1FM2xO+vzPHJf8Dwg3DXm8PtFQMfTFKQj6fpoG7A= -apigo.cc/go/config v1.5.3/go.mod h1:ZiOAjWa1mQIzszaJZN+kO6YU4GXreng+NxkcK/TAkqQ= -apigo.cc/go/crypto v1.5.4 h1:7rFcF9Mns+7BIB13lystvLVsAeYapKsrD26KOrQq2Zk= -apigo.cc/go/crypto v1.5.4/go.mod h1:PheYKHEXmoEFI1AK5PpY1borQWcRlkkSaWncT3cWbhE= -apigo.cc/go/discover v1.5.7 h1:wb2hXr+6mGxZ+yjOuTNzeLSZ8tNaPvn+dl1AuedPRm0= -apigo.cc/go/discover v1.5.7/go.mod h1:Vg41wYA5+M7t883imlQEOwdeUPZPoNrzDWVshum7KYo= -apigo.cc/go/encoding v1.5.5 h1:kduNLWQgtcQqHYobOuu1djbgg8LedkGOe8f18ZMfqzs= -apigo.cc/go/encoding v1.5.5/go.mod h1:Big9q1Zwy4071dXtnrQ3SJDzfa/G7/A60KE/5+M//P8= -apigo.cc/go/file v1.5.5 h1:/+HmDumLu6Qk2KuQL63M9lpgzHTDL+QJ8dStOl7e9gs= -apigo.cc/go/file v1.5.5/go.mod h1:xRVNhctvqOKeBemmcRW/BQfgkc3B+vT/UZVdSc7duUo= -apigo.cc/go/http v1.5.3 h1:nvJh9bqPPcPRv6p8WEw7bJAd0UC+r2zvQA8/QioVLTQ= -apigo.cc/go/http v1.5.3/go.mod h1:cFrPK61y9f1PrsNSJscZT/QVOgkT15o9OP7O8cuMb8Q= -apigo.cc/go/id v1.5.6 h1:Z3PPp8H8FgNHMwHerxtT2GgstueDv4aCDnUUCoQZoFQ= -apigo.cc/go/id v1.5.6/go.mod h1:HcJK691qfBPzvQ/lt8bo/incKUFtG5vENX/rDEgzJh0= +apigo.cc/go/cast v1.5.5 h1:DMbfK3uPhPjRaXutj3StIZIkfjFIATSXfuAOeNOd4Fw= +apigo.cc/go/cast v1.5.5/go.mod h1:GMjjrYn93tWat1U409G7h1jR3ejfLLI7r0efBo9Sbd4= +apigo.cc/go/config v1.5.4 h1:1c/OarGwbz3+6ikurE+a6LJLjtzXvGvbxw3HV/Nk54M= +apigo.cc/go/config v1.5.4/go.mod h1:oN+D2F8ETIyqKp+Yu8R4PRQlUoqR44o35jAHwLrrAq0= +apigo.cc/go/crypto v1.5.5 h1:YQHumieqviNGMhwoxDtMuUdGWAQiGrkVhz9hZRHOhWs= +apigo.cc/go/crypto v1.5.5/go.mod h1:z/FXt0HE7fSMJKF2MF7jY2fSjlHUYYaSffETJ7ZzJmE= +apigo.cc/go/discover v1.5.8 h1:82GGPamZ6X4jVNAsFe1VxgMhA5H9PqHFxWRfUFG+ltY= +apigo.cc/go/discover v1.5.8/go.mod h1:dkvah/jnhUzXsXe/roNtUrLIPs7fMbJrFuIbDvQLWDY= +apigo.cc/go/encoding v1.5.6 h1:v02swVfbFGidD4QcX2ktuHHbCjdSbOB85fhzAXay+7M= +apigo.cc/go/encoding v1.5.6/go.mod h1:Big9q1Zwy4071dXtnrQ3SJDzfa/G7/A60KE/5+M//P8= +apigo.cc/go/file v1.5.6 h1:Y7w3Tyu4e16VuED7rF2pzba+dzGE+hjDnBlIPVHIfzA= +apigo.cc/go/file v1.5.6/go.mod h1:9sdW4ylSOA0HWc8Yt8qdnmMf6nn5SUEmjoPKyXpYXIQ= +apigo.cc/go/http v1.5.4 h1:Tm95WMsXyazFnaaPopdMXv1k9TiaPenLxDQ40WCrsEQ= +apigo.cc/go/http v1.5.4/go.mod h1:cFrPK61y9f1PrsNSJscZT/QVOgkT15o9OP7O8cuMb8Q= +apigo.cc/go/id v1.5.7 h1:Y5Sx6sQBCAdYMCQPTjODZyGMMd1+WRWCy2dWHVq11XQ= +apigo.cc/go/id v1.5.7/go.mod h1:fugudFBqfVNakfm91zZzuzU0P4PULzo6sylB8hRMqxA= apigo.cc/go/jsmod v1.5.3 h1:S3W317bH0QV2NMeRO1E0v6ySIBOfMWYv/NuQJbvqKWU= apigo.cc/go/jsmod v1.5.3/go.mod h1:bmyeZtOAP/j5am+YRnaiM89smysK24K7ebk0koFtsSw= -apigo.cc/go/log v1.5.8 h1:/IYtGPWhRjT3OayylDIphkWZIQbpLjqVeSnFEiD3Dy0= -apigo.cc/go/log v1.5.8/go.mod h1:HfFPANMYxJx197SSTXB21Pgxcz/gGqPP8nlSErgd5WE= -apigo.cc/go/rand v1.5.3 h1:O4bPIwyaOWEBCr0nL9A4G4qG48AqiGTCzfPeckm3Ius= -apigo.cc/go/rand v1.5.3/go.mod h1:q1BTFkY/cXE229dDD5Q22lF7T0DoKPV6xAu+6bCrDH4= +apigo.cc/go/log v1.5.9 h1:g8JehZrpVJyesesv+JFig5szEELsO4UjShsjlEihCfc= +apigo.cc/go/log v1.5.9/go.mod h1:b4f/UB5Kk7oiFtkXvG4GVilmHGygWgxELRAdEZrIyfs= +apigo.cc/go/rand v1.5.4 h1:eessFBsKQuoOYdzrStldOGw9f4HqbeO87X95bI4jIBQ= +apigo.cc/go/rand v1.5.4/go.mod h1:q1BTFkY/cXE229dDD5Q22lF7T0DoKPV6xAu+6bCrDH4= apigo.cc/go/redis v1.5.11 h1:r/kiY3EUD+3YwTd+zMZaRD7eOQZEIvSJwAVnzG96zoQ= apigo.cc/go/redis v1.5.11/go.mod h1:sCzxIWN+nNIRvR5ePaHsP19hjR52NPfXsq7L1c6A5ec= -apigo.cc/go/safe v1.5.2 h1:EnuEOW/SGwf/5A0nw9LnqfKJE071+TIc6ez8HI9R9Lg= -apigo.cc/go/safe v1.5.2/go.mod h1:2GqCCLLGex4OAhdET3iBWm1R+LIYtmTrvHP8W0iESSw= -apigo.cc/go/shell v1.5.4 h1:Kn6lP6I6d9U0hbyUjpKKFdFZ8RPo4vi4V6AYW8YFzrc= -apigo.cc/go/shell v1.5.4/go.mod h1:FdZWUrcXHGJXo725oSyHqAeFoX0E9yY3PDhrz9hujgY= +apigo.cc/go/safe v1.5.3 h1:9p/BmdlVWLbekpKByZIFC09Qn8Wdhik2eINiwunBxPs= +apigo.cc/go/safe v1.5.3/go.mod h1:Ay8kEPL76DeXH4ifsVTc/3/sfGHlWLQjAp4vi7GA9AI= +apigo.cc/go/shell v1.5.5 h1:sf1QZiL7IHkoOLdrYX1qT4JWIlYZIAAYGJJXorjscB4= +apigo.cc/go/shell v1.5.5/go.mod h1:FdZWUrcXHGJXo725oSyHqAeFoX0E9yY3PDhrz9hujgY= apigo.cc/go/starter v1.5.6 h1:hcZbR/70q0XW8xZII8BnGDmIomus//+8sWxGqluyj0U= apigo.cc/go/starter v1.5.6/go.mod h1:abqfSu+lUz/FySn1VxjT8QeAa3mfKo6WrP5xLddw7QE= apigo.cc/go/timer v1.5.0 h1:iPo/IQn+iuhBRI1/MR1txwZnamef/RBBfOiIlBiqkgk=