Releases: gogf/gf
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-go
from 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
ShardingPattern
option for commandgf gen dao
to support generating dao files sharding tables by @gqcn in #4081 -
feat(cmd/gf): add
gopackage
option for commandgf gen pbentity
to specifygo_package
for generated proto files by @lazyjean in #4141 -
feat(cmd/gf): add
typeMapping
andfieldMapping
feature support for commandgf gen genpbentity
by @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[]string
support by @ninjashixuan in #4000 -
feat(contrib/metric/otelmetric): add metrics option
WithExemplarFilter
support 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/WhereNotExists
by @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
TablesEx
configuration to exclude the specified table names by @wwwfeng in #4060 -
feat(net/ghttp): add
Request.GetMetaTag
to retrieve specific meta tag value by @PandaPy in #4185 -
feat(net/ghttp): add middleware
MiddlewareGzip
for 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/MustRegenerateId
support by @gqcn in #4012 -
feat(util/gconv): add basic types conversion support for function Scan by @gqcn in #3991
-
refactor(util/gconv): add
Converter
feature for more flexable and extensible type converting by @gqcn in #4107
Enhancement
- feat(cmd/gf): add controller comment support for command
gf gen ctrl
by @ywanbing in #4169 - feat(cmd/gf): add interface functions generating for embedded struct of logic struct in command
gen service
by @joy999 in #3802 - feat(cmd/gf): beautify progress bar of cli binary downloading for command
gf up
by @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()
afterBegin
by @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:00
by @gqcn in #4134 - feat(test/gtest): add map type support for
AssertNI/AssertIN
by @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.go
for commandgen enums
by @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 pb
with-a
option 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
AutoSyncInterval
by @gqcn in #4027 - fix(database/gdb): CRUD typos by @huty1998 in #4017
- fix(database/gdb):
gdb.Counter
not work inOnDuplicate
by @cyjaysong in #4073 - fix(database/gdb): add compatibility for old configiration with both
Type
and part ofLink
configurations by @gqcn in #4058 - fix(database/gdb): fix context canceled error in transaction due to usage of
TransTimeout
configuration 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/Array
query logic was incompatible with the old version when users extended the returned result fields using theSelect
Hook by @gqcn in #3995 - fix(database/gdb): move
Raw
parameter 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
with
feature 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):
MakeBodyRepeatableRead
takes not effective when called afterParseForm
by @cyjaysong in #4143 - fix(net/ghttp):
MiddlewareHandlerResponse
writes 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.GetFreePort
by @gqcn in #3982 - fix(net/ghttp): remove unused code snippet by @ansionfor in #4131
- fix(net/ghttp): update response message handling in
MiddlewareHandlerResponse
by @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
Remove
returns value not*gvar.Var
as 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.EscapeString
for 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
ShardingPattern
option for commandgf gen dao
to support generating dao files sharding tables by @gqcn in #4081 -
feat(cmd/gf): add
gopackage
option for commandgf gen pbentity
to specifygo_package
for generated proto files by @lazyjean in #4141 -
feat(cmd/gf): add
typeMapping
andfieldMapping
feature support for commandgf gen genpbentity
by @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[]string
support by @ninjashixuan in #4000 -
feat(contrib/metric/otelmetric): add metrics option
WithExemplarFilter
support 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/WhereNotExists
by @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
TablesEx
configuration to exclude the specified table names by @wwwfeng in #4060 -
feat(net/ghttp): add
Request.GetMetaTag
to retrieve specific meta tag value by @PandaPy in #4185 -
feat(net/ghttp): add middleware
MiddlewareGzip
for 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/MustRegenerateId
support by @gqcn in #4012 -
feat(util/gconv): add basic types conversion support for function Scan by @gqcn in #3991
-
refactor(util/gconv): add
Converter
feature for more flexable and extensible type converting by @gqcn in #4107
Enhancement
- feat(cmd/gf): add controller comment support for command
gf gen ctrl
by @ywanbing in #4169 - feat(cmd/gf): add interface functions generating for embedded struct of logic struct in command
gen service
by @joy999 in #3802 - feat(cmd/gf): beautify progress bar of cli binary downloading for command
gf up
by @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()
afterBegin
by @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:00
by @gqcn in #4134 - feat(test/gtest): add map type support for
AssertNI/AssertIN
by @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.go
for commandgen enums
by @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 pb
with-a
option 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
AutoSyncInterval
by @gqcn in #4027 - fix(database/gdb): CRUD typos by @huty1998 in #4017
- fix(database/gdb):
gdb.Counter
not work inOnDuplicate
by @cyjaysong in #4073 - fix(database/gdb): add compatibility for old configiration with both
Type
and part ofLink
configurations by @gqcn in #4058 - fix(database/gdb): fix context canceled error in transaction due to usage of
TransTimeout
configuration 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/Array
query logic was incompatible with the old version when users extended the returned result fields using theSelect
Hook by @gqcn in #3995 - fix(database/gdb): move
Raw
parameter 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
with
feature 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):
MakeBodyRepeatableRead
takes not effective when called afterParseForm
by @cyjaysong in #4143 - fix(net/ghttp):
MiddlewareHandlerResponse
writes 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.GetFreePort
by @gqcn in #3982 - fix(net/ghttp): remove unused code snippet by @ansionfor in #4131
- fix(net/ghttp): update response message handling in
MiddlewareHandlerResponse
by @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
Remove
returns value not*gvar.Var
as 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.EscapeString
for 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
Type
and part ofLink
configurations by @gqcn in #4058 - fix(database/gdb): fix context canceled error in transaction due to usage of
TransTimeout
configuration 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
typeMapping
andfieldMapping
feature support for commandgf gen genpbentity
by @zishang520 in #3970 - feat(cmd/gf): add interface functions generating for embedded struct of logic struct in command
gen service
by @joy999 in #3802 - feat(contrib/drivers/pgsql): add array type
varchar[]
andtext[]
converting to Go[]string
support by @ninjashixuan in #4000 - feat(contrib/registry/consul): add consul registry support by @gqcn in #4016
- feat(database/gdb): add
WhereExists/WhereNotExists
by @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
As
support by @gqcn in #4002 - feat(net/ghttp): add middleware
MiddlewareGzip
for compressing response content using gzip by @gqcn in #4008 - feat(os/gsession): add
RegenerateId/MustRegenerateId
support 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.go
for commandgen enums
by @gqcn in #3996
BugFix
- fix(cmd/gf): custom tags repeatedly added using command
gf gen pb
with-a
option 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
AutoSyncInterval
by @gqcn in #4027 - fix(database/gdb): CRUD typos by @huty1998 in #4017
- fix(database/gdb): issue where the
Count/Value/Array
query logic was incompatible with the old version when users extended the returned result fields using theSelect
Hook by @gqcn in #3995 - fix(database/gdb): move
Raw
parameter 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
with
feature 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.GetFreePort
by @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 dao
by @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.Order
by @wingfeng in #3933 - fix(os/gcache): function
Remove
returns value not*gvar.Var
as 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
Raw
feature 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
DaMeng
database driver support by @Insua in #3606 - feat(cmd/gf): add command
gf doc
for local documentation by @hailaz in #3634 - feat(cmd/gf): add command
gf init xxx -a
to 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 dao
by @cyjaysong in #3498 - feat(cmd/gf): change document source from repo
gf
togf-site
by @hailaz in #3926 - feat(cmd/gf): project template updates for command
gf init
by @gqcn in #3928 - feat(cmd/gf): project templates update for command
gf init
by @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
DialTimeout
andAutoSyncInterval
option 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
Raw
support forFields
function ofgdb.Model
by @gqcn in #3873 - feat(database/gdb): add
time
field type for value converting for/from field by @cyjaysong in #3712 - feat(database/gdb): add
unscoped
tag 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
OrderRandom
feature in different databases by @oldme-git in #3794 - feat(database/gredis): add
Scan
method for incremental key retrieval by @phuonganhniie in #3451 - feat(encoding/ghtml): add parameter validation for function
SpecialCharsMapOrStruct
by @gqcn in #3841 - feat(net/ghttp): remove
Req/Res
suffix 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
171
series number support for virtual phone number validation by @swift-fs in #3622 - feat(util/gvalid): add new rule
required-if-all
by @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 run
ends process by @oldme-git in #3628 - refactor(cmd/gf): improve
gf gen ctrl
usingast
by @oldme-git in #3616 - refactor(cmd/gf): improve command
gf gen ctrl
usingast
by @oldme-git in #3470 - refactor(cmd/gf): improve command
gf gen ctrl
usingast
for parsingDstFolder
by @oldme-git in #3478 - refactor(cmd/gf): refactor command
gf gen service
withAST
by @oldme-git in #3488 - refactor(cmd/gf): use automatic generating package names for go files of
dao/do/entity
instead of constant package names by @Insua in #3639 - refactor(container/gring): mark deprecated, package
container/gring
will 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-mssqldb
togithub.com/microsoft/go-mssqldb
by @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.StartPProfServer
by @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
btree
by @oldme-git in #3656 - refractor(container/gtree): refactor code with
gods
package forrbtree
by @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 dao
should ignorelink
configuration 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 dao
for fieldMapping feature by @cyjaysong in #3549 - fix(cmd/gf): fix command
gf up
with-u
option 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/up
by @hailaz in #3629 - fix(cmd/gf): missing file closing when printing downloading percent of gf cli file for command
gf up
by @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 dao
as 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 dao
by @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...
GoFrame Release v2.8.0-beta
What's Changed
feature
- feat(cmd/gf): add
DaMeng
database driver support by @Insua in #3606 - feat(cmd/gf): add command
gf doc
for local documentation by @hailaz in #3634 - feat(cmd/gf): add command
gf init xxx -a
to 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 dao
by @cyjaysong in #3498 - feat(cmd/gf): project templates update for command
gf init
by @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
DialTimeout
andAutoSyncInterval
option 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
Raw
support forFields
function ofgdb.Model
by @gqcn in #3873 - feat(database/gdb): add
time
field type for value converting for/from field by @cyjaysong in #3712 - feat(database/gdb): add
unscoped
tag 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/gredis): add
Scan
method for incremental key retrieval by @phuonganhniie in #3451 - feat(encoding/ghtml): add parameter validation for function
SpecialCharsMapOrStruct
by @gqcn in #3841 - 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
171
series number support for virtual phone number validation by @swift-fs in #3622 - feat(util/gvalid): add new rule
required-if-all
by @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 run
ends process by @oldme-git in #3628 - refactor(cmd/gf): improve
gf gen ctrl
usingast
by @oldme-git in #3616 - refactor(cmd/gf): improve command
gf gen ctrl
usingast
by @oldme-git in #3470 - refactor(cmd/gf): improve command
gf gen ctrl
usingast
for parsingDstFolder
by @oldme-git in #3478 - refactor(cmd/gf): refactor command
gf gen service
withAST
by @oldme-git in #3488 - refactor(cmd/gf): use automatic generating package names for go files of
dao/do/entity
instead of constant package names by @Insua in #3639 - refactor(container/gring): mark deprecated, package
container/gring
will not be maintained in future by @gqcn in #3665 - refactor(container/gtree): refactor code with gods package by @oldme-git in #3595
- 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-mssqldb
togithub.com/microsoft/go-mssqldb
by @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(nacos-registry): use official nacos sdk instead of the third-party nacos sdk by @lingcoder in #3745
- refactor(net/ghttp): enhance
ghttp.StartPProfServer
by @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
btree
by @oldme-git in #3656 - refractor(container/gtree): refactor code with
gods
package forrbtree
by @oldme-git in #3655 - refractor(container/gtree): refactor code with gods package for avltree by @oldme-git in #3647
bug fix
- fix(cmd/gf): #3459
gf gen dao
should ignorelink
configuration 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 dao
for fieldMapping feature by @cyjaysong in #3549 - fix(cmd/gf): fix command
gf up
with-u
option 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): missing configuration file support for cli command
pack/run/tpl/up
by @hailaz in #3629 - fix(cmd/gf): missing file closing when printing downloading percent of gf cli file for command
gf up
by @testwill in #3483 - fix(cmd/gf): remove dm driver for command
gen dao
as 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 dao
by @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): 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 #3480
- fix(contrib/nosql/redis): missing err nil check in function
ScriptExists
by @JimDevil in #3713 - fix(contrib/registry/file/v2): fix the panic caused by channel closing after
resolver closed
by @zishang520 in #3691 - fix(contrib/registry/zookeeper): invalid searching prefix by @cruelchen in #3598
- fix(database/gdb): #3238 first column might be overwritten in internal context data in multiple goroutines querying by @gqcn in #3476
- fix(database/gdb): #3613 ignore automatic handling for creating/updating time if it has been specified by @jswxstw in #3615
- fix(database/gdb): FieldsEx feature conflicts with soft time feature in soft time fields updating by @gqcn in #3773
- fix(database/gdb): confusing error message in Insert/Update operations when table not exist or the table contains no fields by @wln32 in #3553
- fix(database/gdb): deadlock when orm operations performing in cache closure function from gcache by @gqcn in #3585
- fix(database/gdb): error parsing database link without port...