Releases: gogf/gf
Releases · gogf/gf
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
github.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
github.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
github.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
GoFrame Release v2.7.0
What's Changed
- fix issue #3218 #3204 by @gqcn in #3220
- fix: #2689 change sessionId in cookie by @glennliao in #3203
- fix: #2938 by @hailaz in #3178
- fix issues for package contrib/drivers/dm by @zhonghuaxunGM in #3157
- fix: #2924 by @hailaz in #3177
- version v2.6.1 by @gqcn in #3222
- Add comment for Format method so that you can know Layout method. by @zhangyuyu in #3230
- enhance #3221 by @oldme-git in #3224
- feat: update dependent redoc js for swagger ui by @hailaz in #3217
- fix: #3191 allow custom and overwrite the
Do
method implements by @hailaz in #3194 - fix:gz files are compressed repeatedly every time tick by @cyruslo in #3236
- comments update for package gstr by @gqcn in #3233
- fix typo flie -> file by @gqcn in #3228
- add configuration support for logger of
grpcx.Server
by @gqcn in #3223 - add example for serve file by @hailaz in #3193
- Update Github issue template by @oldme-git in #3234
- Update README.MD by @hailaz in #3243
- fix: memory leak when gcache.NewAdapterMemory with lru by @qinyuguang in #3241
- add
MiddlewareNeverDoneCtx
for packageghttp
by @gqcn in #3250 - fix #3253 by @oldme-git in #3255
- fix #3251 by @oldme-git in #3254
- fix issue #3232 by @gqcn in #3247
- Fix gf gen service bug. Fix the issue of significant differences in the generated code every … by @loveyfore in #3260
- add example for exporting prometheus metrics using
ghttp.Server
by @gqcn in #3266 - fix some wrong comment by @oldme-git in #3265
- fix: #3237 big memory consumed when post large files to http server by @gqcn in #3267
- fix workflow for gitee sync by @gqcn in #3269
- feat: upgrade gitee sync Hub Mirror Action by @houseme in #3272
- add internal error logging and update comments for
gclient.RequestVar
by @gqcn in #3270 - no printing internal middleware for
ghttp.Server
by @gqcn in #3271 - rename gitee ISSUE_TEMPLATE.MD to ISSUE_TEMPLATE by @Blacknight1260 in #3274
- add example for ctx keys feature of package
glog
by @gqcn in #3273 - improve converter feature for package gconv by @gqcn in #3211
- version v2.6.2 by @gqcn in #3276
- fix error in
gerror.HasCode
by @gqcn in #3277 - fix workflow script for cli building and release by @gqcn in #3279
- Update annotation for redis.toml by @oldme-git in #3282
- add offline document link in readme.md by @hailaz in #3284
- bugfix:fix gconv map deep option not effective by @conwaypan in #3287
- fix issue #3286 by @gqcn in #3289
- feat: support running commands via non-command line arguments by @jswxstw in #3290
- fix: #3292 all http requests walk through naming resolving if discovery is enabled by @gqcn in #3294
- fix issue #2457 by @gqcn in #3297
- fix issue #2552 by @gqcn in #3300
- fix issue #2503 by @gqcn in #3299
- fix empty pwd path read from
gfile.Pwd()
which could cause internal error logging forgview.New
by @hailaz in #3302 - fix issue #2572 by @gqcn in #3301
- fix issue #2594 by @gqcn in #3303
- add field type detection for soft time field like
created_at/updated_at/deleted_at
to support unix timestamp or bool deleting table field by @gqcn in #3293 - fix issue #2643 by @gqcn in #3304
- use iota to unify the enums definition by @oldme-git in #3305
- fix #3245 by @oldme-git in #3298
- add
#
for cron pattern that can ignore seconds, which makes the cron pattern running in minimum minute like linux crontab pattern by @gqcn in #3306 - fix issue #2616 by @gqcn in #3307
- new version v2.6.3 by @gqcn in #3308
- enhance: add ExampleCache_Clear by @oldme-git in #3310
- fix: fix issue command
gf run -w
takes no effect by @hailaz in #3321 - fix: fix #3226 by @hailaz in #3322
- enhance: improve mysql_z_unit_model_test by @oldme-git in #3329
- fix: fix typo by @Tallone in #3332
- fix: update ci of github pages by @hailaz in #3331
- fix: update error code comment on i18n defaultLanguage value by @weishirongzhen in #3335
- enhance: upgrade nacos-sdk-go to v2 by @lrioo in #3334
- fix: otel tracing content contains invalid UTF-8 by @seth-shi in #3340
- enhance: gproc.signal enhance #3325 by @Agzer0 in #3326
- enhance: add
Save
operation support for pgsql #3053 by @oldme-git in #3324 - feat: upgrade set-go version and add go 1.22 version by @houseme in #3316
- fix: generated dao go files forcely cleared by command
gf gen dao
if clear set true by @gqcn in #3337 - enhance: change tracing span name from request uri to router uri for http request by @seth-shi in #3338
- enhance: improve
FormatUpsert
implements for pgsql by @oldme-git in #3349 - fix: recognize
json_valid
constraint as json field type for database mariadb #2746 by @oldme-git in #3309 - fix:
WherePri
function wrong in pgsql #3330 by @oldme-git in #3339 - enhance: add
Save
operation support for SQLite #2764 by @oldme-git in #3315 - enhance: add sentinel auth config for redis by @laushunyu in #3348
- feat: version v2.6.4 by @gqcn in #3352
- enhance: update contrib/drivers/README.MD by @oldme-git in #3355
- fix: cache value assertion panic if the cache adapter is not in-memory for soft time feature of
package gdb
; improve converting performance forgconv.Scan
by @gqcn in #3351 - fix: unit test error in PgSQL and SQLite; Unified
t.Assert(err, nil)
tot.AssertNil(err)
by @oldme-git in #3356 - fix:
for
typo in comments for packagecontrib/drivers
andgdb
by @oldme-git in #3366 - enhance: cut tracing content as unicode for safety by @seth-shi in #3342
- enhance: do not ignore error from
gdb.FormatMultiLineSqlToSingle
func by @oldme-git in #3368 - fix: unit test of dm failed occasionally by @oldme-git in #3369
- enhance: support save for Oracle by @oldme-git in #3364
- fix: fix lost log directory path for grapc log by @arceushui in #3387
- fix: unit test of dm failed occasionally by @oldme-git in #3382
- enhance:
Save
operation support forcontrib/drivers/dm
by @oldme-git in #3404 - fix: #3362
IsEmpty
panics when some interface implement panics with nil receiver by @gqcn in #3367 - fix: #3370 fixed process parameter parsing failed on Windows for package
gproc
by @wln32 in #3386 - fix: unit testing cases of
contrib/drivers
occasionally failed by using now time assertion by @gqcn in #3410 - feat: add metric feature support in goframe by @gqcn in #3138
- fix: #3432 Add Access-Control-Expose-Headers: Content-Disposition header in ServeFileDownload by @wohenbushuang in #3433
- fix: http superfluous response.WriteHeader call in some scenario by @gqcn in #3428
- fix: the cron job with precise second time pattern might be executed twice in the same time by @gqcn in #3437
- fix: lost trace content in occasion when shutting down trace by @oldme-git in #3418
- feat: add auth support in address configuration for etcd registry by @xxxwang1983 in #3439
- fix: #3390 name&shor tag mapping failed to command input object for package gcmd by @gqcn in #3429
- enhance: improve Save feature for drivers
oracle
anddm
by @oldme-git in https://githu...