Release v1.26.0
- Preparestmt use LRU Map instead default map @Yaccc (#7435)
- use golangci replace reviewdog @jinzhu (#7426)
- test: mssql ci @a631807682 (#7388)
- fix deprecated reflect.PtrTo reflect.PointerTo usage @Aman-Shitta (#7366)
- Fix concurrent map writes #7297 @Ponywka (#7298)
- chore: update copyright year @maxktz (#7332)
- Enhance db.Scan with ParamsFilter - Issue 7336 - Suggestion @evyaffe (#7337)
- Fixed Empty Returning Clause Merge Edge Case @aviyam181199 (#7339)
- feat:Capitalize the priority field of IndexOption(https://github.com/go-gorm/gorm/issues/7331) @nowindexman (#7342)
- fix: deterministic index ordering when migrating @bamo (#7208)
- use map look-up for indexes @abbyssoul (#7242)
- [#6372] Fixed nullable constraint bug for columns during auto migration @wookie0 (#7269)
- Create CODE_OF_CONDUCT.md @omidfth (#7240)
- Enhance Release Process: Implement Automated Release Management and Notes Generation @YidiDev (#7224)
- refactor: improve logging for unimplemented ErrorTranslator in TranlateError config enabled @Invidam (#7225)
- Add GitHub Actions workflow to automate release creation on tagged pushes @YidiDev (#7209)
- Use official SQL Server docker image for tests @omkar-foss (#7205)
- feat: Modernize Docker Compose File @isso-719 (#7086)
- Generate unique savepoint names for nested transactions @phroggyy (#7174)
- fix: AfterQuery using safer right trim while clearing from clause's j… @bhowmik-abhijeet (#7153)
- fix memory leaks in PrepareStatementDB @ivila (#7142)
- ci: Add PostgreSQL 14 and 15 to GitHub Actions matrix @enomotodev (#7081)
- feat: add MapColumns method @molon (#6901)
- add DB level propagation for the Unscoped flag @sprataa (#7007)
- fix(scan): update Scan function to reset structs to zero values for each scan @Waldeedle (#7061)
- fix: use reflect.Append when preloading nested associations instead of making a slice with fixed size @emilienkofman (#7014)
- Fix association replace non-addressable panic @SergeiSadov (#7012)
- fix:
unsupported data
on nested joins with preloads @N-Schaef (#6957) - fix: AfterQuery should clear FROM Clause's Joins rather than the Stat… @liov (#7027)
- feat: chainable order support clause.OrderBy @supergem3000 (#7054)
- fix: strings.Title -> cases.Title bcs strings.Title library is deprecated @ryuji-cre8ive (#6999)
- fix: typo @hakusai22 (#7003)
- Fix handling of unknown column types @looi (#6540)
- Fix panic bug in migrator due to lack of nil check for stmt.Schema @pixelmaxQm (#6932)
- Add new error for "Violation Check Constraint" @anilsenay (#6992)
- fix: not clause with or condition @a631807682 (#6984)
- perf: merge nested preload query when using join @a631807682 (#6990)
- Faster utils.FileWithLineNum @kkocdko (#6981)
- Added comment describing Unscoped() method @AntonyChR (#6969)
- fix: duplicated preload @yetone (#6948)
- feat: prepare_stmt support ping @philhuan (#6924)
- fix: remove
callback
fromcallbacks
ifRemove()
called @snackmgmg (#6916) - fix: 'type XXXX int' will print wrong sql to terminal @wangzeping722 (#6917)
- chore: optimize
regEnLetterAndMidline
regular @demoManito (#6908) - fix(create): fix insert column order @archever (#6855)
- chore: optimize conversion of nanoseconds to milliseconds @demoManito (#6907)
- fix(scan): array element is set to a zero value @demoManito (#6890)
- fix: nested preload with join panic when find @black-06 (#6877)
- fix(scan.go): reflect.MakeSlice may pass in the wrong type reflect.Array @demoManito (#6880)
- test: namer identifier lenght @a631807682 (#6872)
- fix some typos in tests @hishope (#6879)
- Fix regression in db.Not introduced in v1.25.6. @tsuba3 (#6844)
- Add unittest test helper function ConvertSliceOfMapToValuesForCreate @naruchet (#6854)
- CHORE add unittest test function ConvertMapToValueForCreate @naruchet (#6846)
- Fix: panic on nullable value with multiple foreign key usage @shtrih (#6839)
- refactor: part 2 of distinguish between Unique and UniqueIndex @black-06 (#6822)
- let limit and offset use bind parameter @jasonchuan (#6806)
- refactor: distinguish between Unique and UniqueIndex @black-06 (#6386)
- fix: preload shouldn't overwrite the value of join @black-06 (#6771)
- chore(deps): bump actions/cache from 3 to 4 @dependabot[bot] (#6802)
- fix: ignore .gen.go suffix in logger to get the real caller when using gen @0xJacky (#6785)
- fix: ExplainSQL using consecutive pairs of escaper in SQL string represents an escaper @iTanken (#6766)
- fix: join and select mytable.* not working @StephanoGeorge (#6761)
- feature: bring custom type and id column name to polymorphism @alexisvisco (#6716)
- Making locking parameters more intuitive @dogenkigen (#6719)
- refactor: Resolve implicit memory aliasing in for loop @BugKillerPro (#6730)
- map insert support return increment id @FangSqing (#6662)
- docs: fix broken link @kijimaD (#6673)
- chore(logger): optimize @flc1125 (#6675)
- feat: add MigrateColumnUnique @black-06 (#6640)
- test: fix TestEmbeddedRelations @a631807682 (#6639)
- tests for sqilte: enable FOREIGN_KEYS inside OpenTestConnection @glebarez (#6641)
- Add support for returning in sqlserver @FrancoLiberali (#6585)
- chore(deps): bump actions/checkout from 3 to 4 @dependabot[bot] (#6586)
- Don't call MethodByName with a variable arg @jquirke (#6602)
- feat: reuse name @philhuan (#6626)
- fix: sqlite dialector cannot apply
PRIMARY KEY AUTOINCREMENT
type @samuelncui (#6624) - Fixed error message when dialector fails to initialize @RatajVaver (#6509)
- fix schema GetIdentityFieldValuesMap interface or ptr @uptutu (#6417)
- add float32 test case for keep float precision in ExplainSQL @Heliner (#6530)
- feat: rm GetDBConnWithContext method @qqxhb (#6535)
- fix(clause): clause equal empty array @whcao (#6503)
- refactor: Regex description @fayvori (#6507)
- fix: rectify
SkipHooks
not working withNewDB
set in Session method @aayushacharya (#6484) - keep float precision in ExplainSQL @kumakichi (#6495)
- test: coverage for tabletype added @saeidee (#6496)
- test: coverage for foreign key violation err @saeidee (#6403)
- ci: fix mariadb mysqladmin @saeidee (#6401)
- test: coverage for duplicated key err @saeidee (#6389)
- Fix incorrect documentation comment (has many -> has one) @johannes-riecken (#6382)
- fix: database/sql.Scanner should not retain references @ncruces (#6380)
- feat: add *sql.DB connector that uses database context @lzakharov (#6366)
- reafactor: add nil detection when sqldb return @KantaHasegawa (#6373)
- refactor: remove unnecessary prepared statement allocation @lzakharov (#6374)
- fix: avoid panic when open fails @black-06 (#6368)
- fix: begin transaction fail, rollback panic @zhouit (#6365)
- max identifier length changed to 63 @alidevhere (#6337)
- fix: save with hook (#6285) @black-06 (#6294)
- fix(nested transaction): SavePoint SQL Statement not support in Prepared Statements @wangliuyang520 (#6220)
- refactor: error translator test @saeidee (#6350)
- Added support of "Violates Foreign Key Constraint" @amirejaz75 (#6329)
- feature: rename License to LICENSE (#6331) @Avinaba-Bhattacharjee (#6336)
- fix:clickhouse error not capture(#6277) @201430098137 (#6321)
- fix: 🐛 embedded struct test failed with custom datatypes @aclich (#6311)
- feat: migrator support table comment @johnmai-dev (#6225)
- feat: unscoped association (#5899) @black-06 (#6246)
- fix: 🐛 some numeric types in embedded pointer type struct cause test failed @hykuan (#6293)
- fix: use slice Stale sort @Hanwn (#6263)
- fix: nested joins alias @a631807682 (#6265)
- fix typo in comment example of DB.Table() @yikakia (#6266)
- fix: avoid coroutine leaks when the dialecter initialization fails. @onlyice (#6249)
- fix: unit test @black-06 (#6250)
- feat: support embedded preload @black-06 (#6137)
- fix cond in scopes @black-06 (#6152)
- fix: many2many association with duplicate belongs to elem @bsmith-auth0 (#6206)
- refactor(migrator): non-standard codes @demoManito (#6180)
- chore(deps): bump actions/stale from 7 to 8 @dependabot[bot] (#6190)
- fix:
limit(0).offset(b)
return all data, where b <= 0 @Hanwn (#6191) - fix: embedded should be nil if not exists @a631807682 (#6219)
- refactor: translatorError flag added for backward compatibility @saeidee (#6178)
- avoid starting a transaction when performing only one insert operation in CreateInBatches @chenyahui (#6174)
- fix: count with group (#6157) @black-06 (#6160)
- save should be idempotent @black-06 (#6149)
- chore(deps): bump actions/setup-go from 3 to 4 @dependabot[bot] (#6165)
- feat: support nested join @a631807682 (#6067)
- test: pgsql alter column from smallint or string to boolean @jeffry-luqman (#6107)
- fix: diff schema update assign value @a631807682 (#6096)
- refactor: translate error only when it is not nil @saeidee (#6133)
- Fix: Composite primary key with auto-increment value returns 0 after insert @truongns (#6127)
- fix: on confilct with default null @a631807682 (#6129)
- feat: Unique Constraint Violation error translator for different drivers @saeidee (#6004)
- Refactor: Remove redundant code @xiaoliwang (#6087)
- Create and drop view @black-06 (#6097)
- quotes on docker-compose.yml ports @xiaoliwang (#6089)
- test: pgsql migrate unique index @a631807682 (#6028)
- fix: update panic if model is not ptr @black-06 (#6037)
- fix: association concurrently appending @black-06 (#6044)
- fix: miss join type @a631807682 (#6056)
- Issue 6054: Unscoped not working with PreLoad on Joins @manstis (#6058)
- feat: add tidb integration test cases @Icemap (#6014)
- fix:throw model value required error @a631807682 (#6031)
- fix: ignore nil query @chyroc (#6021)
- fix: support zeroValue tag on DeletedAt @qiankunli (#6011)
- fix(schema): field is only unique when there is one unique index @Nomango (#5974)
- fix(migrator): Tag default:'null' always causes field migration #5953 @Nomango (#5954)
- fix(migrator): ignore relationships when migrating #5913 @Nomango (#5946)
- chore(deps): bump actions/stale from 6 to 7 @dependabot[bot] (#5945)
- test(MigrateColumn): mock alter column to improve field compare @a631807682 (#5499)
- feat: support inner join @a631807682 (#5583)
- DryRun for migrator @defool (#5689)
- fix:Issue migrating field with CURRENT_TIMESTAMP @0fv (#5906)
- Update func comments in chainable_api and FirstOr_ @naterarmstrong (#5935)
- Add test case for embedded value selects @emcfarlane (#5901)
- fix: skip append relation field to default db value @a631807682 (#5885)
- clear code syntax @wjw1758548031 (#5889)
- fix(FindInBatches): throw err if pk not exists @a631807682 (#5868)
- fix bug in windows @kvii (#5844)
- cleanup(prepare_stmt.go): unnecessary map delete @demoManito (#5849)
- doc(README.md): add contributors @demoManito (#5847)
- fix logger path bug @kvii (#5836)
- test(utils): add utils unit test @demoManito (#5834)
- feat: golangci add goimports and whitespace @demoManito (#5835)
- test(clause/joins): add join unit test @demoManito (#5832)
- fix(Joins): args with select and omit @a631807682 (#5790)
- test: invalid cache plan with prepare stmt @a631807682 (#5778)
- feat(PreparedStmtDB): support reset @a631807682 (#5782)
- fix: association without pks @a631807682 (#5779)
- fix: limit=0 results (#5735) @robhafner (#5736)
- fix:
func (schema *Schema) guessRelation(...)
primaryFields are overwritten @demoManito (#5721) - Fix OnConstraint builder @xwjdsh (#5738)
- fix: prepare deadlock @a631807682 (#5568)
- fix maybe nil panic @demoManito (#5720)
- chore(deps): bump actions/stale from 5 to 6 @dependabot[bot] (#5717)
- fix: return id which have type string after created @nohattee (#5477)
- feat: migrator support type aliases @a631807682 (#5627)
- fix: scan array @a631807682 (#5624)
- support scan assign slice cap @demoManito (#5634)
- fix(migrate): same embedded filed name @a631807682 (#5705)
- fix: update omit @qqxhb (#5699)
- AutoMigrate() should always migrate checks, even there is no relationship constraints. @googollee (#5644)
- Rewrite of finisher_api Godocs @bruc3mackenzi3 (#5618)
- simplified regexp @xiaoliwang (#5677)
- Optimize: code logic db.scanIntoStruct() @demoManito (#5633)
- test: remove uuid autoincrement tag @a631807682 (#5620)
- Replace
ioutil.Discard
withio.Discard
@zaneli (#5603) - Refactor: redundant type from composite literal @zaneli (#5604)
- Add Go 1.19 Support @Aoang (#5608)
- fix: correct grammar @seaworn (#5600)
- Update Delete Godoc to describe soft delete behaviour @bruc3mackenzi3 (#5554)
- chore: fix gorm tag @a631807682 (#5577)
- fix: empty serilizer err #5524 @philhuan (#5525)
- Fixed some typos in the code comment @Minjerous (#5549)
- fix: embedded default value @a631807682 (#5540)
- fix bad logging performance of bulk create (#5520) @zxdvd (#5521)
- fix empty QueryClauses in association (#5502) @goxiaoy (#5503)
- Adjust ToStringKey use unpack params, fix pass []any as any in variadic function @alingse (#5500)
- test: pg array type @a631807682 (#5480)
- feat: use callback to handle transaction @sunfuze (#5455)
- fix: association many2many duplicate elem @a631807682 (#5473)
- fix(MigrateColumn):declared different type without length @a631807682 (#5465)
- fix:serializer contain field panic @wuweishuo (#5461)
- feat: add method GetIndexes @qqxhb (#5436)
- fix: reset null value in slice @a631807682 (#5417)
- enhancement: Avoid calling reflect.New() when passing in slice of values to
Scan()
@Bexanderthebex (#5388) - chore(deps): bump gorm.io/driver/mysql from 1.3.3 to 1.3.4 in /tests @dependabot[bot] (#5385)
- fix: migrate column default value @a631807682 (#5359)
- fixed FirstOrCreate not handled error when table is not exists @ophum (#5367)
- fix: duplicate column scan @a631807682 (#5369)
- test: test for skip prepared when auto migrate @a631807682 (#5350)
- Fixed #5355 - Named variables don't work when followed by Windows CRLF line endings @clarkmcc (#5356)
- fix: trx in hooks clone stmt @a631807682 (#5338)
- fix: quote index when creating table @black-06 (#5331)
- fix: many2many auto migrate @a631807682 (#5322)
- fix: preload with skip hooks @a631807682 (#5310)
- fix: callbcak sort when using multiple plugin @a631807682 (#5304)
- fix: add judge result of auto_migrate @Heliner (#5306)
- fix: AutoMigrate with special table name @a631807682 (#5301)
- index: add composite id @photon3108 (#5269)
- test: test for postgrs serial column @a631807682 (#5234)
- check for pointer to pointer value @aelmel (#5278)
- fix: stmt.Changed zero value filed behavior @a631807682 (#5281)
- fix missing error-check in AutoMigrate @glebarez (#5283)
- fix: FindInBatches with offset limit @a631807682 (#5255)
- fix spelling mistake @ZhangShenao (#5256)
- chore(deps): bump actions/setup-go from 2 to 3 @dependabot[bot] (#5243)
- chore(deps): bump actions/stale from 4 to 5 @dependabot[bot] (#5244)
- fix: FirstOrCreate RowsAffected @a631807682 (#5250)
- Fix scanIntoStruct @delmorof (#5241)
- Set permissions for GitHub actions @naveensrinivasan (#5237)
- Offset issue resolved for scanning results back into struct @Joker666 (#5227)
- unify db receiver name @ZhangShenao (#5215)
- fix: context missing in association @goxiaoy (#5214)
- fix variable shadowing @ZhangShenao (#5212)
- chore(deps): bump actions/cache from 2 to 3 @dependabot[bot] (#5196)
- fix: throw err if association model miss primary key @a631807682 (#5187)
- style: fix coding typo @ag9920 (#5184)
- style: fix linter check problem for NamingStrategy and onConflictOption @ag9920 (#5174)
- test: fix test case and utils @a631807682 (#5172)
- Use WriteByte for single byte operations @moredure (#5167)
- fix when index name is "type", parseFieldIndexes will set index TYPE is "TYPE" @labulakalia (#5155)
- chore(deps): bump actions/checkout from 2 to 3 @dependabot[bot] (#5133)
- ToSQL should enable SkipDefaultTransaction by default @CaoManhDat (#5125)
- fix: query scanner in single column @a631807682 (#5111)
- feat: support gob serialize @ag9920 (#5108)
- Fix invalid foreign key constraint name with long schema qualified tables @mnussbaum (#5045)
- fix typo in TxCommitter interface comment & improve CheckTruth, chek val empty first @0x2d3c (#5094)
- style: use ReplaceAll instead of Replace @hu-quan-er (#5095)
- Inherit clone flag (NewDB) on transaction creation @Gilwe (#5012)
- Fixed the use of "or" to be " OR ", to account for words that contain… @sammyrnycreal (#5074)
- Add Serializer, Update migrator ColumnType interface @jinzhu (#5089)
- fix: isPrintable incorrect @li-jin-gou (#5076)
- fix: replace empty table name result in panic @li-jin-gou (#5048)
- Added comments to existing methods @Saurabh-Thakre (#5043)
- preoload not allowd before count @0fv (#5023)
- fix: omit not work when use join @li-jin-gou (#5034)
- chore(deps): bump gorm.io/driver/mysql from 1.2.1 to 1.2.3 in /tests @dependabot[bot] (#4987)
- time.Time, []byte type add alias support. (rebase master) @piyongcai (#4992)
- fix: auto migration column order unpredictable @halfcrazy (#4980)
- improve the error handle in tests_test @liweitingwt (#4964)
- Fix: Where clauses with named arguments may cause generation of unintended queries @emregullu (#4937)
- modify unscoped judge @liweitingwt (#4929)
- fix type alias AutoMigrate bug(Add Test Case) @piyongcai (#4888)
- Use Golangci configuration file @mmorel-35 (#4896)
- feat: go code style adjust and optimize code for callbacks package @daheige (#4861)
- Add unused argument @jinzhu (#4871)
- Bump gorm.io/driver/mysql from 1.1.3 to 1.2.0 in /tests @dependabot[bot] (#4856)
- Bump github.com/jinzhu/now from 1.1.2 to 1.1.3 in /tests @dependabot[bot] (#4866)
- Bump github.com/jinzhu/now from 1.1.2 to 1.1.3 @dependabot[bot] (#4865)
- feat(migrator,migrator/migrator.go,tests/migrate_test.go) : Get multiple data tables for migrator. @dino-ma (#4841)
- Fix self-referential belongs to constraint @mgovilla (#4801)
- Refactor if logic @daheige (#4683)
- Bump gorm.io/driver/sqlserver from 1.1.2 to 1.2.0 in /tests @dependabot[bot] (#4820)
- Add ToSQL support to generate SQL string. @huacnlee (#4787)
- Refactor ParseWithSchemaTable method and improve test. @huacnlee (#4789)
- fix: automigrate error caused by indexes while using dynamic table name @xwjdsh (#4773)
- feat: Convert SQL null values to zero values for model fields which are not pointers. @jimlambrt (#4710)
- feat: adjust PreparedStmtDB unlock location and BuildCondition if logic @daheige (#4681)
- feat: adjust SetupJoinTable func if..else code @daheige (#4680)
- fixed belongs_to & has_one reversed if field same (proper fix) @paraswaykole (#4694)
- Bump gorm.io/driver/postgres from 1.1.1 to 1.1.2 in /tests @dependabot[bot] (#4740)
- Update
tests.yml
@s-takehana (#4741) - fix: QuoteTo not fully support raw mode @tr1v3r (#4735)
- fix (clause/expression): Allow sql stmt terminator @jimlambrt (#4693)
- Bump gorm.io/driver/postgres from 1.1.0 to 1.1.1 in /tests @dependabot[bot] (#4699)
- Bump gorm.io/driver/sqlite from 1.1.4 to 1.1.5 in /tests @dependabot[bot] (#4701)
- Refactor update record @jinzhu (#4679)
- Bump github.com/lib/pq from 1.10.2 to 1.10.3 in /tests @dependabot[bot] (#4676)
- Bump gorm.io/gorm from 1.21.13 to 1.21.14 in /tests @dependabot[bot] (#4655)
- Add Go 1.17 @jxlwqq (#4666)
- Bump gorm.io/driver/sqlserver from 1.0.7 to 1.0.8 in /tests @dependabot[bot] (#4631)
- Fix extra 'AND' when len(values) == 0 ON IN.NegationBuild() @secake (#4618)
- Bump gorm.io/driver/mysql from 1.1.1 to 1.1.2 in /tests @dependabot[bot] (#4615)
- Bump gorm.io/gorm from 1.21.12 to 1.21.13 in /tests @dependabot[bot] (#4616)
- feat: count accpet
db
.table
@tr1v3r (#4626) - feat: QuoteTo accept clause.Expr @tr1v3r (#4621)
- chore(logger): explicitly set config of Default Logger @HurSungYun (#4605)
- Fix create with ignore migration @zkqiang (#4571)
- fix: table couln't be reentrant @SmallTianTian (#4556)
- Update Dependencies @mmorel-35 (#4582)
- Do not emit ORDER BY for empty values @wfscheper (#4592)
- fix return value for *schema.Check @daheige (#4527)
- optimize migrator.go MigrateColumn and ColumnTypes func. @daheige (#4532)
- optimize Parse func for fieldValue.Interface @daheige (#4526)
- update comment for ConvertSliceOfMapToValuesForCreate func @daheige (#4529)
- optimize setupValuerAndSetter func @daheige (#4530)
- adjust Preload fmt.Errorf @daheige (#4531)
- Fix create index with comments in MySQL @s-takehana (#4521)
- New Comma Expression @tr1v3r (#4524)
- slightly better callback warning @bdemirpolat (#4495)
- title foreign schema for many2many to avoid panic @wangyuehong (#4496)
- fix: fix race issue in prepare method @shiyu7 (#4487)
- Fix Pluck's usage #4473 @wuwenchi (#4479)
- Added return names to logger.Interface.Trace @applejag (#4450)
- Use count(*) instead of count(1) include NULL and non-NULL rows(SQL-92). @tony95271 (#4453)
- Code optimize @daheige (#4415)
- Fix: FirstOrCreate slice out of bounds error when using 'Assign' @liamrfell (#4436)
- Support partial indexes for Upsert in Postgres @VitalyShein (#4442)
- Update version in
tests.yml
@s-takehana (#4432) - golint standard @heyanfu (#4421)
- Fix typo in associations_test.go @eltociear (#4407)
- Small grammar fix in error message @Br3nda (#4406)
- fixed has_many stopped working if field names are identical @paraswaykole (#4387)
- Fix ErrInvalidTransaction error message @atreya2011 (#4380)
- Optimizing the parse function in schema @chenquan (#4364)
- slim trace if depth @xx1906 (#4346)
- fixed belongs_to & has_one reversed if field same @paraswaykole (#4343)
- Added missing white space @KarolosLykos (#4330)
- Fixed naming longer than 64 characters @MikaMauger (#4310)
- Fix some typos @faulkner (#4294)
- Optimize reflect value length and method @daheige (#4280)
- Optimal value type acquisition for v @daheige (#4278)
- Respect ignore migration when add column @yrong (#4276)
- Update field.go @gavwu (#4228)
- Fix FindInBatches to return errors when Find fails @genkami (#4203)
- optimize MigrateColumn method for regexp @daheige (#4188)
- support to preload all children in multiple levels associations @ruozhixian (#4172)
- chore: improve code quality @withshubh (#4123)
- Optimize parse constraint @daheige (#4153)
- optimize value of reflection length @daheige (#4152)
- support named params in Select API @ratanphayade (#4142)
- for Config.cacheStore store PreparedStmtDB key @daheige (#4149)
- invalid db error and value and invalid value length error refactor. @daheige (#4151)
- change the method of initializing slice @sivchari (#4097)
V1.21.0
Breaking Changes:
- Scopes will be executed when when calling the finish method
Features:
WIP...