Releases: gogf/gf
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
to6github.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
to6github.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...
GoFrame Release v2.7.4
What's Changed
- feat(database/gdb): add
time
field type for value converting for/from field by @cyjaysong in #3712 - fix(net/goai): fix openapi miss
required
tag ofBizRequest
when setCommonRequest
by @niluan304 in #3724 - perf(database/gdb): performance improvement for struct scanning when with feature disabled by @wln32 in #3677
- fix(net/ghttp): skip common response body in common response handler for streaming content types by @wwwfeng in #3762
- fix(util/gconv): #3764 fix bool converting issue by @wln32 in #3765
- fix(encoding/gxml): XML special character encoding error by @oldme-git in #3740
- fix(database/gdb): FieldsEx feature conflicts with soft time feature in soft time fields updating by @gqcn in #3773
- fix(database/gdb): error parsing database link without port number by @gqcn in #3772
- fix(debug/gdebug): incorrect package name handling in function CallerPackage by @gqcn in #3771
- fix(os/gcache): a little memory leak for removed timestamp key by @gqcn in #3779
- ci: add go version 1.23 support by @houseme in #3733
- fix(net/ghttp): server shutdown not graceful using admin api
/debug/admin/shutdown
by @gqcn in #3777 - ci: fix mssql docker service failed in ci by @gqcn in #3792
- fix(utils/utils_str): recognize '+' as a valid numeric sign by @wwwfeng in #3778
- fix(util/gconv): cached field indexes append issue caused incorrect field converting by @wln32 in #3790
- fix(util/gvalid): retrive empty slice parameter in custom validation rule function failed by @gqcn in #3795
- fix(net/goai): change default value of RequestBody.Required from true to false, add required tag support for RequestBody by @gqcn in #3796
- fix(database/gdb): support OrderRandom feature in different databases by @oldme-git in #3794
- feat(contrib/registry/etcd/): add
DialTimeout
andAutoSyncInterval
option by @fengshunli in #3698 - fix(net/gclient): panic when containing
@file:
parameter value in json post request by @oldme-git in #3775 - fix(cmd/gf): table and field names converted to its lower case before CamelCase converting in command
gen dao
by @gqcn in #3801 - feat(database/gdb): add year field type support for ORM operations by @gqcn in #3805
- fix(util/gconv): unstable converting when there is an external attribute with the same name as the internal structure by @wln32 in #3799
- fix(net/ghttp&gclient,contrib/rpc/grpcx): remove request and response contents in opentelemetry tracing attributes by @gqcn in #3810
New Contributors
Full Changelog: v2.7.3...v2.7.4
GoFrame Release v2.7.3
What's Changed
- fix(cmd/gf): remove dm driver for command
gen dao
as it causes building failed for some platforms by @hailaz in #3667 - refactor(container/gring): mark deprecated, package
container/gring
will not be maintained in future by @gqcn in #3665 - refractor(container/gtree): refactor code with gods package for avltree by @oldme-git in #3647
- 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 - chore(.github/template): update document for github pull requests by @hailaz in #3666
- 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 - feat(cmd/gf): project templates update for command
gf init
by @gqcn in #3704 - ci: add Scorecard workflow by @fengshunli in #3702
- build: bump google.golang.org/protobuf to v1.33.0 by @fengshunli in #3697
- 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(os/gtime): fix gtime.Value() when time only, add
time only
example by @niluan304 in #3714 - fix(database/gdb): fix #3649 when constructing query param,
gdb.Row
value not directly write to Buffer by @cyjaysong in #3718 - refactor(nacos-registry): use official nacos sdk instead of the third-party nacos sdk by @lingcoder in #3745
- fix(contrib/drivers/pgsql): #3671 fix invalid pgsql insert json type by @Ghw2066 in #3742
- fix(util/gconv): #3731 map type name mismatch in switch case statement by @wlynxg in #3732
- fix(contrib/drivers/pgsql): fix insert error when data struct field has nil in PgSQL by @oldme-git in #3679
- perf(util/gconv): add cache logic to enhance performance by @wln32 in #3673
New Contributors
- @fengshunli made their first contribution in #3702
- @JimDevil made their first contribution in #3713
- @zishang520 made their first contribution in #3691
- @Ghw2066 made their first contribution in #3742
Full Changelog: v2.7.2...v2.7.3
GoFrame Release v2.7.2
What's Changed
- feat(cmd/gf): add command
gf init xxx -a
to create an empty app template folder in mono-repo by @oldme-git in #3550 - refactor(util/gconv): refactor code unit testing by @oldme-git in #3591
- perf(util/gconv): remove unnecessary logic for function doScanList by @oldme-git in #3588
- fix(os/gcfg): SetPath failed when there's config.yaml in current working directory by @ynwcel in #3587
- perf(driver/pgsql): optimize regex for version matching by @yincongcyincong in #3583
- fix(container/gmap&gset): deadlock when removing values during iterating by @LonelySally in #3572
- fix(os/gtime): unit testing case occasionally failed for package gtime by @hailaz in #3596
- fix(contrib/registry/zookeeper): invalid searching prefix by @cruelchen in #3598
- fix(os/gcfg): file searching always returning the configuration file of pwd by @gqcn in #3592
- fix(database/gdb): deadlock when orm operations performing in cache closure function from gcache by @gqcn in #3585
- fix(database/gdb): confusing error message in Insert/Update operations when table not exist or the table contains no fields by @wln32 in #3553
- feat(database/gdb): add
unscoped
tag support for orm struct by @fainc in #3464 - refactor(cmd/gf): refactor command
gf gen service
withAST
by @oldme-git in #3488 - test(cmd/gf): add unit testing case of commented api definitions generating for command
gf gen ctrl
by @zcyc in #3575 - docs(contrib/drivers): add
README.zh_CN.MD
by @hailaz in #3604 - ci(.github/workflows): fix warning info from node16 on timezone setting by @hailaz in #3614
- refactor(drivers/mssql): change driver from
github.com/denisenkom/go-mssqldb
to6github.com/microsoft/go-mssqldb
by @oldme-git in #3612 - ci(.github/workflows): remove code coverage report for folder
example
by @hailaz in #3608 - feat(cmd/gf): add
DaMeng
database driver support by @Insua in #3606 - fix(cmd/gf): missing configuration file support for cli command
pack/run/tpl/up
by @hailaz in #3629 - feat(util/gvalid): add
171
series number support for virtual phone number validation by @swift-fs in #3622 - fix(os/gres): #3611 add custom prefix
/
support for resource packing by @hailaz in #3621 - refactor(cmd/gf): improve
gf gen ctrl
usingast
by @oldme-git in #3616 - chore(example): password encrypt-decrypt for database using custom implement driver by @hailaz in #3610
- refactor(drivers/pgsql): pgsql returning id should use quotation marks,when primary key is capital by @Insua in #3638
- feat(cmd/gf): add command
gf doc
for local documentation by @hailaz in #3634 - refactor(cmd/gf): delete binary file when command
gf run
ends process by @oldme-git in #3628 - fix(database/gdb): #3613 ignore automatic handling for creating/updating time if it has been specified by @jswxstw in #3615
- 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(net/ghttp): update error message for duplicated routes registering by @hailaz in #3603
- refactor(container/gtree): refactor code with gods package by @oldme-git in #3595
- fix(errors/gerror): #3633
Is
performs the same as errors.Is from go stdlib by @gqcn in #3640 - feat(contrib/drivers/pgsql): support slice type to insert into array for pgsql by @oldme-git in #3645
- fix(net/ghttp): fix args issue for
forkRestartProcess
in graceful restarting of ghttp.Server by @hailaz in #3661 - fix(net/ghttp): Content-Type for
jsonp
response fromapplication/json
toapplication/javascript
by @swift-fs in #3651 - fix(net/goai): #3660, support multiple file upload parameters for OpenAPIv3 by @hailaz in #3662
- refactor(database/gdb): remove duplicated SQL records in tracing events by @houseme in #3659
- feat(os/gcron): add graceful shutdown support by @vector233 in #3625
New Contributors
- @ynwcel made their first contribution in #3587
- @yincongcyincong made their first contribution in #3583
- @cruelchen made their first contribution in #3598
- @Insua made their first contribution in #3606
- @swift-fs made their first contribution in #3622
- @vector233 made their first contribution in #3625
Full Changelog: v2.7.1...v2.7.2
GoFrame Release v2.7.1
What's Changed
- fix(util/gconv): #3465 if the value of a string is
null
, the value of string isnil
after thestring
is converted to[]string
by @wln32 in #3468 - test(cmd/gf,conbrib/drivers): unit testing cases update by @oldme-git in #3453
- feat(database/gredis): add
Scan
method for incremental key retrieval by @phuonganhniie in #3451 - refactor(cmd/gf): improve command
gf gen ctrl
usingast
by @oldme-git in #3470 - feat(util/gvalid): add new rule
required-if-all
by @cococolanosugar in #3455 - fix(os/gproc): missing arguments on Windows platform by @wln32 in #3482
- fix(contrib/drivers/sqlitecgo): support 32-bit architecture by @hailaz in #3480
- chore(example): fix file name
example/pack/packed/paked.go
→example/pack/packed/packed.go
by @hailaz in #3479 - refactor(cmd/gf): improve command
gf gen ctrl
usingast
for parsingDstFolder
by @oldme-git in #3478 - fix(database/gdb): #3238 first column might be overwritten in internal context data in multiple goroutines querying by @gqcn in #3476
- fix(cmd/gf): missing file closing when printing downloading percent of gf cli file for command
gf up
by @testwill in #3483 - chore(go.mod): upgrade version of dependencies by @hailaz in #3494
- chore: fix function names in comments for package
otelmetric
by @writegr in #3493 - test(cmd/gf):
gf gen ctrl
with-merge
option by @wln32 in #3490 - chore(go.mod): upgrade version of dependencies for
cmd/gf
andcontrib
packages by @oldme-git in #3526 - perf(util/gconv): improve performance for struct converting by @wln32 in #3412
- test(os/gproc): fix uint testing case for signal feature of package gproc occasionally failed by @gqcn in #3529
- test(cmd/gf): fix unit testing cases for compatibility with windows by @oldme-git in #3532
- fix(cmd/gf): #3459
gf gen dao
should ignorelink
configuration from file as it is passed from arguments by @oldme-git in #3531 - chore: fix function names in comment by @findnature in #3536
- chore: issues and pull requests template update for github by @oldme-git in #3533
- test(test/gtest): add support for string type in AssertIN and AssertNI by @oldme-git in #3537
- fix(os/glog): #3200 empty content in glog handler after structure logging feature supported by @gqcn in #3475
- feat(cmd/gf): add custom field type mapping support for command
gf gen dao
by @cyjaysong in #3498 - fix(database/gdb): soft-time support fieldType:
LocalTypeUint64
in Insert/Update operations by @muddydog in #3551 - fix(cmd/gf): fix command
gf gen dao
for fieldMapping feature by @cyjaysong in #3549 - fix(cmd/gf): fix pbentity generating fail in mono-repo by @oldme-git in #3547
- chore: issue templates update for github by @oldme-git in #3544
- feat(contrib/sdk/httpclient): add custom response handler support, fixe #3539 by @jswxstw in #3540
- fix(util/gvalid): slice enums verification failed by @xyqweb in #3566
- fix(cmd/gf): fix gen enums failed in go version v1.22.1 by @oldme-git in #3565
- ci: fix code coverage not sync to CodeCov by @oldme-git in #3570
- fix(os/gtime): #3558 time zone issues by @wln32 in #3561
New Contributors
- @phuonganhniie made their first contribution in #3451
- @cococolanosugar made their first contribution in #3455
- @writegr made their first contribution in #3493
- @findnature made their first contribution in #3536
- @cyjaysong made their first contribution in #3498
- @muddydog made their first contribution in #3551
Full Changelog: v2.7.0...v2.7.1