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.