Release v1.31.2
- Fix potential rows leak on panic by deferring rows.Close() @omer-cengel (#7798)
- perf: replace fmt.Sprintf with strconv in ExplainSQL numeric formatting @alpardfm (#7796)
- Document NowFunc timezone behavior @morning-verlu (#7799)
- correct typo and rename fileType to fieldType in AlterColumn @cragone (#7748)
- fix: panic when using clause.Returning with CreateInBatches @Truongquangkhang (#7768)
- fix(migrator): add nil guards to ColumnType methods to prevent panic @lihan3238 (#7767)
- ci: switch tests Go matrix to stable/oldstable and update setup-go @smf-h (#7726)
- chore(ci): bump actions/stale to v9 @Olexandr88 (#7696)
- fix(migrator): don't clear alterColumn when defaults match @qqxhb (#7728)
- Add package comments to fix ST1000 warnings @twocs (#7708)
- generics: populate WithResult error @qqxhb (#7723)
- fix(utils): restore FileWithLineNum caller depth and add regression test @smf-h (#7717)
- tests: skip customized foreign key many2many on MySQL 8.4+ @smf-h (#7727)
- fix tiny typo in error message @snelg (#7738)
- Add unit test verifying chainable query methods mutate statement @miladev95 (#7684)
- fix: Close connection after ping failure to prevent goroutine leak @liang09255 (#7689)
- fix: Row() and Rows() functions should automaticaly apply the generic type as model @hakanakyurek (#7664)
- internal/lru: improve concurrency with RWMutex @miladev95 (#7668)
- Fix nil pointer panic in serializer for nil any-type fields @doraemonkeys (#7634)
- staticcheck QF1001 @miladev95 (#7648)
- Support array/slice expansion for named SQL parameters in parentheses @bafflingbug (#7614)
Release v1.31.1
- Add Namer-based column lookup to Schema.LookUpField @cmmoran (#7619)
- fix: Allow escaped double quotes in struct tag parser @kankankanp (#7631)
- Fix slog logger caller frame detection to output correct source file @ifooth (#7610)
- chore(docs): edited the badge test @Olexandr88 (#7635)
- Fix AutoMigrate default value comparison for string fields (issue #7590) @nowindexman (#7591)
- fix(UnixSecondSerializer.Value): Avoid panic when handling unsigned integer values @dushaoshuai (#7608)
- chore: fix some comments @wyrapeseed (#7615)
- Rename IsValidDBNameChar to IsInvalidDBNameChar @mengxunQAQ (#7582)
Release v1.30.2
- avoid copying structures with embedded mutexs @drakkan (#7571)
- Add DefaultContextTimeout option @jinzhu (#7567)
- Update the docker compose file @moseszane168 (#7524)
- fix: returning all columns with "on conflict do update" @phongphan (#7534)
- feat(slog-integration) @rezamokaram (#7537)
- fix data race in some case https://github.com/go-gorm/gorm/commit/725aa5b5ff4c0687b06d9a01096b8e4cf96b6c9e
- performance improvement
Release v1.30.1
- optimize: field.ReflectValueOf @liov (#7530)
- optimize: performance optimization @liov (#7526)
- fix(schema): check the hook function parameter type @demoManito (#7468)
- Fix: Unexpected OR Conditions force converted to AND @Riseif (#7512)
- Add GaussDB Database Support @moseszane168 (#7508)
- Call after initialize for gorm.Config @jinzhu (#7518)
- A little optimization for filed.ValueOf @liov (#7499)
- fixes #7486 @Eshan-Jogwar (#7492)
- fix decimal migrate error. @Chise1 (#7450)
- test: update MySQL test matrix to use official images and add 9.0, 8.4 versions @enomotodev (#7476)
Release v1.30.0
- (WIP) Implement Generics API @jinzhu (#7424)
- perf(schema): avoid redundant strings.ToLower call @1911860538 (#7464)
- fix: return init dialector error @codingplz (#7379)
- perf: break early on match failure in ParseConstraint @1911860538 (#7402)
- feat: error message show field name @pi12138 (#7452)
- perf: use strings.IndexByte to replace strings.Index @1911860538 (#7454)
- perf: use strings.Cut to replace strings.SplitN @1911860538 (#7455)