v2.4.0
- fix: treat IPv6 and shared-space addresses as internal by @SashaMIT in https://github.com/duke-git/lancet/pull/357
- Fix fileutil CI panic by serving ReadFile test fixtures from a local httptest server by @duke-git with @Copilot in https://github.com/duke-git/lancet/pull/358
- fix(package): [algorithm] handle empty iterative searches by @yuefdev in https://github.com/duke-git/lancet/pull/399
- fix(package): [netutil] bracket IPv6 dial addresses by @yuefdev in https://github.com/duke-git/lancet/pull/398
- fix(package): [structs] recognise directly embedded fields by @yuefdev in https://github.com/duke-git/lancet/pull/403
- fix(package): [random] handle non-positive unique slice lengths by @yuefdev in https://github.com/duke-git/lancet/pull/402
- fix(package): [netutil] skip invalid forwarded IP values by @yuefdev in https://github.com/duke-git/lancet/pull/397
- fix(package): [validator] accept supported hostless URL schemes by @yuefdev in https://github.com/duke-git/lancet/pull/395
- fix(package): [iterator] report available elements in HasNext by @yuefdev in https://github.com/duke-git/lancet/pull/392
- fix(package): [slice] report unreadable struct fields by @yuefdev in https://github.com/duke-git/lancet/pull/401
- fix(package): [stream] bound Limit capacity by source length by @yuefdev in https://github.com/duke-git/lancet/pull/400
- fix(package): [validator] match whole Chinese phone numbers by @yuefdev in https://github.com/duke-git/lancet/pull/396
- fix(package): [stream] avoid overflowing range arithmetic by @yuefdev in https://github.com/duke-git/lancet/pull/393
- fix(package): [queue] keep circular queues reusable after clear by @yuefdev in https://github.com/duke-git/lancet/pull/394
- fix(package): [list] preserve source storage during merge by @yuefdev in https://github.com/duke-git/lancet/pull/391
- fix(package): [netutil] handle upload responses by @yuefdev in https://github.com/duke-git/lancet/pull/389
- fix(package): [netutil] reject failed download responses by @yuefdev in https://github.com/duke-git/lancet/pull/388
- fix(package): [datetime] reject non-positive intervals by @yuefdev in https://github.com/duke-git/lancet/pull/386
- fix(package): [datetime] count calendar days across DST by @yuefdev in https://github.com/duke-git/lancet/pull/385
- fix(slice): return safely when DeleteAt receives no elements by @yuefdev in https://github.com/duke-git/lancet/pull/381
- fix(formatter): exclude leading plus signs from comma groups by @yuefdev in https://github.com/duke-git/lancet/pull/382
- fix(package): [queue] check membership only in active slots by @yuefdev in https://github.com/duke-git/lancet/pull/390
- fix(package): [convertor] preserve cloned scalar types by @yuefdev in https://github.com/duke-git/lancet/pull/383
- fix(package): [algorithm] keep duplicate CountSort entries by @yuefdev in https://github.com/duke-git/lancet/pull/387
- fix(package): [datetime] accept empty timezone options by @yuefdev in https://github.com/duke-git/lancet/pull/384
- fix(convertor): clone array values without slice reflection by @yuefdev in https://github.com/duke-git/lancet/pull/380
- fix(fileutil): reject copies onto the source file by @yuefdev in https://github.com/duke-git/lancet/pull/379
- fix(fileutil): preserve CSV fields and truncate replaced files by @yuefdev in https://github.com/duke-git/lancet/pull/378
- fix(strutil): clamp substring lengths before integer conversion by @yuefdev in https://github.com/duke-git/lancet/pull/377
- fix(mathutil): stop stepped ranges when values stop increasing by @yuefdev in https://github.com/duke-git/lancet/pull/376
- fix(maputil): validate MapToStruct inputs before reflection by @yuefdev in https://github.com/duke-git/lancet/pull/375
- fix(validator): reject backslashes in Base64 values by @yuefdev in https://github.com/duke-git/lancet/pull/374
- fix(slice): pass actual comparison indexes to DifferenceBy by @yuefdev in https://github.com/duke-git/lancet/pull/370
- fix(strutil): preserve IndexOffset not-found results by @yuefdev in https://github.com/duke-git/lancet/pull/367
- fix(strutil): validate Hamming distance by rune count by @yuefdev in https://github.com/duke-git/lancet/pull/368
- fix(strutil): encode default trim characters as runes by @yuefdev in https://github.com/duke-git/lancet/pull/369
- fix(mathutil): divide before multiplying LCM factors by @yuefdev in https://github.com/duke-git/lancet/pull/363
- fix(validator): correct JCB digit pattern escaping by @yuefdev in https://github.com/duke-git/lancet/pull/373
- fix(maputil): map slices into array destinations by @yuefdev in https://github.com/duke-git/lancet/pull/371
- fix(validator): exclude the correct GBK trail byte by @yuefdev in https://github.com/duke-git/lancet/pull/372
- fix(slice): handle Intersection without inputs by @yuefdev in https://github.com/duke-git/lancet/pull/366
- fix(mathutil): format TruncRound integer inputs as floats by @yuefdev in https://github.com/duke-git/lancet/pull/365
- fix(mathutil): honour Fibonacci seeds at the first positions by @yuefdev in https://github.com/duke-git/lancet/pull/362
- fix(mathutil): scale integer inputs after float conversion by @yuefdev in https://github.com/duke-git/lancet/pull/361
- fix(mathutil): preserve distances at extreme scales by @yuefdev in https://github.com/duke-git/lancet/pull/360
- fix(package): update LRU length after deletion by @yuefdev in https://github.com/duke-git/lancet/pull/359
- fix(mathutil): compute permutations without factorial division by @yuefdev in https://github.com/duke-git/lancet/pull/364
- @SashaMIT made their first contribution in https://github.com/duke-git/lancet/pull/357
- @duke-git with @Copilot made their first contribution in https://github.com/duke-git/lancet/pull/358
- @yuefdev made their first contribution in https://github.com/duke-git/lancet/pull/399
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.9...v2.4.0
v2.3.9
- Fix/339 by @jiawen-afk in https://github.com/duke-git/lancet/pull/344
- Feat/encryption for sm2 sm3 sm4 by @jiawen-afk in https://github.com/duke-git/lancet/pull/343
- fix(random): avoid concurrent rand.Seed causing panic by @coder-liyang in https://github.com/duke-git/lancet/pull/345
- ReadFileByLine bugfix by @caiknife in https://github.com/duke-git/lancet/pull/350
- feat: add address.Smart and Decompose for parse CN address by @jiawen-afk in https://github.com/duke-git/lancet/pull/346
- fix: dropped http errors by @alrs in https://github.com/duke-git/lancet/pull/351
- @alrs made their first contribution in https://github.com/duke-git/lancet/pull/351
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.8...v2.3.9
v2.3.8
- fix(package):[function] Corrected behaviour of Nand predicate by @idichekop in https://github.com/duke-git/lancet/pull/319
- refactor(package): [slice] Simple refactor of ForEach by @idichekop in https://github.com/duke-git/lancet/pull/323
- fix(package): [slice] Fix RigthPadding and LeftPadding by @idichekop in https://github.com/duke-git/lancet/pull/322
- fix(package): [slice] functions with inconsistent return behaviour by @idichekop in https://github.com/duke-git/lancet/pull/326
- fix: return 0 when Average is called with empty slice by @zoulux in https://github.com/duke-git/lancet/pull/330
- fix(eventbus): update error handler to include topic information by @ch3nnn in https://github.com/duke-git/lancet/pull/333
- feat(struct): add struct name function by @ch3nnn in https://github.com/duke-git/lancet/pull/328
- Add enum package by @duke-git in https://github.com/duke-git/lancet/pull/334
- feat:add map to markdown conversion in map.go by @vector4wang in https://github.com/duke-git/lancet/pull/336
- feat: add ContainAny by @Jiawen-AFK in https://github.com/duke-git/lancet/pull/338
- @idichekop made their first contribution in https://github.com/duke-git/lancet/pull/319
- @duke-git made their first contribution in https://github.com/duke-git/lancet/pull/334
- @vector4wang made their first contribution in https://github.com/duke-git/lancet/pull/336
- @Jiawen-AFK made their first contribution in https://github.com/duke-git/lancet/pull/338
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.7...v2.3.8
v2.3.7
- perf(retry): remove the waiting time after the last retry by @cannian1 in https://github.com/duke-git/lancet/pull/309
- fix(docs): correct URL link typo in documentation by @FanLu1994 in https://github.com/duke-git/lancet/pull/310
- fix: ArrayQueue.Back() implementation by @gregth in https://github.com/duke-git/lancet/pull/313
- the error returned by the Retry function contains the last error (#311) by @cannian1 in https://github.com/duke-git/lancet/pull/315
- Update slice_concurrent.go by @zoulux in https://github.com/duke-git/lancet/pull/316
- @FanLu1994 made their first contribution in https://github.com/duke-git/lancet/pull/310
- @gregth made their first contribution in https://github.com/duke-git/lancet/pull/313
- @zoulux made their first contribution in https://github.com/duke-git/lancet/pull/316
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.6...v2.3.7
v2.3.6
- [BreakChange] Change the param endWith and beginFrom of BeginOfWeek,EndOfWeek to be required. by @cyjaysong in https://github.com/duke-git/lancet/pull/300
- feat: add ToMap for stream by @ppd324 in https://github.com/duke-git/lancet/pull/301
- fix: Fixed the issue of missing cap when StringToBytes returns result by @yguilai in https://github.com/duke-git/lancet/pull/306
- doc: fix typo in chinese translation by @RigelNana in https://github.com/duke-git/lancet/pull/305
- doc: fix typo by @Yurunsoft in https://github.com/duke-git/lancet/pull/308
- @ppd324 made their first contribution in https://github.com/duke-git/lancet/pull/301
- @RigelNana made their first contribution in https://github.com/duke-git/lancet/pull/305
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.5...v2.3.6
v2.3.5
- fix(fileutil): unzip Chinese garbled code during decompression by @hunantangke in https://github.com/duke-git/lancet/pull/279
- fix the bug of random.RandFloats() infinite loop and the result of random.RandFloat() sometimes equals to max. by @Yurunsoft in https://github.com/duke-git/lancet/pull/282
- make Bridge not block in the first stream that not closed by @mooncake9527 in https://github.com/duke-git/lancet/pull/288
- compatible with pointer in convert.ToString by @guanhonly in https://github.com/duke-git/lancet/pull/291
- fix: fix slice_test.go ,We should not assume the order of the slice by @YoghurtFree in https://github.com/duke-git/lancet/pull/293
- feat(validator): add IsIpPort by @ch3nnn in https://github.com/duke-git/lancet/pull/294
- @hunantangke made their first contribution in https://github.com/duke-git/lancet/pull/279
- @mooncake9527 made their first contribution in https://github.com/duke-git/lancet/pull/288
- @guanhonly made their first contribution in https://github.com/duke-git/lancet/pull/291
- @YoghurtFree made their first contribution in https://github.com/duke-git/lancet/pull/293
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.4...v2.3.5
v1.4.6
Full Changelog: https://github.com/duke-git/lancet/compare/v1.4.5...v1.4.6
v2.3.4
- fix(orderedmap): fix set bug by @congziqi77 in https://github.com/duke-git/lancet/pull/252
- fix(algorithm): fix bug of lrucache in issue #251 by @aki-colt in https://github.com/duke-git/lancet/pull/254
- fix: fix compile error when go sdk version below go@1.20 (#255) by @yguilai in https://github.com/duke-git/lancet/pull/258
- feat(netutil): add async http request for http client by @aki-colt in https://github.com/duke-git/lancet/pull/256
- feat:add GetExeDllVersion for fileutil,random,package by @jwwsjlm in https://github.com/duke-git/lancet/pull/257
- perf(slice): make the IndexOf function thread-safe (#262) by @cannian1 in https://github.com/duke-git/lancet/pull/263
- fix: [internal] Correction of word assert spelling mistakes by @feng6917 in https://github.com/duke-git/lancet/pull/269
- Introducing Lancet Guru on Gurubase.io by @kursataktas in https://github.com/duke-git/lancet/pull/271
- Pre-allocate memory to reduce the number of allocations by @Yurunsoft in https://github.com/duke-git/lancet/pull/272
- @congziqi77 made their first contribution in https://github.com/duke-git/lancet/pull/252
- @aki-colt made their first contribution in https://github.com/duke-git/lancet/pull/254
- @jwwsjlm made their first contribution in https://github.com/duke-git/lancet/pull/257
- @feng6917 made their first contribution in https://github.com/duke-git/lancet/pull/269
- @kursataktas made their first contribution in https://github.com/duke-git/lancet/pull/271
- @Yurunsoft made their first contribution in https://github.com/duke-git/lancet/pull/272
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.3...v2.3.4
v1.4.5
Full Changelog: https://github.com/duke-git/lancet/compare/v1.4.4...v1.4.5
v2.3.3
- Update condition.go by @zyfxgo in https://github.com/duke-git/lancet/pull/234
- feat: add RandFromGivenSlice function by @cannian1 in https://github.com/duke-git/lancet/pull/235
- feat: add RandSliceFromGivenSlice function by @cannian1 in https://github.com/duke-git/lancet/pull/236
- fix 删除文档中废弃的RetryDuration函数 by @DerekTond in https://github.com/duke-git/lancet/pull/240
- feat(maputil): add GetValue by @yunxuanhao in https://github.com/duke-git/lancet/pull/243
- fix(strutil): rename PadStart to Pad. by @kydance in https://github.com/duke-git/lancet/pull/245
- doc: update contribution references by @emmanuel-ferdman in https://github.com/duke-git/lancet/pull/246
- @zyfxgo made their first contribution in https://github.com/duke-git/lancet/pull/234
- @DerekTond made their first contribution in https://github.com/duke-git/lancet/pull/240
- @kydance made their first contribution in https://github.com/duke-git/lancet/pull/245
- @emmanuel-ferdman made their first contribution in https://github.com/duke-git/lancet/pull/246
Full Changelog: https://github.com/duke-git/lancet/compare/v2.3.2...v2.3.3