Releases: gogf/gf
GoFrame Release v2.9.4
What's Changed
- fix: update gf cli to v2.9.3 by @github-actions[bot] in #4418
 - fix(database/gredis): gredis support get raw client by @YunzhiYike in #4306
 - docs(i18n/gi18n): deleting the duplicate package documents by @qiulaidongfeng in #4251
 - feat(database/gdb): Add the function of obtaining all configurations to facilitate business operations such as verification after addition. by @sxp20008 in #4389
 - ci: Add Scorecard workflow for supply-chain security by @hailaz in #4437
 - ci: Add CodeQL analysis workflow configuration by @hailaz in #4436
 - fix(cmd/gf): add extra option to controller the behavior downloading … by @wanghaolonggit in #4435
 - fix(cmd/gf): run AddSigHandlerShutdown cannot work well) by @wanghaolonggit in #4441
 - fix(database/gdb): performance improvement in fields grouping when in… by @wanghaolonggit in #4440
 - fix(gerror): Fixed serialization failure issue when gerror.Error text field contains quote symbols by @chen-mou in #4449
 - fix(net/ghttp): Server Domain if is empty str, bind handler pattern will add @ which is not expect #4100 by @elonnzhang in #4101
 - fix(database/gdb): Fix GetArray return type and add Bools method by @hailaz in #4452
 - feat(contrib/drivers/mssql): mssql support LastInsertId by @lxy1151 in #4051
 - fix(database/gdb): Resolved the schema error in the database output log when using the database sharding feature by @LanceAdd in #4319
 - fix(container/gqueue): Optimize queue length calculation and loop structure in test cases by @hailaz in #4455
 - feat(cmd/gf): add broad matching to gf gen dao's tableEx attribute. by @joy999 in #4453
 - fix(contrib/drivers/mysql): Fix unit test issue for batch insert in MySQL driver by @hailaz in #4456
 - fix:(cmd/gf): matching for table ex fix bug by @joy999 in #4458
 - fix(net/ghttp): attachment filename support utf8 by @wanghaolonggit in #4459
 - fix: v2.9.4 by @hailaz in #4461
 
New Contributors
- @YunzhiYike made their first contribution in #4306
 - @qiulaidongfeng made their first contribution in #4251
 - @sxp20008 made their first contribution in #4389
 - @chen-mou made their first contribution in #4449
 - @elonnzhang made their first contribution in #4101
 - @lxy1151 made their first contribution in #4051
 
Full Changelog: v2.9.3...v2.9.4
GoFrame Release v2.9.3
What's Changed
- fix: #4269 by @hailaz in #4412
 - chore: chmod +x update_version.sh by @hailaz in #4413
 - fix: path ./cmd/gf by @hailaz in #4414
 - fix: Improve the typeMap check logic of "gf gen dao" by @joy999 in #4410
 - fix: Update dependencies and exclude test data from go.mod processing by @hailaz in #4415
 - fix: update gf cli to v2.9.3-rc4 by @github-actions[bot] in #4416
 - fix(os/gtime): fix gtime time string handle logic by @Zjmainstay in #4409
 - fix: Update version to v2.9.3 by @hailaz in #4417
 
New Contributors
- @Zjmainstay made their first contribution in #4409
 
Full Changelog: v2.9.2...v2.9.3
GoFrame Release v2.9.2
What's Changed
- fix: update dependencies to version v2.9.1 for various contrib modules and drivers by @hailaz in #4386
 - fix: spacing in min value validation message by @houseme in #4388
 - fix: revert #4388 by @hailaz in #4392
 - perf(net/gclient): optimize default http.Transport connection pool configuration by @lxzan in #4390
 - refactor: interface{} to any and reflect.Ptr to reflect.Pointer by @hailaz in #4395
 - fix(net/ghttp): wrong in-tag param parse for query param (#4227) by @UncleChair in #4228
 - chore: add OpenSSF Scorecard for README.md by @fengshunli in #3696
 - fix: disable specific staticcheck rules and update lint config by @houseme in #4396
 - feat: update linter config and deprecation notice by @houseme in #4399
 - fix(net/goai): fix g.Meta is passed as parameters of a request by @wanghaolonggit in #4397
 - fix: report coverage on the latest go version by @hailaz in #4398
 - chore(tablewriter): upgrade to v1.0.9 and refactor table rendering logic by @zishang520 in #4352
 - fix: version 2.9.2 by @hailaz in #4405
 
New Contributors
Full Changelog: v2.9.1...v2.9.2
GoFrame Release v2.9.1
What's Changed
- feat(net/ghttp): enhance GetHeader method to support default values by @hailaz in #4210
 - feat(util/gpage): marked deprecated by @gqcn in #4230
 - fix(ci): change base image from expired ubuntu-22.04 to ubuntu-latest by @gqcn in #4273
 - fix(net/ghttp): improve GetMetaTag method to handle nil and type checks by @hailaz in #4284
 - fix(database/gdb): support multiple order fields in gdb_model_with and merged #4272 fix scanning functionality for deep slice types by @fainc in #4320
 - chore: bump golang.org/x/tools to v0.34.0 for Go 1.25 compatibility by @chenrui333 in #4313
 - fix(os/gtime): add handling for nil time pointers to avoid causing panic by @hailaz in #4323
 - fix(cmd/gf): "unknown time zone" when using "gf gen dao" for clickhouse on windows platform by @joy999 in #4368
 - fix(internal/utils): fix +.1 is pass checks numeric by @wanghaolonggit in #4374
 - chore: upgrade golangci-lint configuration and optimize codebase by @houseme in #4236
 - chore(polaris): Bump 
github.com/polarismesh/polaris-gofrom v1.5.8 to v1.6.1 by @houseme in #4241 - chore: upgrade dependencies to latest versions and fix security vulne… by @houseme in #4237
 - fix(cmd/gf): fix gen sharding dao in multiple shardingPattern tables … by @fainc in #4379
 - chore(contrib/nosql/redis): bump github.com/redis/go-redis/v9 from 9.7.0 to 9.12.1 in /contrib/nosql/redis by @dependabot[bot] in #4215
 - feat(ci): upgrade workflow checkout version v5 by @houseme in #4381
 - fix(database/gdb): clickhouse can not support int128/int256/uint128/uint256 by @joy999 in #4370
 - fix(tracing): set database span kind to client by @minimAluminiumalism in #4334
 - chore(deps): Update dependent versions to enhance compatibility and security by @hailaz in #4380
 
New Contributors
- @chenrui333 made their first contribution in #4313
 - @wanghaolonggit made their first contribution in #4374
 - @minimAluminiumalism made their first contribution in #4334
 
Full Changelog: v2.9.0...v2.9.1
GoFrame Release v2.9.0
What's Changed
Feature
- 
feat(cmd/gf): add
ShardingPatternoption for commandgf gen daoto support generating dao files sharding tables by @gqcn in #4081 - 
feat(cmd/gf): add
gopackageoption for commandgf gen pbentityto specifygo_packagefor generated proto files by @lazyjean in #4141 - 
feat(cmd/gf): add
typeMappingandfieldMappingfeature support for commandgf gen genpbentityby @zishang520 in #3970 - 
feat(contrib/config/nacos): add OnChange callbacks configuration support by @LanceAdd in #4038
 - 
feat(contrib/drivers/pgsql): add array type
varchar[]andtext[]converting to Go[]stringsupport by @ninjashixuan in #4000 - 
feat(contrib/metric/otelmetric): add metrics option
WithExemplarFiltersupport by @qinyuguang in #4061 - 
feat(contrib/registry/consul): add consul registry support by @gqcn in #4016
 - 
feat(contrib/registry/etcd): add retry machenism when keepalive lease expires by @gqcn in #4035
 - 
feat(database/gdb): add
WhereExists/WhereNotExistsby @gqcn in #4015 - 
feat(database/gdb): add sharding feature for schema and table by @gqcn in #4014
 - 
feat(database/gdb): add transaction propagation&isolation level&readonly features by @gqcn in #4013
 - 
feat(gf/gen/pbentity): add a
TablesExconfiguration to exclude the specified table names by @wwwfeng in #4060 - 
feat(net/ghttp): add
Request.GetMetaTagto retrieve specific meta tag value by @PandaPy in #4185 - 
feat(net/ghttp): add middleware
MiddlewareGzipfor compressing response content using gzip by @gqcn in #4008 - 
feat(net/ghttp): move plugin remove logic to Shutdown() && call Shutdown() when Run() exits by @wlynxg in #4072
 - 
feat(net/goai): add enhanced response status interface by @UncleChair in #3896
 - 
feat(net/goai): add min, max, length, min-length, max-length and between support for OpenAPIv3 by @ninjashixuan in #3914
 - 
feat(net/goai): support OpenAPIv3.1 in description field for schema object by @wlynxg in #3978
 - 
feat(os/gsession): add
RegenerateId/MustRegenerateIdsupport by @gqcn in #4012 - 
feat(util/gconv): add basic types conversion support for function Scan by @gqcn in #3991
 - 
refactor(util/gconv): add
Converterfeature for more flexable and extensible type converting by @gqcn in #4107 
Enhancement
- feat(cmd/gf): add controller comment support for command 
gf gen ctrlby @ywanbing in #4169 - feat(cmd/gf): add interface functions generating for embedded struct of logic struct in command 
gen serviceby @joy999 in #3802 - feat(cmd/gf): beautify progress bar of cli binary downloading for command 
gf upby @wangle201210 in #4094 - feat(gctx): rename and remove gctx functions to prevent ambiguity by @mingzaily in #3892
 - feat(database/gdb): enable transaction propagation when using 
tx.GetCtx()afterBeginby @cyjaysong in #4121 - feat(net/gipv4): improve converting between uint32 and string by @oldme-git in #3988
 - feat(os/gcmd): add default value display for an argument by @wlynxg in #4083
 - feat(os/glog): add default time format 
2006-01-02T15:04:05.000Z07:00by @gqcn in #4134 - feat(test/gtest): add map type support for 
AssertNI/AssertINby @ansionfor in #4135 - perf(contrib/drivers/pgsql): improve conversion performace for slice string field type by @ninjashixuan in #4046
 - refactor(cmd/gf): change default src value to 
api, path tointernal/packed/packed_enums.gofor commandgen enumsby @gqcn in #3996 
Bug Fix
- fix(ci): golangci-lint failed after upgrading go version to 1.24 by @gqcn in #4158
 - fix(ci/golangci): fix golangcl-lint git push and apply format code on Push by @houseme in #4077
 - fix(ci/golangci): fix golangcl-lint git push by @houseme in #4032
 - fix(cmd/gf): custom tags repeatedly added using command 
gf gen pbwith-aoption by @wangle201210 in #3966 - fix(cmd/gf): incorrect environment variables printing before cli does some environment changes by @ppanphper in #3961
 - fix(cmd/gf): incorrect make command in project template by @gqcn in #3946
 - fix(contrib/config/polaris): it only supports json format for configuration contents, add more content formats support by @stardemo in #4126
 - fix(contrib/drivers/mssql): support pagination for both older 2008 and newer 2012 mssql version by @gqcn in #4043
 - fix(contrib/drivers/pgsql): add unix socket connection support by @gqcn in #4028
 - fix(contrib/drivers/pgsql): incompatible placeholder replacement with old version by @gqcn in #4036
 - fix(contrib/registry/consul): update dependence of gf to v2.8.2 with relative path specified by @gqcn in #4029
 - fix(contrib/registry/etcd): remove default configuration of 
AutoSyncIntervalby @gqcn in #4027 - fix(database/gdb): CRUD typos by @huty1998 in #4017
 - fix(database/gdb): 
gdb.Counternot work inOnDuplicateby @cyjaysong in #4073 - fix(database/gdb): add compatibility for old configiration with both 
Typeand part ofLinkconfigurations by @gqcn in #4058 - fix(database/gdb): fix context canceled error in transaction due to usage of 
TransTimeoutconfiguration by @gqcn in #4037 - fix(database/gdb): incompatitable statement like 
Order("id", "dasc")by @gqcn in #3949 - fix(database/gdb): issue where the 
Count/Value/Arrayquery logic was incompatible with the old version when users extended the returned result fields using theSelectHook by @gqcn in #3995 - fix(database/gdb): move 
Rawparameter from args to sql statement before committed to db driver by @gqcn in #3997 - fix(database/gdb): orm tag from embedded struct is missing in 
withfeature by @gqcn in #4011 - fix(database/gdb): recognize 
tinyint(1)/int(1)as bool by @gqcn in #3943 - fix(database/gdb): regular expression pattern for link configuration to be compitable with tidbcloud by @robotism in #4064
 - fix(net/gclient): remove default discovery for gclient when Discovery feature enabled by @gqcn in #4174
 - fix(net/ghttp): BufferWriter.Flush writes additional information after custom response wrote by @wlynxg in #4116
 - fix(net/ghttp): 
MakeBodyRepeatableReadtakes not effective when called afterParseFormby @cyjaysong in #4143 - fix(net/ghttp): 
MiddlewareHandlerResponsewrites additional information after custom response wrote by @wlynxg in #4109 - fix(net/ghttp): invalid CORS AllowOrigin parsing from referer by @y1jiong in #3990
 - fix(net/ghttp): json omitempty takes no effect in 
BuildParams, which is not compatible with old version by @gqcn in #4041 - fix(net/ghttp): nil pointer panic error when server logger set nil by @gqcn in #4055
 - fix(net/ghttp): occasional ci failed by unit testing cases using 
gctp.GetFreePortby @gqcn in #3982 - fix(net/ghttp): remove unused code snippet by @ansionfor in #4131
 - fix(net/ghttp): update response message handling in 
MiddlewareHandlerResponseby @hailaz in #4162 - fix(net/ghttp):check parameter existence to determine using default or front-end value. by @river291 in #4182
 - fix(net/goai): embedded struct with tags also expand as properties of the parent struct by @wlynxg in #3956
 - fix(os/gcache): function 
Removereturns value not*gvar.Varas previous version by @y1jiong in #3936 - fix(os/gview): search file faild from resource manager of package gres by @ynwcel in #4024
 - fix(registry/zookeeper): watch service name path error with extra suffix 
-by @cruelchen in #3948 - fix(util/gpage):  
html.EscapeStringfor pagination HTML generation and URL parsing by @houseme in #4079 - fix(util/gpage): code scanning alert no. 9: Potentially unsafe quoting by @houseme in #3992
 - fix(util/gutil): code scanning alert no. 17: Potentially un...
 
GoFrame Release v2.9.0-beta
What's Changed
Feature
- 
feat(cmd/gf): add
ShardingPatternoption for commandgf gen daoto support generating dao files sharding tables by @gqcn in #4081 - 
feat(cmd/gf): add
gopackageoption for commandgf gen pbentityto specifygo_packagefor generated proto files by @lazyjean in #4141 - 
feat(cmd/gf): add
typeMappingandfieldMappingfeature support for commandgf gen genpbentityby @zishang520 in #3970 - 
feat(contrib/config/nacos): add OnChange callbacks configuration support by @LanceAdd in #4038
 - 
feat(contrib/drivers/pgsql): add array type
varchar[]andtext[]converting to Go[]stringsupport by @ninjashixuan in #4000 - 
feat(contrib/metric/otelmetric): add metrics option
WithExemplarFiltersupport by @qinyuguang in #4061 - 
feat(contrib/registry/consul): add consul registry support by @gqcn in #4016
 - 
feat(contrib/registry/etcd): add retry machenism when keepalive lease expires by @gqcn in #4035
 - 
feat(database/gdb): add
WhereExists/WhereNotExistsby @gqcn in #4015 - 
feat(database/gdb): add sharding feature for schema and table by @gqcn in #4014
 - 
feat(database/gdb): add transaction propagation&isolation level&readonly features by @gqcn in #4013
 - 
feat(gf/gen/pbentity): add a
TablesExconfiguration to exclude the specified table names by @wwwfeng in #4060 - 
feat(net/ghttp): add
Request.GetMetaTagto retrieve specific meta tag value by @PandaPy in #4185 - 
feat(net/ghttp): add middleware
MiddlewareGzipfor compressing response content using gzip by @gqcn in #4008 - 
feat(net/ghttp): move plugin remove logic to Shutdown() && call Shutdown() when Run() exits by @wlynxg in #4072
 - 
feat(net/goai): add enhanced response status interface by @UncleChair in #3896
 - 
feat(net/goai): add min, max, length, min-length, max-length and between support for OpenAPIv3 by @ninjashixuan in #3914
 - 
feat(net/goai): support OpenAPIv3.1 in description field for schema object by @wlynxg in #3978
 - 
feat(os/gsession): add
RegenerateId/MustRegenerateIdsupport by @gqcn in #4012 - 
feat(util/gconv): add basic types conversion support for function Scan by @gqcn in #3991
 - 
refactor(util/gconv): add
Converterfeature for more flexable and extensible type converting by @gqcn in #4107 
Enhancement
- feat(cmd/gf): add controller comment support for command 
gf gen ctrlby @ywanbing in #4169 - feat(cmd/gf): add interface functions generating for embedded struct of logic struct in command 
gen serviceby @joy999 in #3802 - feat(cmd/gf): beautify progress bar of cli binary downloading for command 
gf upby @wangle201210 in #4094 - feat(gctx): rename and remove gctx functions to prevent ambiguity by @mingzaily in #3892
 - feat(database/gdb): enable transaction propagation when using 
tx.GetCtx()afterBeginby @cyjaysong in #4121 - feat(net/gipv4): improve converting between uint32 and string by @oldme-git in #3988
 - feat(os/gcmd): add default value display for an argument by @wlynxg in #4083
 - feat(os/glog): add default time format 
2006-01-02T15:04:05.000Z07:00by @gqcn in #4134 - feat(test/gtest): add map type support for 
AssertNI/AssertINby @ansionfor in #4135 - perf(contrib/drivers/pgsql): improve conversion performace for slice string field type by @ninjashixuan in #4046
 - refactor(cmd/gf): change default src value to 
api, path tointernal/packed/packed_enums.gofor commandgen enumsby @gqcn in #3996 
Bug Fix
- fix(ci): golangci-lint failed after upgrading go version to 1.24 by @gqcn in #4158
 - fix(ci/golangci): fix golangcl-lint git push and apply format code on Push by @houseme in #4077
 - fix(ci/golangci): fix golangcl-lint git push by @houseme in #4032
 - fix(cmd/gf): custom tags repeatedly added using command 
gf gen pbwith-aoption by @wangle201210 in #3966 - fix(cmd/gf): incorrect environment variables printing before cli does some environment changes by @ppanphper in #3961
 - fix(cmd/gf): incorrect make command in project template by @gqcn in #3946
 - fix(contrib/config/polaris): it only supports json format for configuration contents, add more content formats support by @stardemo in #4126
 - fix(contrib/drivers/mssql): support pagination for both older 2008 and newer 2012 mssql version by @gqcn in #4043
 - fix(contrib/drivers/pgsql): add unix socket connection support by @gqcn in #4028
 - fix(contrib/drivers/pgsql): incompatible placeholder replacement with old version by @gqcn in #4036
 - fix(contrib/registry/consul): update dependence of gf to v2.8.2 with relative path specified by @gqcn in #4029
 - fix(contrib/registry/etcd): remove default configuration of 
AutoSyncIntervalby @gqcn in #4027 - fix(database/gdb): CRUD typos by @huty1998 in #4017
 - fix(database/gdb): 
gdb.Counternot work inOnDuplicateby @cyjaysong in #4073 - fix(database/gdb): add compatibility for old configiration with both 
Typeand part ofLinkconfigurations by @gqcn in #4058 - fix(database/gdb): fix context canceled error in transaction due to usage of 
TransTimeoutconfiguration by @gqcn in #4037 - fix(database/gdb): incompatitable statement like 
Order("id", "dasc")by @gqcn in #3949 - fix(database/gdb): issue where the 
Count/Value/Arrayquery logic was incompatible with the old version when users extended the returned result fields using theSelectHook by @gqcn in #3995 - fix(database/gdb): move 
Rawparameter from args to sql statement before committed to db driver by @gqcn in #3997 - fix(database/gdb): orm tag from embedded struct is missing in 
withfeature by @gqcn in #4011 - fix(database/gdb): recognize 
tinyint(1)/int(1)as bool by @gqcn in #3943 - fix(database/gdb): regular expression pattern for link configuration to be compitable with tidbcloud by @robotism in #4064
 - fix(net/gclient): remove default discovery for gclient when Discovery feature enabled by @gqcn in #4174
 - fix(net/ghttp): BufferWriter.Flush writes additional information after custom response wrote by @wlynxg in #4116
 - fix(net/ghttp): 
MakeBodyRepeatableReadtakes not effective when called afterParseFormby @cyjaysong in #4143 - fix(net/ghttp): 
MiddlewareHandlerResponsewrites additional information after custom response wrote by @wlynxg in #4109 - fix(net/ghttp): invalid CORS AllowOrigin parsing from referer by @y1jiong in #3990
 - fix(net/ghttp): json omitempty takes no effect in 
BuildParams, which is not compatible with old version by @gqcn in #4041 - fix(net/ghttp): nil pointer panic error when server logger set nil by @gqcn in #4055
 - fix(net/ghttp): occasional ci failed by unit testing cases using 
gctp.GetFreePortby @gqcn in #3982 - fix(net/ghttp): remove unused code snippet by @ansionfor in #4131
 - fix(net/ghttp): update response message handling in 
MiddlewareHandlerResponseby @hailaz in #4162 - fix(net/ghttp):check parameter existence to determine using default or front-end value. by @river291 in #4182
 - fix(net/goai): embedded struct with tags also expand as properties of the parent struct by @wlynxg in #3956
 - fix(os/gcache): function 
Removereturns value not*gvar.Varas previous version by @y1jiong in #3936 - fix(os/gview): search file faild from resource manager of package gres by @ynwcel in #4024
 - fix(registry/zookeeper): watch service name path error with extra suffix 
-by @cruelchen in #3948 - fix(util/gpage):  
html.EscapeStringfor pagination HTML generation and URL parsing by @houseme in #4079 - fix(util/gpage): code scanning alert no. 9: Potentially unsafe quoting by @houseme in #3992
 - fix(util/gutil): code scanning alert no. 17: Potentially ...
 
GoFrame Release v2.8.3
What's Changed
- chore: update FUNDING.yml by @gqcn in #4049
 - feat(contrib/config/nacos): add OnChange callbacks configuration support by @LanceAdd in #4038
 - feat(contrib/registry/etcd): add retry machenism when keepalive lease expires by @gqcn in #4035
 - fix(ci/golangci): fix golangcl-lint git push by @houseme in #4032
 - fix(contrib/drivers/mssql): support pagination for both older 2008 and newer 2012 mssql version by @gqcn in #4043
 - fix(contrib/drivers/pgsql): incompatible placeholder replacement with old version by @gqcn in #4036
 - fix(database/gdb): add compatibility for old configiration with both 
Typeand part ofLinkconfigurations by @gqcn in #4058 - fix(database/gdb): fix context canceled error in transaction due to usage of 
TransTimeoutconfiguration by @gqcn in #4037 - fix(net/ghttp): json omitempty takes no effect in 
BuildParams, which is not compatible with old version by @gqcn in #4041 - perf(contrib/drivers/pgsql): improve conversion performace for slice string field type by @ninjashixuan in #4046
 - test(net/gipv4): add unit tests by @oldme-git in #4052
 
Full Changelog: v2.8.2...v2.8.3
GoFrame Release v2.8.2
What's Changed
Feature
- feat(cmd/gf): add 
typeMappingandfieldMappingfeature support for commandgf gen genpbentityby @zishang520 in #3970 - feat(cmd/gf): add interface functions generating for embedded struct of logic struct in command 
gen serviceby @joy999 in #3802 - feat(contrib/drivers/pgsql): add array type 
varchar[]andtext[]converting to Go[]stringsupport by @ninjashixuan in #4000 - feat(contrib/registry/consul): add consul registry support by @gqcn in #4016
 - feat(database/gdb): add 
WhereExists/WhereNotExistsby @gqcn in #4015 - feat(database/gdb): add sharding feature for schema and table by @gqcn in #4014
 - feat(database/gdb): add transaction propagation&isolation level&readonly features by @gqcn in #4013
 - feat(errors/gerror): add 
Assupport by @gqcn in #4002 - feat(net/ghttp): add middleware 
MiddlewareGzipfor compressing response content using gzip by @gqcn in #4008 - feat(os/gsession): add 
RegenerateId/MustRegenerateIdsupport by @gqcn in #4012 
Enhancement
- feat(gctx): rename and remove gctx functions to prevent ambiguity by @mingzaily in #3892
 - feat(net/gipv4): add enhanced the conversion between uint32 and string by @oldme-git in #3988
 - feat(net/goai): support OpenAPIv3.1 in description field for schema object by @wlynxg in #3978
 - refactor(cmd/gf): change default src value to 
api, path tointernal/packed/packed_enums.gofor commandgen enumsby @gqcn in #3996 
BugFix
- fix(cmd/gf): custom tags repeatedly added using command 
gf gen pbwith-aoption by @wangle201210 in #3966 - fix(contrib/drivers/pgsql): add unix socket connection support by @gqcn in #4028
 - fix(contrib/registry/consul): update dependence of gf to v2.8.2 with relative path specified by @gqcn in #4029
 - fix(contrib/registry/etcd): remove default configuration of 
AutoSyncIntervalby @gqcn in #4027 - fix(database/gdb): CRUD typos by @huty1998 in #4017
 - fix(database/gdb): issue where the 
Count/Value/Arrayquery logic was incompatible with the old version when users extended the returned result fields using theSelectHook by @gqcn in #3995 - fix(database/gdb): move 
Rawparameter from args to sql statement before committed to db driver by @gqcn in #3997 - fix(database/gdb): orm tag from embedded struct is missing in 
withfeature by @gqcn in #4011 - fix(net/ghttp): invalid CORS AllowOrigin parsing from referer by @yzy613 in #3990
 - fix(net/ghttp): occasional ci failed by unit testing cases using 
gctp.GetFreePortby @gqcn in #3982 - fix(util/gpage): code scanning alert no. 9: Potentially unsafe quoting by @houseme in #3992
 - fix(util/gutil): code scanning alert no. 17: Potentially unsafe quoting by @houseme in #3993
 - fix(utils/gvalid): missing pkg path for enums pointer by @0x7a7a in #3983
 
Chore
- feat: README updates by @gqcn in #3974
 - chore: add example for openapi/swagger authentication by @wangle201210 in #4004
 - chore: fix some function names in comment by @longxiangqiao in #3967
 - chore: improve golangci-lint.yml, upgrade dependencies, and optimize code and comments by @houseme in #4025
 - ci(gci/import): improve golangci.yml and add gci linter by @houseme in #4010
 - docs(cmd/gen): improve comments for command 
gen daoby @houseme in #4007 - test(drivers/mssql): add unit testing cases of transaction by @oldme-git in #3818
 
New Contributors
- @0x7a7a made their first contribution in #3983
 - @longxiangqiao made their first contribution in #3967
 - @huty1998 made their first contribution in #4017
 
Full Changelog: v2.8.1...v2.8.2
GoFrame Release v2.8.1
What's Changed
- chore(database/gdb): comment update for function 
Model.Orderby @wingfeng in #3933 - fix(os/gcache): function 
Removereturns value not*gvar.Varas previous version by @yzy613 in #3936 - fix(database/gdb): recognize 
tinyint(1)/int(1)as bool by @gqcn in #3943 - fix(registry/zookeeper): watch service name path error with extra suffix 
-by @cruelchen in #3948 - fix(cmd/gf): incorrect make command in project template by @gqcn in #3946
 - fix(database/gdb): incompatitable statement like 
Order("id", "dasc")by @gqcn in #3949 - feat(net/goai): add enhanced response status interface by @UncleChair in #3896
 - fix(net/goai): embedded struct with tags also expand as properties of the parent struct by @wlynxg in #3956
 - feat(net/goai): add min, max, length, min-length, max-length and between support for OpenAPIv3 by @ninjashixuan in #3914
 - fix(cmd/gf): incorrect environment variables printing before cli does some environment changes by @ppanphper in #3961
 - test(database/gdb): add more unit testing cases for 
Rawfeature by @gqcn in #3962 
New Contributors
- @wingfeng made their first contribution in #3933
 - @yzy613 made their first contribution in #3936
 - @ninjashixuan made their first contribution in #3914
 - @ppanphper made their first contribution in #3961
 
Full Changelog: v2.8.0...v2.8.1
GoFrame Release v2.8.0
What's Changed
feature
- feat(cmd/gf): add 
DaMengdatabase driver support by @Insua in #3606 - feat(cmd/gf): add command 
gf docfor local documentation by @hailaz in #3634 - feat(cmd/gf): add command 
gf init xxx -ato create an empty app template folder in mono-repo by @oldme-git in #3550 - feat(cmd/gf): add custom field type mapping support for command 
gf gen daoby @cyjaysong in #3498 - feat(cmd/gf): change document source from repo 
gftogf-siteby @hailaz in #3926 - feat(cmd/gf): project template updates for command 
gf initby @gqcn in #3928 - feat(cmd/gf): project templates update for command 
gf initby @gqcn in #3704 - feat(contrib/drivers/pgsql): add InsertIgnore support by @wwwfeng in #3855
 - feat(contrib/drivers/pgsql): support slice type to insert into array for pgsql by @oldme-git in #3645
 - feat(contrib/registry/etcd/): add 
DialTimeoutandAutoSyncIntervaloption by @fengshunli in #3698 - feat(contrib/rpc/grpcx): use grpc.NewClient instead of grpc.Dial by @oldme-git in #3684
 - feat(contrib/sdk/httpclient): add custom response handler support, fixe #3539 by @jswxstw in #3540
 - feat(database/gdb): add Exist support for checking records existance for certain condition by @cyjaysong in #3854
 - feat(database/gdb): add 
Rawsupport forFieldsfunction ofgdb.Modelby @gqcn in #3873 - feat(database/gdb): add 
timefield type for value converting for/from field by @cyjaysong in #3712 - feat(database/gdb): add 
unscopedtag support for orm struct by @fainc in #3464 - feat(database/gdb): add year field type support for ORM operations by @gqcn in #3805
 - feat(database/gdb): remove unnecessary blank character requirement in tag for With feature of gdb.Model by @gqcn in #3875
 - feat(database/gdb): support 
OrderRandomfeature in different databases by @oldme-git in #3794 - feat(database/gredis): add 
Scanmethod for incremental key retrieval by @phuonganhniie in #3451 - feat(encoding/ghtml): add parameter validation for function 
SpecialCharsMapOrStructby @gqcn in #3841 - feat(net/ghttp): remove 
Req/Ressuffix limitation for input/output parameters of strict router handler by @gqcn in #3848 - feat(net/goai): enhance openapi doc with responses and examples by @UncleChair in #3859
 - feat(os/gcron): add graceful shutdown support by @vector233 in #3625
 - feat(os/gfsnotify): add recursive watching for created subfolders and sub-files under folders that already watched by @gqcn in #3830
 - feat(trace): add trace example for custom trace client and provider by @houseme in #3847
 - feat(util/gvalid): add 
171series number support for virtual phone number validation by @swift-fs in #3622 - feat(util/gvalid): add new rule 
required-if-allby @cococolanosugar in #3455 
enhancement
- perf(database/gdb): performance improvement for struct scanning when with feature disabled by @wln32 in #3677
 - perf(driver/pgsql): optimize regex for version matching by @yincongcyincong in #3583
 - perf(util/gconv): add cache logic to enhance performance by @wln32 in #3673
 - perf(util/gconv): improve performance for struct converting by @wln32 in #3412
 - perf(util/gconv): remove unnecessary logic for function doScanList by @oldme-git in #3588
 - refactor(cmd/gf): delete binary file when command 
gf runends process by @oldme-git in #3628 - refactor(cmd/gf): improve 
gf gen ctrlusingastby @oldme-git in #3616 - refactor(cmd/gf): improve command 
gf gen ctrlusingastby @oldme-git in #3470 - refactor(cmd/gf): improve command 
gf gen ctrlusingastfor parsingDstFolderby @oldme-git in #3478 - refactor(cmd/gf): refactor command 
gf gen servicewithASTby @oldme-git in #3488 - refactor(cmd/gf): use automatic generating package names for go files of 
dao/do/entityinstead of constant package names by @Insua in #3639 - refactor(container/gring): mark deprecated, package 
container/gringwill not be maintained in future by @gqcn in #3665 - refactor(container/gtree): refactor code with gods package by @oldme-git in #3595
 - refactor(contrib/registry/nacos): use official nacos sdk instead of the third-party nacos sdk by @lingcoder in #3745
 - refactor(contrib/trace/jaeger): remove trace jaeger, please use the OpenTelemetry SDKs(otlphttp&otlpgrpc) by @houseme in #3825
 - refactor(database/gdb): remove duplicated SQL records in tracing events by @houseme in #3659
 - refactor(drivers/mssql): change driver from 
github.com/denisenkom/go-mssqldbtogithub.com/microsoft/go-mssqldbby @oldme-git in #3612 - refactor(drivers/pgsql): pgsql returning id should use quotation marks,when primary key is capital by @Insua in #3638
 - refactor(encoding/gjson): change data parameter from type any to []byte by @gqcn in #3542
 - refactor(net/ghttp): enhance 
ghttp.StartPProfServerby @gqcn in #3555 - refactor(net/ghttp): update error message for duplicated routes registering by @hailaz in #3603
 - refactor(net/gudp): improve implements by @gqcn in #3491
 - refactor(util/gconv): refactor code unit testing by @oldme-git in #3591
 - refractor(container/gtree): improve function order of 
btreeby @oldme-git in #3656 - refractor(container/gtree): refactor code with 
godspackage forrbtreeby @oldme-git in #3655 - refractor(container/gtree): refactor code with gods package for avltree by @oldme-git in #3647
 
bug fix
- fix(cmd/gf): 
gf gen daoshould ignorelinkconfiguration from file as it is passed from arguments by @oldme-git in #3531 - fix(cmd/gf): creating logic.go empty folder when there is no correct logic service by @oldme-git in #3815
 - fix(cmd/gf): fix command 
gf gen daofor fieldMapping feature by @cyjaysong in #3549 - fix(cmd/gf): fix command 
gf upwith-uoption upgrading packages indirectly required would fail with higher version of go required by @hailaz in #3687 - fix(cmd/gf): fix gen enums failed in go version v1.22.1 by @oldme-git in #3565
 - fix(cmd/gf): fix pbentity generating fail in mono-repo by @oldme-git in #3547
 - fix(cmd/gf): gen service error when there's version number at the end of package import path by @oldme-git in #3836
 - fix(cmd/gf): go back current working directory after gf gen pb by @oldme-git in #3895
 - fix(cmd/gf): missing configuration file support for cli command 
pack/run/tpl/upby @hailaz in #3629 - fix(cmd/gf): missing file closing when printing downloading percent of gf cli file for command 
gf upby @testwill in #3483 - fix(cmd/gf): protoc file comments contain backticks and double quotes, resulting in syntax errors in the generated file of go by @oldme-git in #3890
 - fix(cmd/gf): remove dir after process done if given build file parameter is not a file but a dir name by @gqcn in #3908
 - fix(cmd/gf): remove dm driver for command 
gen daoas it causes building failed for some platforms by @hailaz in #3667 - fix(cmd/gf): table and field names converted to its lower case before CamelCase converting in command 
gen daoby @gqcn in #3801 - fix(container/gmap&gset): deadlock when removing values during iterating by @LonelySally in #3572
 - fix(container/gtree): deadlock in Map/MapStrAny functions, comments update by @gqcn in #3840
 - fix(contrib/drivers/mssql): fix mssql paging sql generate statement error by @freesme in #3782
 - fix(contrib/drivers/pgsql): connection fails when postgres database password is empty by @wlynxg in #3900
 - fix(contrib/drivers/pgsql): fix insert error when data struct field has nil in PgSQL by @oldme-git in #3679
 - fix(contrib/drivers/pgsql): invalid pgsql insert json type by @Ghw2066 in #3742
 - fix(contrib/drivers/sqlitecgo): support 32-bit architecture by @hailaz in https://github.com/gogf/gf...