github gogf/gf v2.10.4
GoFrame Release v2.10.4

5 hours ago

What's Changed

feat

  • feat: add gf-pr-create skill and refresh root README by @gqcn in #4878
  • feat(agents): parallelize gf-pr-review and honor existing comments by @gqcn in #4879
  • feat(agents): extend pr review and drop openspec workflow by @gqcn in #4911
  • feat(cmd/gf): add gf agents for local coding-agent setup by @gqcn in #4877
  • feat(net/ghttp,net/goai): support JSON array request body by the in:"body" field tag by @LanceAdd in #4898
  • feat(net/ghttp): add exported HTTP header name constants by @LanceAdd in #4899

fix

  • fix: update gf cli to v2.10.3 by @github-actions[bot] in #4867
  • fix: v2.10.4 by @hailaz in #4941
  • fix(cmd/gf): reimplement GoFmt to avoid go env subprocess per file by @hailaz in #4929
  • fix(cmd/gf): avoid duplicate imports when ensuring an existing path by @LanceAdd in #4945
  • fix(contrib/drivers/clickhouse): correct conversion, inserts, rewriting by @lingcoder in #4916
  • fix(contrib/drivers/dm): preserve quoted identifiers by @yuyinw in #4828
  • fix(contrib/drivers/dm): read metadata columns ignoring column name case by @z312193608 in #4875
  • fix(contrib/drivers/dm): apply timezone to DM DSN by @014-code in #4904
  • fix(contrib/drivers/dm): expand test coverage to the Oracle baseline + 18 driver fixes by @lingcoder in #4925
  • fix(contrib/drivers/gaussdb): read int1[] and int16[] arrays back as arrays by @lingcoder in #4896
  • fix(contrib/drivers/mssql): expand test coverage to the MySQL baseline + 16 driver fixes by @lingcoder in #4924
  • fix(contrib/drivers/oracle): fix GBK decode and quoted identifiers by @yuyinw in #4836
  • fix(contrib/drivers/oracle): bring the driver up to the MySQL test baseline by @lingcoder in #4906
  • fix(contrib/drivers/pgsql): preserve timetz time zone offsets by @014-code in #4903
  • fix(contrib/drivers/sqlite): infer save conflict from primary keys by @gqcn in #4766
  • fix(contrib/drivers/sqlite): exclude internal tables from DAO discovery by @allenflux in #4908
  • fix(contrib/registry/nacos, contrib/config/nacos): update nacos-sdk-go to 70993e7 by @lingcoder in #4888
  • fix(contrib/registry/nacos): add Option pattern for registry configuration by @ShryukGrandhi in #4938
  • fix(contrib/registry/zookeeper): keep other instances when registering a service by @taekop in #4907
  • fix(database/gdb): map database type names exactly in each driver instead of guessing from substrings by @lingcoder in #4882
  • fix(database/gdb): preserve mixed values in undeclared columns by @allenflux in #4905
  • fix(database/gdb): cache forced empty results by @sean0407 in #4919
  • fix(database/gdb): treat empty TxOptions.Propagation as the default by @somaz94 in #4926
  • fix(net/gclient): remove dead request body read in tracing tracer by @LanceAdd in #4900
  • fix(net/ghttp): avoid the nil serving handler panic on the request struct parsing by @LanceAdd in #4901
  • fix(net/ghttp): avoid nil serveHandler panic on unmatched route parsing by @LanceAdd in #4912
  • fix(net/ghttp): strip the whole :name part when comparing router priority by @LuisFigueroaG in #4917
  • fix(net/ghttp): pin default Swagger UI Redoc to v2.5.3 by @xuanwolei in #4922
  • fix(net/ghttp): guard preBindItems against concurrent server starts by @somaz94 in #4927
  • fix(net/ghttp): bind all values of repeated query keys to slice fields,like PHP does by @LuisFigueroaG in #4928
  • fix(net/ghttp,net/goai,util/gtag): replace in:"body" with body:"*" for the whole request body by @LanceAdd in #4932
  • fix(os/gcfg): recover file watchers after load errors by @014-code in #4923
  • fix(os/gfpool): reopen pooled file when its path points to another file by @ShryukGrandhi in #4934
  • fix(os/gproc): restore default signal handling when shutdown listenin… by @jiang-bx in #4868
  • fix(os/gsession): publish atomic file snapshots on Unix by @allenflux in #4910
  • fix(redis): pin dedicated connection in Conn for connection-stateful commands by @yangfei1024 in #4864
  • fix(text/gstr): update StrTill function to return correct substring length and add unit tests by @hailaz in #4873
  • fix(util/gconv): preserve timezone when converting typed time values by @hailaz in #4845
  • fix(util/grand): keep the closed duration interval by @salapenar-max in #4915
  • fix(util/gvalid): measure a container by its element count in length … by @jiang-bx in #4865

perf

  • perf(internal/instance,i18n/gi18n,os/gcfg,database/gdb): check the cached instance with a reading lock by @LanceAdd in #4902
  • perf(net/ghttp): skip unused request tag handling by @LanceAdd in #4889
  • perf(util/gvalid): speed up struct validation by @LanceAdd in #4886

refactor

  • refactor(cmd/gf,contrib/drivers,net/ghttp,database/gdb,os/glog,net/goai,os/gtime): use constants by @LanceAdd in #4931
  • refactor(net/gclient): split prepareRequest into focused helper functions by @LanceAdd in #4890

test

  • test(contrib/drivers/oceanbase): expand test coverage to the MySQL baseline by @lingcoder in #4894
  • test(contrib/drivers/sqlite): take the colon of the path from the drive letter on Windows by @lingcoder in #4885
  • test(contrib/drivers/sqlite): expand test coverage to the MySQL baseline + 2 driver fixes by @lingcoder in #4892
  • test(contrib/drivers/sqlite): assert Test_DB_Ctx timeout via the context instead of the error text by @lingcoder in #4918
  • test(contrib/drivers/sqlitecgo): expand test coverage to the MySQL baseline + 3 driver fixes by @lingcoder in #4897
  • test(contrib/drivers/tidb): expand test coverage to the MySQL baseline by @lingcoder in #4893

New Contributors

Full Changelog: v2.10.3...v2.10.4

Don't miss a new gf release

NewReleases is sending notifications on new releases.