Releases: hairyhenderson/gomplate
2.7.0
☀️ gomplate's big fancy summer release! ✨😎
v2.7.0 (2018-07-27)
Release Notes
New features and changes
- Datasources can now be defined dynamically (#357) - see
datasource
docs for details- instead of giving
datasource
an alias, you can provide a URL directly - useful for building new datasource URLs on the fly
- instead of giving
conv.Has
can search arrays now- Template errors now produce much less output (#362)
New functions
- New functions:
defineDatasource
- for defining datasources inside templates (but overridable with the
--datasource
/-d
flag)
- for defining datasources inside templates (but overridable with the
strings.Sort
conv.ToBool
,conv.ToBools
conv.ToStrings
New namespaces
filepath
, for manipulating local filesystem pathsfilepath.Base
,filepath.Clean
,filepath.Dir
,filepath.Ext
,filepath.FromSlash
,filepath.IsAbs
,filepath.Join
,filepath.Match
,filepath.Rel
,filepath.Split
,filepath.ToSlash
,filepath.VolumeName
path
, for manipulating slash-based paths (such as URLs)path.Base
,path.Clean
,path.Dir
,path.Ext
,path.IsAbs
,path.Join
,path.Match
,path.Split
test
, helpers for validating assumptions and can cause template generation to failtest.Fail
,test.Assert
2.6.0
✨ More functions, more features! ✨
Highlights
- Check out the totally overhauled datasource docs!
- New directory datasource semantics, with initial list support for the
vault
andfile
datasources. - New
env
datasource - New functions:
v2.6.0 (2018-06-09)
Implemented enhancements:
- Directory datasource #215
Fixed bugs:
- The
sockaddr.Include
andsockaddr.Exclude
do not have "private" selector. #328 - Support commas in number conversion #345 (hairyhenderson)
Closed issues:
- Add slugify #336
- Action Required: Fix Renovate Configuration #335
- Consider publishing sha256sums of release files #318
- Vault list support #229
Merged pull requests:
- Update golang:1.10-alpine Docker digest to 56db23 #346 (renovate[bot])
- Update golang:1.10-alpine Docker digest to bb3108 #344 (renovate[bot])
- Adding env datasource #341 (hairyhenderson)
- Add strings.Slug function #339 (hairyhenderson)
- Updating vendored packages #338 (hairyhenderson)
- Adding directory support for file datasources #334 (hairyhenderson)
- Overhauling datasource documentation #333 (hairyhenderson)
- Adding vault list support #332 (hairyhenderson)
- Adding more math functions #331 (hairyhenderson)
- Add missing anchor for RFC 1918 link in sockaddr documentation. #330 (kwilczynski)
- Remove notion of "private" selector from the Include/Exclude filter. #329 (kwilczynski)
- Improving documentation around slim binaries #327 (hairyhenderson)
- Update golang:1.10-alpine Docker digest to 96e25c #325 (renovate[bot])
- Update alpine:3.7 Docker digest to 8c03bb #324 (renovate[bot])
- Adding strings.Trunc and strings.Abbrev #323 (hairyhenderson)
- Adding crypto.Bcrypt function #322 (hairyhenderson)
- Adding strings.TrimSuffix and strings.Repeat #321 (hairyhenderson)
- Adding missing docs for file.Walk and strings.TrimPrefix #320 (hairyhenderson)
- Add ability to generate checksums of binaries #319 (hairyhenderson)
- Update golang:1.10-alpine Docker digest to 9de80c #317 (renovate[bot])
2.5.0
✨A huge release this time around, with lots of community contributions! ✨
Highlights:
- Exec mode, or post-template command execution
- Lots of new functions:
- FreeBSD build!
v2.5.0 (2018-05-04)
Implemented enhancements:
- Exec mode... #300
- Need a way to determine whether a datasource is reachable #286
- Add
go-sockaddr
functions #145 - Adding datasourceReachable function #315 (hairyhenderson)
- Execute additional command after -- #307 (hairyhenderson)
Fixed bugs:
- panic when parsing an empty CSV as a datasource #311
- File mode is not preserved #296
- Fixing panic when parsing empty CSVs and CSVs containing only newlines #312 (hairyhenderson)
- Avoid closing stdout #306 (hairyhenderson)
- Writing output files from a stdin template requires permissions #305 (benjdewan)
- Linting subpackages too... #302 (hairyhenderson)
Closed issues:
- Writing an output file from a template provided via --in sets no FileMode when run using Docker #304
- function "dict" not defined #291
- unexpected "|" in template clause #290
- Conditional statement as default value in getenv? #285
- Pull in sprig functions? #283
- Consider breaking the gomplate cmd into a sub-package #147
Merged pull requests:
- Relaxing restriction on empty datasources #316 (hairyhenderson)
- Improving error handling for datasources #314 (hairyhenderson)
- Pin alpine Docker tag #309 (renovate[bot])
- Adding alpine Docker image variant #308 (hairyhenderson)
- Adding basic metrics around template rendering #303 (hairyhenderson)
- Preserve FileMode of input file when writing output file #301 (djgilcrease)
- Exporting the writer used when templates are sent to Stdout #299 (hairyhenderson)
- Adding new conv.Default function #298 (hairyhenderson)
- Adding time.Since and time.Until funcs #295 (hairyhenderson)
- Adding time.ParseDuration function #294 (hairyhenderson)
- Relax inputs for many functions #293 (hairyhenderson)
- Adding conv.ToString function #292 (hairyhenderson)
- chore(deps): update golang:1.10-alpine docker digest to 356aea #289 (renovate[bot])
- meta: Add release for freebsd-amd64 #287 (jen20)
- New env.ExpandEnv function #284 (hairyhenderson)
- New function proposal:
strings.TrimPrefix
#282 (christopher-avila) - New function:
file.Walk
#281 (christopher-avila) - Update golang Docker image 1.10-alpine digest (2d95d3) #280 (renovate[bot])
- Update deps #273 (hairyhenderson)
- Putting main pkg in cmd subdirectory #264 (hairyhenderson)
2.4.0
✨ Another big gomplate release!
v2.4.0 (2018-03-04)
Implemented enhancements:
- Support setting Vault server URL in datasource URL #243
- Exclude option support #218
- Adding sockaddr namespace #271 (hairyhenderson)
- Add
go-sockaddr
functions #145 - Adding file namespace #270 (hairyhenderson)
Fixed bugs:
- Solaris build is broken 💥 #255
- strings.Indent should not indent when width is 0 #268 (keitwb)
- Attempting to fix intermittent Integration Test failure #260 (hairyhenderson)
Closed issues:
- docker run hairyhenderson/gomplate --version doesn't print version #266
Merged pull requests:
- Log test output in CI #272 (hairyhenderson)
- Updating vendored dependencies #269 (hairyhenderson)
- Fix the example command in 'use with docker' section #267 (yizhiheng)
- Migrate from bats to pure Go for integration tests #265 (hairyhenderson)
- Rebasing Docker images on
scratch
instead of alpine #261 (hairyhenderson) - Building with Go 1.10 #258 (hairyhenderson)
2.3.0
✨ The first release of 2018 - an enormous and overdue one! Sorry for the delay 😬
Highlights:
- New
crypto
namespace - New AWS Systems Manager Parameter Store datasource (
aws+smp://
) - You can now supply a datasource as standard input
- You can now exclude files when processing directories of templates with the
--exclude
flag - Gomplate has a logo now!
Many thanks to the contributors who have helped make this and other releases!
v2.3.0 (2018-02-12)
Implemented enhancements:
- Enable reading from AWS SSM Parameter Store? #245
- Can we specify stdin as a datasource? #230
- Trade the dependency on
aws-sdk-go
for something smaller #47 - Allow vault address to be specified in the vault:// URL #251 (hairyhenderson)
- Add AWS SSM Parameter support #248 (tyrken)
- Add crypto namespace #236 (hairyhenderson)
- Support setting MIME type with URL query string #234 (hairyhenderson)
- Adding support for stdin: scheme for datasources #233 (hairyhenderson)
- Can now pass --exclude as a flag #220 (Gman98ish)
Fixed bugs:
- "unexpected {{end}}" error that only happens when using --input-dir #238
Closed issues:
- gomplate should output which template was being parsed when an error is encountered #239
- function "math" not defined #224
Merged pull requests:
- new logo #253 (hairyhenderson)
- bind test binaries explicitly to 127.0.0.1 #252 (hairyhenderson)
- Updating github.com/aws/aws-sdk-go to v1.12.70 #247 (hairyhenderson)
- Updating for dep 0.4.0 and revendoring #246 (hairyhenderson)
- Increase gometalinter timeout and make it go faster locally #244 (hairyhenderson)
- Refactoring template processing #241 (hairyhenderson)
- Naming template after input filename #240 (hairyhenderson)
- Pruning dependencies with
dep prune
#237 (hairyhenderson)
2.2.0
✨ Another new namespace! This time, gomplate learns math
On the usability front, gomplate will now react with less panic and more help when template errors are encountered.
v2.2.0 (2017-11-03)
Implemented enhancements:
- Add some time-related functions #199
- Adding math.Seq function #227 (hairyhenderson)
- Add time.ParseLocal and time.ParseInLocation functions #223 (hairyhenderson)
- Adding time.ZoneOffset function #222 (hairyhenderson)
- Adding conv.ToInt64, conv.ToFloat64, and others... #216 (hairyhenderson)
- Adding math functions #214 (hairyhenderson)
Fixed bugs:
- Fixing conv.Join to handle non-interface{} arrays #226 (hairyhenderson)
- Fixing bugs in ToInt64/ToFloat64 #217 (hairyhenderson)
Merged pull requests:
- Using Go 1.9.x now - go test ignores vendor on its own now #228 (hairyhenderson)
- Stabilizing integration tests a bit #221 (hairyhenderson)
- Don't panic on template errors #219 (hairyhenderson)
2.1.0
✨ New time
namespace, and a pile of bug fixes! ✨
v2.1.0 (2017-10-14)
Implemented enhancements:
- Add time funcs #211 (hairyhenderson)
Fixed bugs:
- 'client nonce mismatch' when using AWS auth with nonce #205
- AWS Auth nonce file not created if it doesn't already exist #204
- "gomplate -in flibbit" should produce an error #192
- Fixes #192 - fail with unknown args #208 (drmdrew)
- Remove trailing spaces #207 (stuart-c)
- Create file if it doesn't exist #206 (stuart-c)
Closed issues:
- Document 4 new conv functions in 2.0.0 #196
Merged pull requests:
- Document conv.ParseInt, conv.ParseFloat, conv.ParseUint, and conv.Atoi #212 (danedmunds)
2.0.1
Mostly a bugfix release this time!
v2.0.1 (2017-09-08)
Fixed bugs:
- Crash when vault secret is not found #200
- Fixing crash on 404 #201 (hairyhenderson)
Merged pull requests:
2.0.0
✨ Big new release! I've bumped to v2.0.0 to reflect that there are some backwards-incompatible API changes, though for most users this should have no impact.
Major highlights
- 2 new datasources supported: Consul and BoltDB
- Now all template functions have "namespaced" versions, with the addition of the data and conv namespaces. The non-namespaced function names will continue to be supported.
- 4 new functions (undocumented - oops!):
conv.ParseInt
,conv.ParseFloat
,conv.ParseUint
, andconv.Atoi
- New support for authenticating Vault with the EC2 auth back-end
A huge thanks to @stuart-c, who contributed the lion's share of features in this release!
v2.0.0 (2017-08-10)
Implemented enhancements:
- Consul support #173
- Extracting data namespace, renaming typeconv to conv namespace #194 (hairyhenderson)
- Vault AWS EC2 auth #190 (stuart-c)
- Consul vault auth #187 (stuart-c)
- Vault write support #183 (stuart-c)
- Add Consul & BoltDB datasource support #178 (stuart-c)
Closed issues:
- gomplate --version: 0.0.0 #188
Merged pull requests:
- Adding a couple extra integration tests for vault #195 (hairyhenderson)
- Moving mustParse functions into new typeconv package #193 (hairyhenderson)
- Adding unit tests for libkv datasources #189 (hairyhenderson)
- Fixing up typos and formatting in docs #186 (hairyhenderson)
- Migrate from glide to dep #185 (hairyhenderson)
- Updating dependencies #184 (hairyhenderson)
- Switch to using official Go Vault client #177 (stuart-c)
1.10.0
✨ A small but powerful release this time around! The binary is now statically-compiled so is much more portable! Also, gomplate is now built and tested on Windows with Appveyor! This should help with stability on Windows in future! 🎉
This should be the last release before gomplate 2.0!
v1.10.0 (2017-08-01)
Implemented enhancements:
- Adding support for _FILE fallback to env.Getenv function #181 (hairyhenderson)
Closed issues:
- 17.7M on Alpine Images #171
Merged pull requests:
- Moving getenv to separate package #179 (hairyhenderson)
- Disabling cgo so the binary is truly static #174 (hairyhenderson)