1# Changelog
2
3## Release 3.2.3 (2022-11-29)
4
5### Changed
6
7- Updated docs (thanks @book987 @aJetHorn @neelayu @pellizzetti @apricote @SaigyoujiYuyuko233 @AlekSi)
8- #348: Updated huandu/xstrings which fixed a snake case bug (thanks @yxxhero)
9- #353: Updated masterminds/semver which included bug fixes
10- #354: Updated golang.org/x/crypto which included bug fixes
11
12## Release 3.2.2 (2021-02-04)
13
14This is a re-release of 3.2.1 to satisfy something with the Go module system.
15
16## Release 3.2.1 (2021-02-04)
17
18### Changed
19
20- Upgraded `Masterminds/goutils` to `v1.1.1`. see the [Security Advisory](https://github.com/Masterminds/goutils/security/advisories/GHSA-xg2h-wx96-xgxr)
21
22## Release 3.2.0 (2020-12-14)
23
24### Added
25
26- #211: Added randInt function (thanks @kochurovro)
27- #223: Added fromJson and mustFromJson functions (thanks @mholt)
28- #242: Added a bcrypt function (thanks @robbiet480)
29- #253: Added randBytes function (thanks @MikaelSmith)
30- #254: Added dig function for dicts (thanks @nyarly)
31- #257: Added regexQuoteMeta for quoting regex metadata (thanks @rheaton)
32- #261: Added filepath functions osBase, osDir, osExt, osClean, osIsAbs (thanks @zugl)
33- #268: Added and and all functions for testing conditions (thanks @phuslu)
34- #181: Added float64 arithmetic addf, add1f, subf, divf, mulf, maxf, and minf
35 (thanks @andrewmostello)
36- #265: Added chunk function to split array into smaller arrays (thanks @karelbilek)
37- #270: Extend certificate functions to handle non-RSA keys + add support for
38 ed25519 keys (thanks @misberner)
39
40### Changed
41
42- Removed testing and support for Go 1.12. ed25519 support requires Go 1.13 or newer
43- Using semver 3.1.1 and mergo 0.3.11
44
45### Fixed
46
47- #249: Fix htmlDateInZone example (thanks @spawnia)
48
49NOTE: The dependency github.com/imdario/mergo reverted the breaking change in
500.3.9 via 0.3.10 release.
51
52## Release 3.1.0 (2020-04-16)
53
54NOTE: The dependency github.com/imdario/mergo made a behavior change in 0.3.9
55that impacts sprig functionality. Do not use sprig with a version newer than 0.3.8.
56
57### Added
58
59- #225: Added support for generating htpasswd hash (thanks @rustycl0ck)
60- #224: Added duration filter (thanks @frebib)
61- #205: Added `seq` function (thanks @thadc23)
62
63### Changed
64
65- #203: Unlambda functions with correct signature (thanks @muesli)
66- #236: Updated the license formatting for GitHub display purposes
67- #238: Updated package dependency versions. Note, mergo not updated to 0.3.9
68 as it causes a breaking change for sprig. That issue is tracked at
69 https://github.com/imdario/mergo/issues/139
70
71### Fixed
72
73- #229: Fix `seq` example in docs (thanks @kalmant)
74
75## Release 3.0.2 (2019-12-13)
76
77### Fixed
78
79- #220: Updating to semver v3.0.3 to fix issue with <= ranges
80- #218: fix typo elyptical->elliptic in ecdsa key description (thanks @laverya)
81
82## Release 3.0.1 (2019-12-08)
83
84### Fixed
85
86- #212: Updated semver fixing broken constraint checking with ^0.0
87
88## Release 3.0.0 (2019-10-02)
89
90### Added
91
92- #187: Added durationRound function (thanks @yjp20)
93- #189: Added numerous template functions that return errors rather than panic (thanks @nrvnrvn)
94- #193: Added toRawJson support (thanks @Dean-Coakley)
95- #197: Added get support to dicts (thanks @Dean-Coakley)
96
97### Changed
98
99- #186: Moving dependency management to Go modules
100- #186: Updated semver to v3. This has changes in the way ^ is handled
101- #194: Updated documentation on merging and how it copies. Added example using deepCopy
102- #196: trunc now supports negative values (thanks @Dean-Coakley)
103
104## Release 2.22.0 (2019-10-02)
105
106### Added
107
108- #173: Added getHostByName function to resolve dns names to ips (thanks @fcgravalos)
109- #195: Added deepCopy function for use with dicts
110
111### Changed
112
113- Updated merge and mergeOverwrite documentation to explain copying and how to
114 use deepCopy with it
115
116## Release 2.21.0 (2019-09-18)
117
118### Added
119
120- #122: Added encryptAES/decryptAES functions (thanks @n0madic)
121- #128: Added toDecimal support (thanks @Dean-Coakley)
122- #169: Added list contcat (thanks @astorath)
123- #174: Added deepEqual function (thanks @bonifaido)
124- #170: Added url parse and join functions (thanks @astorath)
125
126### Changed
127
128- #171: Updated glide config for Google UUID to v1 and to add ranges to semver and testify
129
130### Fixed
131
132- #172: Fix semver wildcard example (thanks @piepmatz)
133- #175: Fix dateInZone doc example (thanks @s3than)
134
135## Release 2.20.0 (2019-06-18)
136
137### Added
138
139- #164: Adding function to get unix epoch for a time (@mattfarina)
140- #166: Adding tests for date_in_zone (@mattfarina)
141
142### Changed
143
144- #144: Fix function comments based on best practices from Effective Go (@CodeLingoTeam)
145- #150: Handles pointer type for time.Time in "htmlDate" (@mapreal19)
146- #161, #157, #160, #153, #158, #156, #155, #159, #152 documentation updates (@badeadan)
147
148### Fixed
149
150## Release 2.19.0 (2019-03-02)
151
152IMPORTANT: This release reverts a change from 2.18.0
153
154In the previous release (2.18), we prematurely merged a partial change to the crypto functions that led to creating two sets of crypto functions (I blame @technosophos -- since that's me). This release rolls back that change, and does what was originally intended: It alters the existing crypto functions to use secure random.
155
156We debated whether this classifies as a change worthy of major revision, but given the proximity to the last release, we have decided that treating 2.18 as a faulty release is the correct course of action. We apologize for any inconvenience.
157
158### Changed
159
160- Fix substr panic 35fb796 (Alexey igrychev)
161- Remove extra period 1eb7729 (Matthew Lorimor)
162- Make random string functions use crypto by default 6ceff26 (Matthew Lorimor)
163- README edits/fixes/suggestions 08fe136 (Lauri Apple)
164
165
166## Release 2.18.0 (2019-02-12)
167
168### Added
169
170- Added mergeOverwrite function
171- cryptographic functions that use secure random (see fe1de12)
172
173### Changed
174
175- Improve documentation of regexMatch function, resolves #139 90b89ce (Jan Tagscherer)
176- Handle has for nil list 9c10885 (Daniel Cohen)
177- Document behaviour of mergeOverwrite fe0dbe9 (Lukas Rieder)
178- doc: adds missing documentation. 4b871e6 (Fernandez Ludovic)
179- Replace outdated goutils imports 01893d2 (Matthew Lorimor)
180- Surface crypto secure random strings from goutils fe1de12 (Matthew Lorimor)
181- Handle untyped nil values as paramters to string functions 2b2ec8f (Morten Torkildsen)
182
183### Fixed
184
185- Fix dict merge issue and provide mergeOverwrite .dst .src1 to overwrite from src -> dst 4c59c12 (Lukas Rieder)
186- Fix substr var names and comments d581f80 (Dean Coakley)
187- Fix substr documentation 2737203 (Dean Coakley)
188
189## Release 2.17.1 (2019-01-03)
190
191### Fixed
192
193The 2.17.0 release did not have a version pinned for xstrings, which caused compilation failures when xstrings < 1.2 was used. This adds the correct version string to glide.yaml.
194
195## Release 2.17.0 (2019-01-03)
196
197### Added
198
199- adds alder32sum function and test 6908fc2 (marshallford)
200- Added kebabcase function ca331a1 (Ilyes512)
201
202### Changed
203
204- Update goutils to 1.1.0 4e1125d (Matt Butcher)
205
206### Fixed
207
208- Fix 'has' documentation e3f2a85 (dean-coakley)
209- docs(dict): fix typo in pick example dc424f9 (Dustin Specker)
210- fixes spelling errors... not sure how that happened 4cf188a (marshallford)
211
212## Release 2.16.0 (2018-08-13)
213
214### Added
215
216- add splitn function fccb0b0 (Helgi Þorbjörnsson)
217- Add slice func df28ca7 (gongdo)
218- Generate serial number a3bdffd (Cody Coons)
219- Extract values of dict with values function df39312 (Lawrence Jones)
220
221### Changed
222
223- Modify panic message for list.slice ae38335 (gongdo)
224- Minor improvement in code quality - Removed an unreachable piece of code at defaults.go#L26:6 - Resolve formatting issues. 5834241 (Abhishek Kashyap)
225- Remove duplicated documentation 1d97af1 (Matthew Fisher)
226- Test on go 1.11 49df809 (Helgi Þormar Þorbjörnsson)
227
228### Fixed
229
230- Fix file permissions c5f40b5 (gongdo)
231- Fix example for buildCustomCert 7779e0d (Tin Lam)
232
233## Release 2.15.0 (2018-04-02)
234
235### Added
236
237- #68 and #69: Add json helpers to docs (thanks @arunvelsriram)
238- #66: Add ternary function (thanks @binoculars)
239- #67: Allow keys function to take multiple dicts (thanks @binoculars)
240- #89: Added sha1sum to crypto function (thanks @benkeil)
241- #81: Allow customizing Root CA that used by genSignedCert (thanks @chenzhiwei)
242- #92: Add travis testing for go 1.10
243- #93: Adding appveyor config for windows testing
244
245### Changed
246
247- #90: Updating to more recent dependencies
248- #73: replace satori/go.uuid with google/uuid (thanks @petterw)
249
250### Fixed
251
252- #76: Fixed documentation typos (thanks @Thiht)
253- Fixed rounding issue on the `ago` function. Note, the removes support for Go 1.8 and older
254
255## Release 2.14.1 (2017-12-01)
256
257### Fixed
258
259- #60: Fix typo in function name documentation (thanks @neil-ca-moore)
260- #61: Removing line with {{ due to blocking github pages genertion
261- #64: Update the list functions to handle int, string, and other slices for compatibility
262
263## Release 2.14.0 (2017-10-06)
264
265This new version of Sprig adds a set of functions for generating and working with SSL certificates.
266
267- `genCA` generates an SSL Certificate Authority
268- `genSelfSignedCert` generates an SSL self-signed certificate
269- `genSignedCert` generates an SSL certificate and key based on a given CA
270
271## Release 2.13.0 (2017-09-18)
272
273This release adds new functions, including:
274
275- `regexMatch`, `regexFindAll`, `regexFind`, `regexReplaceAll`, `regexReplaceAllLiteral`, and `regexSplit` to work with regular expressions
276- `floor`, `ceil`, and `round` math functions
277- `toDate` converts a string to a date
278- `nindent` is just like `indent` but also prepends a new line
279- `ago` returns the time from `time.Now`
280
281### Added
282
283- #40: Added basic regex functionality (thanks @alanquillin)
284- #41: Added ceil floor and round functions (thanks @alanquillin)
285- #48: Added toDate function (thanks @andreynering)
286- #50: Added nindent function (thanks @binoculars)
287- #46: Added ago function (thanks @slayer)
288
289### Changed
290
291- #51: Updated godocs to include new string functions (thanks @curtisallen)
292- #49: Added ability to merge multiple dicts (thanks @binoculars)
293
294## Release 2.12.0 (2017-05-17)
295
296- `snakecase`, `camelcase`, and `shuffle` are three new string functions
297- `fail` allows you to bail out of a template render when conditions are not met
298
299## Release 2.11.0 (2017-05-02)
300
301- Added `toJson` and `toPrettyJson`
302- Added `merge`
303- Refactored documentation
304
305## Release 2.10.0 (2017-03-15)
306
307- Added `semver` and `semverCompare` for Semantic Versions
308- `list` replaces `tuple`
309- Fixed issue with `join`
310- Added `first`, `last`, `intial`, `rest`, `prepend`, `append`, `toString`, `toStrings`, `sortAlpha`, `reverse`, `coalesce`, `pluck`, `pick`, `compact`, `keys`, `omit`, `uniq`, `has`, `without`
311
312## Release 2.9.0 (2017-02-23)
313
314- Added `splitList` to split a list
315- Added crypto functions of `genPrivateKey` and `derivePassword`
316
317## Release 2.8.0 (2016-12-21)
318
319- Added access to several path functions (`base`, `dir`, `clean`, `ext`, and `abs`)
320- Added functions for _mutating_ dictionaries (`set`, `unset`, `hasKey`)
321
322## Release 2.7.0 (2016-12-01)
323
324- Added `sha256sum` to generate a hash of an input
325- Added functions to convert a numeric or string to `int`, `int64`, `float64`
326
327## Release 2.6.0 (2016-10-03)
328
329- Added a `uuidv4` template function for generating UUIDs inside of a template.
330
331## Release 2.5.0 (2016-08-19)
332
333- New `trimSuffix`, `trimPrefix`, `hasSuffix`, and `hasPrefix` functions
334- New aliases have been added for a few functions that didn't follow the naming conventions (`trimAll` and `abbrevBoth`)
335- `trimall` and `abbrevboth` (notice the case) are deprecated and will be removed in 3.0.0
336
337## Release 2.4.0 (2016-08-16)
338
339- Adds two functions: `until` and `untilStep`
340
341## Release 2.3.0 (2016-06-21)
342
343- cat: Concatenate strings with whitespace separators.
344- replace: Replace parts of a string: `replace " " "-" "Me First"` renders "Me-First"
345- plural: Format plurals: `len "foo" | plural "one foo" "many foos"` renders "many foos"
346- indent: Indent blocks of text in a way that is sensitive to "\n" characters.
347
348## Release 2.2.0 (2016-04-21)
349
350- Added a `genPrivateKey` function (Thanks @bacongobbler)
351
352## Release 2.1.0 (2016-03-30)
353
354- `default` now prints the default value when it does not receive a value down the pipeline. It is much safer now to do `{{.Foo | default "bar"}}`.
355- Added accessors for "hermetic" functions. These return only functions that, when given the same input, produce the same output.
356
357## Release 2.0.0 (2016-03-29)
358
359Because we switched from `int` to `int64` as the return value for all integer math functions, the library's major version number has been incremented.
360
361- `min` complements `max` (formerly `biggest`)
362- `empty` indicates that a value is the empty value for its type
363- `tuple` creates a tuple inside of a template: `{{$t := tuple "a", "b" "c"}}`
364- `dict` creates a dictionary inside of a template `{{$d := dict "key1" "val1" "key2" "val2"}}`
365- Date formatters have been added for HTML dates (as used in `date` input fields)
366- Integer math functions can convert from a number of types, including `string` (via `strconv.ParseInt`).
367
368## Release 1.2.0 (2016-02-01)
369
370- Added quote and squote
371- Added b32enc and b32dec
372- add now takes varargs
373- biggest now takes varargs
374
375## Release 1.1.0 (2015-12-29)
376
377- Added #4: Added contains function. strings.Contains, but with the arguments
378 switched to simplify common pipelines. (thanks krancour)
379- Added Travis-CI testing support
380
381## Release 1.0.0 (2015-12-23)
382
383- Initial release
View as plain text