Changelog
Release 3.2.0 (2020-12-14)
Added
- #211: Added randInt function (thanks @kochurovro)
- #223: Added fromJson and mustFromJson functions (thanks @mholt)
- #242: Added a bcrypt function (thanks @robbiet480)
- #253: Added randBytes function (thanks @MikaelSmith)
- #254: Added dig function for dicts (thanks @nyarly)
- #257: Added regexQuoteMeta for quoting regex metadata (thanks @rheaton)
- #261: Added filepath functions osBase, osDir, osExt, osClean, osIsAbs (thanks @zugl)
- #268: Added and and all functions for testing conditions (thanks @phuslu)
- #181: Added float64 arithmetic addf, add1f, subf, divf, mulf, maxf, and minf
(thanks @andrewmostello)
- #265: Added chunk function to split array into smaller arrays (thanks @karelbilek)
- #270: Extend certificate functions to handle non-RSA keys + add support for
ed25519 keys (thanks @misberner)
Changed
- Removed testing and support for Go 1.12.
ed25519 support requires Go 1.13 or newer
- Using semver 3.1.1 and mergo 0.3.11
Fixed
NOTE: The dependency github.com/imdario/mergo reverted the breaking change in
0.3.9 via 0.3.10 release.
Release 3.1.0 (2020-04-16)
NOTE: The dependency github.com/imdario/mergo made a behavior change in 0.3.9
that impacts sprig functionality. Do not use sprig with a version newer than 0.3.8.
Added
Changed
- #203: Unlambda functions with correct signature (thanks @muesli)
- #236: Updated the license formatting for GitHub display purposes
- #238: Updated package dependency versions. Note, mergo not updated to 0.3.9
as it causes a breaking change for sprig. That issue is tracked at
https://github.com/imdario/mergo/issues/139
Fixed
Release 3.0.2 (2019-12-13)
Fixed
- #220: Updating to semver v3.0.3 to fix issue with <= ranges
- #218: fix typo elyptical->elliptic in ecdsa key description (thanks @laverya)
Release 3.0.1 (2019-12-08)
Fixed
- #212: Updated semver fixing broken constraint checking with ^0.0
Release 3.0.0 (2019-10-02)
Added
Changed
- #186: Moving dependency management to Go modules
- #186: Updated semver to v3. This has changes in the way ^ is handled
- #194: Updated documentation on merging and how it copies. Added example using deepCopy
- #196: trunc now supports negative values (thanks @Dean-Coakley)
Release 2.22.0 (2019-10-02)
Added
- #173: Added getHostByName function to resolve dns names to ips (thanks @fcgravalos)
- #195: Added deepCopy function for use with dicts
Changed
- Updated merge and mergeOverwrite documentation to explain copying and how to
use deepCopy with it
Release 2.21.0 (2019-09-18)
Added
Changed
- #171: Updated glide config for Google UUID to v1 and to add ranges to semver and testify
Fixed
Release 2.20.0 (2019-06-18)
Added
Changed
Fixed
Release 2.19.0 (2019-03-02)
IMPORTANT: This release reverts a change from 2.18.0
In 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.
We 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.
Changed
- Fix substr panic
35fb796 (Alexey igrychev)
- Remove extra period
1eb7729 (Matthew Lorimor)
- Make random string functions use crypto by default
6ceff26 (Matthew Lorimor)
- README edits/fixes/suggestions
08fe136 (Lauri Apple)
Release 2.18.0 (2019-02-12)
Added
- Added mergeOverwrite function
- cryptographic functions that use secure random (see
fe1de12)
Changed
- Improve documentation of regexMatch function, resolves #139
90b89ce (Jan Tagscherer)
- Handle has for nil list
9c10885 (Daniel Cohen)
- Document behaviour of mergeOverwrite
fe0dbe9 (Lukas Rieder)
- doc: adds missing documentation.
4b871e6 (Fernandez Ludovic)
- Replace outdated goutils imports
01893d2 (Matthew Lorimor)
- Surface crypto secure random strings from goutils
fe1de12 (Matthew Lorimor)
- Handle untyped nil values as paramters to string functions
2b2ec8f (Morten Torkildsen)
Fixed
- Fix dict merge issue and provide mergeOverwrite .dst .src1 to overwrite from src -> dst
4c59c12 (Lukas Rieder)
- Fix substr var names and comments
d581f80 (Dean Coakley)
- Fix substr documentation 2737203 (Dean Coakley)
Release 2.17.1 (2019-01-03)
Fixed
The 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.
Release 2.17.0 (2019-01-03)
Added
- adds alder32sum function and test
6908fc2 (marshallford)
- Added kebabcase function
ca331a1 (Ilyes512)
Changed
- Update goutils to 1.1.0
4e1125d (Matt Butcher)
Fixed
- Fix 'has' documentation
e3f2a85 (dean-coakley)
- docs(dict): fix typo in pick example
dc424f9 (Dustin Specker)
- fixes spelling errors... not sure how that happened
4cf188a (marshallford)
Release 2.16.0 (2018-08-13)
Added
- add splitn function
fccb0b0 (Helgi Þorbjörnsson)
- Add slice func
df28ca7 (gongdo)
- Generate serial number
a3bdffd (Cody Coons)
- Extract values of dict with values function
df39312 (Lawrence Jones)
Changed
- Modify panic message for list.slice
ae38335 (gongdo)
- Minor improvement in code quality - Removed an unreachable piece of code at defaults.go#L26:6 - Resolve formatting issues. 5834241 (Abhishek Kashyap)
- Remove duplicated documentation
1d97af1 (Matthew Fisher)
- Test on go 1.11
49df809 (Helgi Þormar Þorbjörnsson)
Fixed
- Fix file permissions
c5f40b5 (gongdo)
- Fix example for buildCustomCert
7779e0d (Tin Lam)
Release 2.15.0 (2018-04-02)
Added
- #68 and #69: Add json helpers to docs (thanks @arunvelsriram)
- #66: Add ternary function (thanks @binoculars)
- #67: Allow keys function to take multiple dicts (thanks @binoculars)
- #89: Added sha1sum to crypto function (thanks @benkeil)
- #81: Allow customizing Root CA that used by genSignedCert (thanks @chenzhiwei)
- #92: Add travis testing for go 1.10
- #93: Adding appveyor config for windows testing
Changed
- #90: Updating to more recent dependencies
- #73: replace satori/go.uuid with google/uuid (thanks @petterw)
Fixed
- #76: Fixed documentation typos (thanks @Thiht)
- Fixed rounding issue on the
ago function. Note, the removes support for Go 1.8 and older
Release 2.14.1 (2017-12-01)
Fixed
- #60: Fix typo in function name documentation (thanks @neil-ca-moore)
- #61: Removing line with {{ due to blocking github pages genertion
- #64: Update the list functions to handle int, string, and other slices for compatibility
Release 2.14.0 (2017-10-06)
This new version of Sprig adds a set of functions for generating and working with SSL certificates.
genCA generates an SSL Certificate Authority
genSelfSignedCert generates an SSL self-signed certificate
genSignedCert generates an SSL certificate and key based on a given CA
Release 2.13.0 (2017-09-18)
This release adds new functions, including:
regexMatch, regexFindAll, regexFind, regexReplaceAll, regexReplaceAllLiteral, and regexSplit to work with regular expressions
floor, ceil, and round math functions
toDate converts a string to a date
nindent is just like indent but also prepends a new line
ago returns the time from time.Now
Added
Changed
Release 2.12.0 (2017-05-17)
snakecase, camelcase, and shuffle are three new string functions
fail allows you to bail out of a template render when conditions are not met
Release 2.11.0 (2017-05-02)
- Added
toJson and toPrettyJson
- Added
merge
- Refactored documentation
Release 2.10.0 (2017-03-15)
- Added
semver and semverCompare for Semantic Versions
list replaces tuple
- Fixed issue with
join
- Added
first, last, intial, rest, prepend, append, toString, toStrings, sortAlpha, reverse, coalesce, pluck, pick, compact, keys, omit, uniq, has, without
Release 2.9.0 (2017-02-23)
- Added
splitList to split a list
- Added crypto functions of
genPrivateKey and derivePassword
Release 2.8.0 (2016-12-21)
- Added access to several path functions (
base, dir, clean, ext, and abs)
- Added functions for mutating dictionaries (
set, unset, hasKey)
Release 2.7.0 (2016-12-01)
- Added
sha256sum to generate a hash of an input
- Added functions to convert a numeric or string to
int, int64, float64
Release 2.6.0 (2016-10-03)
- Added a
uuidv4 template function for generating UUIDs inside of a template.
Release 2.5.0 (2016-08-19)
- New
trimSuffix, trimPrefix, hasSuffix, and hasPrefix functions
- New aliases have been added for a few functions that didn't follow the naming conventions (
trimAll and abbrevBoth)
trimall and abbrevboth (notice the case) are deprecated and will be removed in 3.0.0
Release 2.4.0 (2016-08-16)
- Adds two functions:
until and untilStep
Release 2.3.0 (2016-06-21)
- cat: Concatenate strings with whitespace separators.
- replace: Replace parts of a string:
replace " " "-" "Me First" renders "Me-First"
- plural: Format plurals:
len "foo" | plural "one foo" "many foos" renders "many foos"
- indent: Indent blocks of text in a way that is sensitive to "\n" characters.
Release 2.2.0 (2016-04-21)
Release 2.1.0 (2016-03-30)
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"}}.
- Added accessors for "hermetic" functions. These return only functions that, when given the same input, produce the same output.
Release 2.0.0 (2016-03-29)
Because we switched from int to int64 as the return value for all integer math functions, the library's major version number has been incremented.
min complements max (formerly biggest)
empty indicates that a value is the empty value for its type
tuple creates a tuple inside of a template: {{$t := tuple "a", "b" "c"}}
dict creates a dictionary inside of a template {{$d := dict "key1" "val1" "key2" "val2"}}
- Date formatters have been added for HTML dates (as used in
date input fields)
- Integer math functions can convert from a number of types, including
string (via strconv.ParseInt).
Release 1.2.0 (2016-02-01)
- Added quote and squote
- Added b32enc and b32dec
- add now takes varargs
- biggest now takes varargs
Release 1.1.0 (2015-12-29)
- Added #4: Added contains function. strings.Contains, but with the arguments
switched to simplify common pipelines. (thanks krancour)
- Added Travis-CI testing support
Release 1.0.0 (2015-12-23)