-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCHANGELOG
191 lines (144 loc) · 4.99 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# HISTORY
- v1.2.15
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.13
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.12
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.11
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.10
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.9
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.8
- upgrade deps - hedzr/is & hedzr/logg
- security patch
- v1.2.7
- upgrade deps - hedzr/is & hedzr/logg
- v1.2.5
- security patch
- v1.2.3
- fix processing the struct tag name CopyTagName
- improved toExportedName and trySolveTargetName
- upgrade deps
- v1.2.1
- upgrade deps - hedzr/is & hedzr/logg
- v1.2.0
- security patch
- v1.1.18
- security patch
- v1.1.17
- security patch
- move to go toolchain 1.22.7
- v1.1.15
- security patch
- v1.1.13
- security patch
- v1.1.11
- security patch
- v1.1.10
- upgraded deps
- fix go toolchain versions
- v1.1.9
- security patch
- v1.1.8
- improved errors.v3 - prevent attach itself into nested container
- upgraded deps
- v1.1.7
- improved map -> struct, the lower-case map key names will be mapping to camel-case to match the corresponding export field names.
- upgraded deps
- v1.1.6
- upgraded deps
- v1.1.5
- upgraded deps
- more tests
- v1.1.3
- fixed any->int/uint
- upgraded deps
- more tests
- v1.1.1
- improved any <-> any converters
- updated internal times subpackage
- more tests, docs
- v1.1.0
- improved any -> string/bool/int/uint/float/complex/duration
- fixed toBool
- BREAK: toBool(3) => true. In old versions, only convert number `1` to `true`. Since v1.1.0, any non-Zero number will be converted to `true`.
- v1.0.2
- improved bool/duration/time[Slice/Map] <-> any converters
- added TrimQuotes, StripQuotes
- improved times subpackage
- fixed simple-release section inside gh actions script
- v1.0.1
- improved numeric <-> any converters
- v1.0.0
- upgrade to v1
- changed log to our logg/slog
- fixed bugs found and improved performances
- v0.4.19
- upgrade deps
- v0.4.17
- upgrade deps
- v0.4.13
- fixed test on strconv.NumError
- and errors.Is(err, strconv.SyntaxError) is invalid now
- use errors.Is(err, strconv.NumError{Err:strconv.SyntaxError}) as a workaround
- upgrade deps
- v0.4.8
- fixed: check unexported field recursively now
- improved some lines for better context logging in debugging
- little changes
- v0.4.7
- upgrade deps
- v0.4.3
- fixed sometimes a ptr to new slice has not been cleaned in time
- v0.4.1
- public `dbglog` subpackage, added Err/Wrn/Colored
- added ability to disable dbglog.Log at runtime
- improved internal functions (tool.Valfmt, cl.SetUnexportedFieldIfMap, ...)
- improved dbglog.Log outputting
- fixed bugs
- v0.4.0
- fixed autonew when copying to nil member
- improved diff on chan
- better logging (verbose) with colors
- v0.3.1
- changed: `dbglog.LogValid` is constant now
- improved code style
- DeepCopy:
- passing nil parameters can return safely without panic any more
- DeepDiff:
- imp/fea: `diff.WithStripPointerAtFirst` - locate the final objects and compare them
- imp/fea: `diff.WithTreatEmptyStructPtrAsNilPtr` - when comparing two pointers in struct field loop, assume nil and pointer to an empty struct is identical
- imp/fea: `diff.WithCompareDifferentTypeStructs` - you can compare two struct with different type, their fields could be `diff` by its name
- imp/fea: `diff.WithIgnoreUnmatchedFields` - this is default option for `diff.WithCompareDifferentTypeStructs(true)` mode, the field names unmatched couldn't take effects to comparing result
- imp/fea: `diff.WithCompareDifferentSizeArrays` - `[2]string{"1","2"}` and `[3]string{"1","2",<empty>}` can be assumed as identity
- By default,
- they're assumed as identity: nil and zero array/map.
- they're not identical: nil ptr to struct, and ptr to empty struct (can be overridden by `WithTreatEmptyStructPtrAsNilPtr`).
- the slice elements' order is sensitive, except you're `diff` with `WithSliceOrderedComparison(true)`.
- v0.2.56
- changed: `InvalidStrategy` is -1 now since we got untyped int overflow error in auto-gen code by stringer
- v0.2.53
- improved code style, format, ...
- 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`
- added new strategy `cms.Flat` and field tag to identify a pointer should be shallow copy to target field,
```go
package main
type A struct {
field1 *ComplexStruct `copy:",flat"`
}
```
- `evendeep` supports to go1.11 currently
### v0.2.51
- temporary build: fixing array/slice copying logic
### v0.2.50
- first public release
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.