Releases: gogf/gf
Releases · gogf/gf
GoFrame Release v2.4.3
What's Changed
- feat: improve golangci-lint config by @houseme in #2681
- fix version retrieving of goframe for command version by @gqcn in #2682
- improve command
make version
by @hailaz in #2676 - fix issue in Where when used in field with prefix that not match struct attribute name by @gqcn in #2688
- improve key words transaction for package i18n by @arieslee in #2652
- add new validation rule "enums" by @gqcn in #2690
- fix gdb_fun.go code comments by @oldme-git in #2687
- Update gcompress_zip.go by @rexxar5188 in #2694
- bugfix : when using otel, calling gclient *Raw methods may result in null pointer exceptions by @hanqian200705 in #2697
- add command
gen ctrl
for parsing api to generate controller and sdk go files by @gqcn in #2708
New Contributors
- @oldme-git made their first contribution in #2687
- @rexxar5188 made their first contribution in #2694
- @hanqian200705 made their first contribution in #2697
Full Changelog: v2.4.2...v2.4.3
GoFrame Release v2.4.2
What's Changed
- fix duplicated fields in function TableFields of driver pgsql by @gqcn in #2620
- fix missing
.exe
suffix for cli file for windows downloading, unable replacing self cli binary by @hailaz in #2622 - fix: When repairing protobuf to generate controllers, if the project … by @liangguifeng in #2630
- fix: genpbentity invalid proto3 by @caiwp in #2632
- feat: modify readme doc address by @houseme in #2638
- fix: genpbentity type error, []byte => bytes by @scoolor in #2633
- fix host ip retrieving for package contrib/trace/jaeger when there is no intranet ip in host by @gqcn in #2640
- cli command exits with code 1 if error by @gqcn in #2645
- new logo by @gqcn in #2647
- doc: correct level value comment by @zjfsdnu in #2653
- add WhereOrNot/WhereOrPrefixNot functions for gdb.Model by @gqcn in #2661
- update default logging time format using SetTimeFormat by @mason51 in #2611
- fix issue in array border exceeded in RoundRobin of package gsel by @gqcn in #2642
- fix(CLI): install cmd path choose empty not use default by @stardemo in #2655
- add DumpJson for package gutil by @gqcn in #2651
- fix issue in building binary for command docker by @gqcn in #2660
- change parameter prefix of type string to prefixes of type slice for command enums by @gqcn in #2662
- add multiple methods support for object route by @gqcn in #2663
- add multiple methods support for united routes registering by @gqcn in #2664
- fix issue in http proxy when repeatable reading request body content by @gqcn in #2666
- refactor: code optimization by @testwill in #2667
- comment update for package
contrib/drivers/mysql
by @hailaz in #2649 - add oltp(http&grpc) trace support by @houseme in #2641
- improve command up for goframe version upgrade by @gqcn in #2670
- template updates for command
gf init
by @gqcn in #2671 - fix issue #2439 by @gqcn in #2673
- add method
ScanAndCount
andAllAndCount
for Model packagegdb
by @lusson-luo in #2635 - ignore binary building if option
Build
is empty for commandbuild
by @gqcn in #2678 - add auto sync ci from github to gitee by @houseme in #2680
- version v2.4.2 by @gqcn in #2679
New Contributors
- @liangguifeng made their first contribution in #2630
- @caiwp made their first contribution in #2632
- @scoolor made their first contribution in #2633
- @zjfsdnu made their first contribution in #2653
- @mason51 made their first contribution in #2611
- @testwill made their first contribution in #2667
- @lusson-luo made their first contribution in #2635
Full Changelog: v2.4.1...v2.4.2
GoFrame Release v2.4.1
What's Changed
- correct makefile by @starccck in #2597
- fix file permission error when overwriting directory containing .git … by @bobzh39 in #2599
- fix: polaris discouvery relation by @houseme in #2603
- fix some comments by @cuishuang in #2600
- http context never done by @gqcn in #2602
- fix file registry that not works on windows by @starccck in #2605
- fix issue #2561 #2431 by @gqcn in #2598
- fix empty string converted to none empty string type slice by @gqcn in #2612
- use first column name for Model.Array by @gqcn in #2609
- feat: improve polaris relation and add copyright for polaris example by @houseme in #2607
New Contributors
Full Changelog: v2.4.0...v2.4.1
GoFrame Release v2.4.0
What's Changed
- fix issue 2391 by @gqcn in #2398
- fix issue 2395 by @gqcn in #2399
- add cli upgraded supported for command up by @gqcn in #2405
- fix issue 2403 by @qinyuguang in #2404
- add auto
go mod tidy
after version upgraded for commandup
by @gqcn in #2407 - add label
planned
for ci to check issue inactive by @gqcn in #2408 - fix issue in
gf run
failed with arguments passed in windows platform by @hailaz in #2414 - fix issue #2011 by @gqcn in #2421
- fix issue #2015 by @gqcn in #2422
- fix issue #2050: add
-t
option support for commandgf docker
to compatable with older version by @gqcn in #2423 - .gitignore updates by @gqcn in #2426
- fix type of default value in swagger ui for package
goai
by @hailaz in #2413 - fix issue 2356 by @gqcn in #2428
- fix issue #2371 by @gqcn in #2429
- fix issue #2355 by @gqcn in #2430
- fix issue #2331 by @gqcn in #2432
- fix issue #2339 by @gqcn in #2433
- comment updates for with function of package gdb by @Deng-Xian-Sheng in #2418
- improve Timezone escape for driver dm/mysql by @LonelySally in #2412
- gdb error should wrap original underlying database error like MySQLError by @wesleywu in #2402
- fix #2435 by @glennliao in #2437
- fix issue #2338 by @gqcn in #2444
- fix issue #2427 by @gqcn in #2442
- fix issue #2447 by @gqcn in #2448
- improve ci by using cache feature of
setup-go
by @hailaz in #2463 - fix issue #2261 by @hailaz in #2458
- README update for
cmd/gf
by @hailaz in #2459 - Bump golang.org/x/net from 0.1.0 to 0.7.0 in /cmd/gf by @dependabot in #2460
- fix: use keyword(like: group) as table name in sqlite by @glennliao in #2461
- improve unit testing cases by @hailaz in #2468
- Protect RemoveValue from race condition by @blinkbean in #2472
- fix: gredis maxActive config and duplicate connection bug by @qinyuguang in #2479
- fix configuration of
Namespace
for pgsql by @hailaz in #2481 - add issue translation robot by @gqcn in #2490
- robot translator updates by @gqcn in #2491
- fix issue in empty json name along with omitempty tag in package oai by @gqcn in #2500
- improve command
gen dao
by removing all dao files if clear option is true by @gqcn in #2502 - fix issue struct attribute converting when has no json name but with omitempty tag by @gqcn in #2486
- improve unit testing cases coverage to 80%+ by @hailaz in #2480
- add package contrib/rpc/grpcx by @gqcn in #2169
- improvement for grpcx by @gqcn in #2510
- fix: cli gen service:BUG #2310 by @sanrentai in #2485
- feat: support graceful shutdown (#2469) by @windvalley in #2475
- add tag value of
in
support for api definition that has meta info by @hailaz in #2450 - fix issue #2499 #2515 by @gqcn in #2517
- improve command
gen pb
by adding controller go files generating by @gqcn in #2518 - add postForm with multi data content type support by @Cyberhan123 in #2508
- improve grpcx by @gqcn in #2522
- fix goreport for gofmt by @hailaz in #2523
- fix quick exit when double click cli to install/upgrade by @hailaz in #2521
- improve error message when the router hander definition is not standrad by @gqcn in #2528
- feat:upgrade polairs-go sdk version v1.3.0 for config by @houseme in #2525
- feat: improve polaris register and upgrade polaris-go version v1.3.0 by @houseme in #2524
- support microseconds resolution for created_at/updated_at/deleted_at by @wesleywu in #2512
- add
Quick
mode for gtimer by @hinego in #2488 - optimize the handling of the
SIGUSR1
signal by @windvalley in #2532 - fix issue #2509 by @gqcn in #2530
- fix issue #2516 by @gqcn in #2531
- comment updates for gdb.Builder by @org-org-org in #2513
- fix: unified go.mod dependent version by @hailaz in #2452
- Bump golang.org/x/crypto from 0.0.0-20200622213623-75b288015ac9 to 0.1.0 in /cmd/gf by @dependabot in #2546
- change temp dir to os.TempDir for package gfile by @gqcn in #2547
- feat: automatic update gf for contrib by @hailaz in #2551
- improve stream response for http by @gqcn in #2564
- add
RemoveValues
for packagegarray
by @gqcn in #2568 - add
clickhouse
support in commandgf gen dao
by @alaywn in #2557 - fix issue #2529 #2487 by @gqcn in #2548
- Add Filter function to garray by @wsy998 in #2541
- fix missing trace id in gctx.GetInitCtx by @gqcn in #2562
- inherit context from http.Request for ghttp.Request by @gqcn in #2550
- update cli build action by @stardemo in #2563
- uf case update for contrib/drivers/mysql by @gqcn in #2569
- fix issue in New when creating concurrent-safety var for package gvar by @osgochina in #2573
- version updates to v2.4.0-rc by @gqcn in #2574
- v2.4.0-rc2 by @gqcn in #2575
- feature/v2.4.0-rc4 by @gqcn in #2578
- add command
make version to
in Makefile by @hailaz in #2579 - fix issue converting values to custom type pointers by @gqcn in #2585
- fix issue #2584 by @gqcn in #2586
- improve
AddObject
to supportCommand/*Command
parameter for packagegcmd
by @gqcn in #2587 - add command
gen enums
by @gqcn in #2591 - fix: fix typo and go-staticcheck S1002 warning by @feranwq in #2590
- improve auto retrieving of ip addresses for service registering by @gqcn in #2593
- version v2.4.0 by @gqcn in #2595
New Contributors
- @Deng-Xian-Sheng made their first contribution in #2418
- @dependabot made their first contribution in #2460
- @blinkbean made their first contribution in #2472
- @windvalley made their first contribution in #2475
- @Cyberhan123 made their first contribution in #2508
- @hinego made their first contribution in #2488
- @org-org-org made their first contribution in #2513
- @alaywn made their first contribution in #2557
- @wsy998 made their first contribution in #2541
- @feranwq made their first contribution in #2590
中文发布记录
https://goframe.org/display/gf/v2.4-2023-04-24
Full Changelog: v2.3.0...v2.4.0
GoFrame Release v2.4.0-rc4
What's Changed
- optimize the handling of the
SIGUSR1
signal by @windvalley in #2532 - fix issue #2509 by @gqcn in #2530
- fix issue #2516 by @gqcn in #2531
- comment updates for gdb.Builder by @org-org-org in #2513
- fix: unified go.mod dependent version by @hailaz in #2452
- Bump golang.org/x/crypto from 0.0.0-20200622213623-75b288015ac9 to 0.1.0 in /cmd/gf by @dependabot in #2546
- change temp dir to os.TempDir for package gfile by @gqcn in #2547
- feat: automatic update gf for contrib by @hailaz in #2551
- improve stream response for http by @gqcn in #2564
- add
RemoveValues
for packagegarray
by @gqcn in #2568 - add
clickhouse
support in commandgf gen dao
by @alaywn in #2557 - fix issue #2529 #2487 by @gqcn in #2548
- Add Filter function to garray by @wsy998 in #2541
- fix missing trace id in gctx.GetInitCtx by @gqcn in #2562
- inherit context from http.Request for ghttp.Request by @gqcn in #2550
- update cli build action by @stardemo in #2563
- uf case update for contrib/drivers/mysql by @gqcn in #2569
- fix issue in New when creating concurrent-safety var for package gvar by @osgochina in #2573
- version updates to v2.4.0-rc by @gqcn in #2574
- v2.4.0-rc2 by @gqcn in #2575
- feature/v2.4.0-rc4 by @gqcn in #2578
New Contributors
- @org-org-org made their first contribution in #2513
- @alaywn made their first contribution in #2557
- @wsy998 made their first contribution in #2541
Full Changelog: v2.4.0-beta...v2.4.0-rc4
GoFrame Release v2.4.0-beta
What's Changed
- fix issue 2391 by @gqcn in #2398
- fix issue 2395 by @gqcn in #2399
- add cli upgraded supported for command up by @gqcn in #2405
- fix issue 2403 by @qinyuguang in #2404
- add auto
go mod tidy
after version upgraded for commandup
by @gqcn in #2407 - add label
planned
for ci to check issue inactive by @gqcn in #2408 - fix issue in
gf run
failed with arguments passed in windows platform by @hailaz in #2414 - fix issue #2011 by @gqcn in #2421
- fix issue #2015 by @gqcn in #2422
- fix issue #2050: add
-t
option support for commandgf docker
to compatable with older version by @gqcn in #2423 - .gitignore updates by @gqcn in #2426
- fix type of default value in swagger ui for package
goai
by @hailaz in #2413 - fix issue 2356 by @gqcn in #2428
- fix issue #2371 by @gqcn in #2429
- fix issue #2355 by @gqcn in #2430
- fix issue #2331 by @gqcn in #2432
- fix issue #2339 by @gqcn in #2433
- comment updates for with function of package gdb by @Deng-Xian-Sheng in #2418
- improve Timezone escape for driver dm/mysql by @LonelySally in #2412
- gdb error should wrap original underlying database error like MySQLError by @wesleywu in #2402
- fix #2435 by @glennliao in #2437
- fix issue #2338 by @gqcn in #2444
- fix issue #2427 by @gqcn in #2442
- fix issue #2447 by @gqcn in #2448
- improve ci by using cache feature of
setup-go
by @hailaz in #2463 - fix issue #2261 by @hailaz in #2458
- README update for
cmd/gf
by @hailaz in #2459 - Bump golang.org/x/net from 0.1.0 to 0.7.0 in /cmd/gf by @dependabot in #2460
- fix: use keyword(like: group) as table name in sqlite by @glennliao in #2461
- improve unit testing cases by @hailaz in #2468
- Protect RemoveValue from race condition by @blinkbean in #2472
- fix: gredis maxActive config and duplicate connection bug by @qinyuguang in #2479
- fix configuration of
Namespace
for pgsql by @hailaz in #2481 - add issue translation robot by @gqcn in #2490
- robot translator updates by @gqcn in #2491
- fix issue in empty json name along with omitempty tag in package oai by @gqcn in #2500
- improve command
gen dao
by removing all dao files if clear option is true by @gqcn in #2502 - fix issue struct attribute converting when has no json name but with omitempty tag by @gqcn in #2486
- improve unit testing cases coverage to 80%+ by @hailaz in #2480
- add package contrib/rpc/grpcx by @gqcn in #2169
- improvement for grpcx by @gqcn in #2510
- fix: cli gen service:BUG #2310 by @sanrentai in #2485
- feat: support graceful shutdown (#2469) by @windvalley in #2475
- add tag value of
in
support for api definition that has meta info by @hailaz in #2450 - fix issue #2499 #2515 by @gqcn in #2517
- improve command
gen pb
by adding controller go files generating by @gqcn in #2518 - add postForm with multi data content type support by @Cyberhan123 in #2508
- improve grpcx by @gqcn in #2522
- fix goreport for gofmt by @hailaz in #2523
- fix quick exit when double click cli to install/upgrade by @hailaz in #2521
- improve error message when the router hander definition is not standrad by @gqcn in #2528
- feat:upgrade polairs-go sdk version v1.3.0 for config by @houseme in #2525
- feat: improve polaris register and upgrade polaris-go version v1.3.0 by @houseme in #2524
- support microseconds resolution for created_at/updated_at/deleted_at by @wesleywu in #2512
- add
Quick
mode for gtimer by @hinego in #2488
New Contributors
- @Deng-Xian-Sheng made their first contribution in #2418
- @dependabot made their first contribution in #2460
- @blinkbean made their first contribution in #2472
- @windvalley made their first contribution in #2475
- @Cyberhan123 made their first contribution in #2508
- @hinego made their first contribution in #2488
Full Changelog: v2.3.0...v2.4.0-beta
GoFrame Release v2.3.3
What's Changed
- improve ci by using cache feature of
setup-go
by @hailaz in #2463 - fix issue #2261 by @hailaz in #2458
- README update for
cmd/gf
by @hailaz in #2459 - Bump golang.org/x/net from 0.1.0 to 0.7.0 in /cmd/gf by @dependabot in #2460
- fix: use keyword(like: group) as table name in sqlite by @glennliao in #2461
- improve unit testing cases by @hailaz in #2468
- Protect RemoveValue from race condition by @blinkbean in #2472
- fix: gredis maxActive config and duplicate connection bug by @qinyuguang in #2479
- fix configuration of
Namespace
for pgsql by @hailaz in #2481 - add issue translation robot by @gqcn in #2490
- robot translator updates by @gqcn in #2491
- fix issue in empty json name along with omitempty tag in package oai by @gqcn in #2500
- improve command
gen dao
by removing all dao files if clear option is true by @gqcn in #2502 - fix issue struct attribute converting when has no json name but with omitempty tag by @gqcn in #2486
- improve unit testing cases coverage to 80%+ by @hailaz in #2480
- add package contrib/rpc/grpcx by @gqcn in #2169
New Contributors
- @dependabot made their first contribution in #2460
- @blinkbean made their first contribution in #2472
Full Changelog: v2.3.2...v2.3.3
GoFrame Release v2.3.2
What's Changed
- add label
planned
for ci to check issue inactive by @gqcn in #2408 - fix issue in
gf run
failed with arguments passed in windows platform by @hailaz in #2414 - fix issue #2011 by @gqcn in #2421
- fix issue #2015 by @gqcn in #2422
- fix issue #2050: add
-t
option support for commandgf docker
to compatable with older version by @gqcn in #2423 - .gitignore updates by @gqcn in #2426
- fix type of default value in swagger ui for package
goai
by @hailaz in #2413 - fix issue 2356 by @gqcn in #2428
- fix issue #2371 by @gqcn in #2429
- fix issue #2355 by @gqcn in #2430
- fix issue #2331 by @gqcn in #2432
- fix issue #2339 by @gqcn in #2433
- comment updates for with function of package gdb by @Deng-Xian-Sheng in #2418
- improve Timezone escape for driver dm/mysql by @LonelySally in #2412
- gdb error should wrap original underlying database error like MySQLError by @wesleywu in #2402
- fix issue #2435 by @glennliao in #2437
- fix issue #2338 by @gqcn in #2444
- fix issue #2427 by @gqcn in #2442
- fix issue #2447 by @gqcn in #2448
New Contributors
- @Deng-Xian-Sheng made their first contribution in #2418
Full Changelog: v2.3.1...v2.3.2
GoFrame Release v2.3.1
GoFrame Release v2.3.0
What's Changed
- fix: pgsql driver check local type error by @yss930819 in #2192
- fix info content when listens on port :0 for ghttp.Server by @gqcn in #2191
- fix: modify
Polaris
config readme.md by @houseme in #2186 - fix issue of OmitEmptyWhere in Builder for package gdb by @gqcn in #2195
- fix issue #1946 by @gqcn in #2194
- remove repeated error stack file lines among stacks for package gerror by @gqcn in #2199
- fix issue #1934 by @gqcn in #2193
- Add test for clickhouse #1815 by @CCpro10 in #2200
- fix issue #1971 by @gqcn in #2203
- improve ut cases for package contrib/drivers/mysql by @gqcn in #2216
- add
Ptr*
functions for package gconv by @gqcn in #2206 - Parse database empty json field to empty object( fix issue 2105 ) by @zhonghuaxunGM in #2213
- v2.2.1 by @gqcn in #2222
- auto creating error with code in ghttp.MiddlewareHandlerResponse when there's no 200 http status code by @gqcn in #2223
- opt: parameter verification of optimized handler methods by @ivothgle in #2224
- fix gen dao oracle entity bug by @zaier277 in #2219
- improve nil receiver handling for package gtime by @gqcn in #2226
- feat: add
gcfg.Adapter
implements using nacos service by @qinyuguang in #2232 - add golangci feature to guarantee codes quality by @houseme in #2229
- attach and export real handler for request by @SUDOCS in #2220
- add schema name in debug logging content; add master-slave ut case for package gdb by @gqcn in #2249
- fix issue 1915 and repeated link instance key for package gdb by @gqcn in #2250
- fix issue #2244 by @gqcn in #2257
- version.go updates by @gqcn in #2259
- fix router parameters handling by auto url decoding by @gqcn in #2262
- fix redis ci yaml by @gqcn in #2269
- move common used tag from packages to package gtag for maintainability by @gqcn in #2256
- feat: modify sql count value int64 by @houseme in #2266
- add ut cases for package gconv by @huangqian1985 in #2272
- fix typo for comments by @wanghaha-dev in #2268
- gtest model unit test by @huangqian1985 in #2267
- add supervisor for package grpool by @gqcn in #2252
- fix used schema not change in nested transaction when used different schemas by @gqcn in #2279
- fix IsSubDomain method error by @ItsWewin in #2283
- add command fix and up by @gqcn in #2280
- style(test): Unify the indentation format of SQL strings in clickhouse_test by @CCpro10 in #2277
- add ut cases for package gconv part2 by @huangqian1985 in #2282
- fix: gcron check if the predefined patterns fail by @hailaz in #2288
- ci: action update by @hailaz in #2289
- fix: gcache MustGetOrSetFunc error by @zcyc in #2291
- improve ut case for package gcache/gpool by @gqcn in #2290
- fix
/*
router supported for handler of package ghttp; fix json tag name issue when it contains,
for package goai; add proxy example for http server by @gqcn in #2294 - fix: update szenius/[email protected] by @hailaz in #2293
- add Tag* functions to retreive most commonly used tag value from struct field for package gstructs; use description tag as default value if brief is empty for gcmd.Argument by @gqcn in #2299
- fix cache issue in Count/Value functions for gdb.Model by @gqcn in #2300
- add minus of
start
parameter support forgstr.Substr
, like thesubstr
function inPHP
by @cnjinhy in #2297 - add ut cases for package gcode by @huangqian1985 in #2307
- add ut cases for package gerror by @huangqian1985 in #2304
- add ut cases for package gtime by @huangqian1985 in #2303
- add ut cases for package glog by @huangqian1985 in #2302
- change result data type of function Count from int to int64 for package gdb by @houseme in #2298
- feat: cmd gf prebuild suport oracle by @hailaz in #2312
- add ut cases for package g by @huangqian1985 in #2315
- add ut cases for package gdebug by @huangqian1985 in #2313
- add zookeeper registry support by @huyuanxin in #2284
- add ut cases for package glog part2 by @huangqian1985 in #2317
- fix invalid UpdatedAt usage in soft deleting feature for package gdb by @hailaz in #2323
- fix issue in failed installing when there's shortcut between file paths for command install by @gqcn in #2326
- improve lru clearing for package gcache by @gqcn in #2327
- add ut cases for package ghttp_middleware and ghttp_request by @huangqian1985 in #2344
- add ut cases for package ghttp_response by @huangqian1985 in #2352
- add ut cases for package ghttp_request by @huangqian1985 in #2351
- add ut cases for package gcache by @huangqian1985 in #2341
- improve ut case for package internal/rwmutex by @gqcn in #2364
- fix issue when only one file was uploaded in batch receiver attribute by @gqcn in #2365
- fix issue #2334 when accessing static files with cache time by @gqcn in #2366
- fix issue in cycle dumping for g.Dump by @gqcn in #2367
- fix issue in gdb_core_utility.HasField caused by initialized position 1 for package clickhouse by @qq375251855 in #2346
- fix: ghttp server static path config by @hailaz in #2335
- parseConfigNodeLink support Chinese database name #2231 by @sanrentai in #2238
- fix BuildParams with urlEncode when len(v) <= 6 by @primexiao in #2308
- fix issue in NewIntArrayRange function for package garray by @gqcn in #2374
- fix Unknown setting charset for clickhouse driver by @gqcn in #2375
- add security tag support for openapi by @XiaobinZhao in #2377
- revert from int64 to int for returning value of Count by @gqcn in #2378
- fix issue #2381 by @gqcn in #2382
- fix gf.yaml by @gqcn in #2385
- add LevelPrint configuration for glog.Logger; add package internal/instance for grouped instance management feature; add default logger for panic message printing if no logger set in gcron.Cron by @gqcn in #2388
- improve function SetTimeZone for package gtime by @gqcn in #2389
- feature/v2.3.0 by @gqcn in #2296
- version v2.3.0 by @gqcn in #2392
New Contributors
- @yss930819 made their first contribution in #2192
- @CCpro10 made their first contribution in #2200
- @ivothgle made their first contribution in #2224
- @zaier277 made their first contribution in #2219
- @SUDOCS made their first contribution in #2220
- @wanghaha-dev made their first contribution in #2268
- @ItsWewin made their first contribution in #2283
- @zcyc made their first contribution in #2291
- @cnjinhy made their first contribution in #2297
- @huyuanxin made their first contribution in #2284
- @primexiao made their first contribution in #2308
- @XiaobinZhao made their first contribution in #2377
中文发布记录
https://goframe.org/display/gf/v2.3+2023-01-18
Full Changelog: v2.2.0...v2.3.0