github.com/hedzr/evendeep@v0.4.8/CHANGELOG (about) 1 ## HISTORY 2 3 - v0.4.8 4 - fixed: check unexported field recursively now 5 - improved some lines for better context logging in debugging 6 - little changes 7 8 - v0.4.7 9 - upgrade deps 10 11 - v0.4.3 12 - fixed sometimes a ptr to new slice has not been cleaned in time 13 14 - v0.4.1 15 - public `dbglog` subpackage, added Err/Wrn/Colored 16 - added ability to disable dbglog.Log at runtime 17 - improved internal functions (tool.Valfmt, cl.SetUnexportedFieldIfMap, ...) 18 - improved dbglog.Log outputting 19 - fixed bugs 20 21 - v0.4.0 22 - fixed autonew when copying to nil member 23 - improved diff on chan 24 - better logging (verbose) with colors 25 26 - v0.3.1 27 - changed: `dbglog.LogValid` is constant now 28 - improved code style 29 - DeepCopy: 30 - passing nil parameters can return safely without panic any more 31 - DeepDiff: 32 - imp/fea: `diff.WithStripPointerAtFirst` - locate the final objects and compare them 33 - imp/fea: `diff.WithTreatEmptyStructPtrAsNilPtr` - when comparing two pointers in struct field loop, assume nil and pointer to an empty struct is identical 34 - imp/fea: `diff.WithCompareDifferentTypeStructs` - you can compare two struct with different type, their fields could be `diff` by its name 35 - imp/fea: `diff.WithIgnoreUnmatchedFields` - this is default option for `diff.WithCompareDifferentTypeStructs(true)` mode, the field names unmatched couldn't take effects to comparing result 36 - imp/fea: `diff.WithCompareDifferentSizeArrays` - `[2]string{"1","2"}` and `[3]string{"1","2",<empty>}` can be assumed as identity 37 - By default, 38 - they're assumed as identity: nil and zero array/map. 39 - they're not identical: nil ptr to struct, and ptr to empty struct (can be overridden by `WithTreatEmptyStructPtrAsNilPtr`). 40 - the slice elements' order is sensitive, except you're `diff` with `WithSliceOrderedComparison(true)`. 41 42 - v0.2.56 43 - changed: `InvalidStrategy` is -1 now since we got untyped int overflow error in auto-gen code by stringer 44 45 - v0.2.53 46 - improved code style, format, ... 47 - to fore-prevent low-performance and large-memory usage when retrieve expanded fields from a very large struct, use `cms.ByOrdinal` instead default `cms.ByName` 48 - added new strategy `cms.Flat` and field tag to identify a pointer should be shallow copy to target field, 49 ```go 50 package main 51 type A struct { 52 field1 *ComplexStruct `copy:",flat"` 53 } 54 ``` 55 - `evendeep` supports to go1.11 currently 56 57 ### v0.2.51 58 59 - temporary build: fixing array/slice copying logic 60 61 ### v0.2.50 62 63 - first public release 64 65 I had this plan many years, but the recent fresh work is started from 2022-02-17, it's called as `evendeep` and get its first release finally.