Releases: hairyhenderson/gomplate
v3.5.0
A small but mighty release, almost entirely powered by the community! 💪
The major features this time around are support for a AWS Secrets Manager data source, and list support for Consul data sources!
v3.5.0 (2019-06-01)
Release Notes
New features and changes
- #549 AWS Secrets Manager data source support. See the docs for the new
aws+sm
- many thanks to @nexeck for this contribution! - #559 Consul can now be used as a Directory Datasource. Many thanks to @sgirones for this contribution!
v3.4.1
v3.4.0
In this release we've got some spring cleaning, 20 new functions, and a new way to dynamically name output files! 🚀🌷✨
Also, a new website is up at https://gomplate.ca, and the docs have moved to https://docs.gomplate.ca 📖
There's also now a #gomplate
Slack channel on the Gophers Slack instance. Get invited by going to https://invite.slack.golangbridge.org, then join #gomplate
and chat with the community and developers.
v3.4.0 (2019-04-09)
Release Notes
New features and changes
- #529 Adding new
--output-map
argument for templating output paths (see docs for details) - #521 Adding another way to install
gomplate
- withnpm
:npm install -g gomplate
New functions
- New
uuid
namespace: - New
random
namespace: - #518
strings.RuneCount
- #520
aws.KMSEncrypt
- #520
aws.KMSDecrypt
- #526
aws.Account
- #526
aws.UserID
- #526
aws.ARN
- #535
coll.JSONPath
Bug fixes
v3.3.1
v3.3.0
A smaller relase this time, almost entirely full of new functions. An exciting new use-case is that a single template can now produce multiple outputs (with file.Write
)! 🚀
v3.3.0 (2019-03-03)
Release Notes
New features and changes
- #497 docs: generating rest of string functions from YAML source
- #501 docs: YAMLifying the rest of the function docs, improving the doc template
- #506 Upgrading Go & Dockerfile dependencies
New functions
- #490
file.Write
- New
tmpl
namespace: - #494
strings.CamelCase
- #494
strings.SnakeCase
- #495
strings.WordWrap
v3.2.0
There's lots of ✨ in this first release of 2019! 🎉🎊
Now, you can ignore files, merge datasources, and use .env
files as datasoures. Also, you can do a whole pile of new things with lists and maps with the functions in the new coll
namespace! See below for details...
v3.2.0 (2019-02-07)
Release Notes
New features and changes
- #450 Documented newline suppression (@carlosonunez)
- See the docs for this new section!
- #225 Add
.gomplateignore
support (@zealic)- An extension to the
--exclude
flag, allows ignoring certain files when processing directories with the--input-dir
argument. Works just like the.gitignore
file
- An extension to the
- #477 New
merge:
datasource, for merging multiple datasources- See the docs for full details
- #481 Adding support for
.env
files- Parses files containing lines like
KEY=value
as key-value pairs - See the docs for details
- Parses files containing lines like
New functions
- New
coll
namespace:- #470
coll.Append
/append
- #470
coll.Prepend
/prepend
- #470
coll.Uniq
/uniq
- #470
coll.Reverse
/reverse
- #470
coll.Keys
/keys
- #470
coll.Values
/values
- #470
coll.Dict
/dict
(renamed fromconv.Dict
, which is now deprecated) - #470
coll.Slice
/slice
(renamed fromconv.Slice
, which is now deprecated) - #470
coll.Has
/has
(renamed fromconv.Has
, which is now deprecated) - #472
coll.Merge
/merge
- #478
coll.Sort
/sort
- #470
Bug fixes
3.1.0
This may be a minor version bump, but it contains some major features! 💪 🚀
Aside from some new functions, behind-the-scenes updates, and docs updates, there's a new way to interact with datasources, a way to process templates in-line, and support for encrypted JSON files! Read on for details...
Note: The Homebrew release of gomplate will likely lag for a while, as there is a known bug with UPX that's blocking it from being released. You can brew install hairyhenderson/tap/gomplate
in the meantime to get the latest version.
v3.1.0 (2018-11-29)
Release Notes
New features and changes
- #415 Changed the
hairyhenderson/gomplate
Docker image so that it's easier to pipe templates in without any commandline arguments. Thanks to @strokyl for this! - #420 Support decrypting ejson files
- Adds support for ejson-encrypted JSON files, both in datasources and the
json
function
- Adds support for ejson-encrypted JSON files, both in datasources and the
- #424 New --context flag for adding datasources to context
- Allows you to reference a datasource with dot-notation (i.e.
{{ .foo }}
instead of{{ ds "foo" }}
) - multi-arg datasources still require thedatasource
/ds
function
- Allows you to reference a datasource with dot-notation (i.e.
- #431 Added some missing documentation for AWS environment variables
- #439 Adding option to suppress empty output files
- Perhaps a niche feature, but hopefully useful to some! Enable this with
GOMPLATE_SUPPRESS_EMPTY=true
. If you feel this should be more widely supported (through a commandline flag), please file an issue!
- Perhaps a niche feature, but hopefully useful to some! Enable this with
New functions
3.0.0
Finally, gomplate has support for nested templates! 🎉 This, and some API changes, means it's time for the next major release! Welcome to gomplate 3.0! 🤖
v3.0.0 (2018-09-25)
Release Notes
New features and changes
- Improved documentation at https://gomplate.hairyhenderson.ca/syntax/ (#394)
- Improved documentation for the
conv
namespace (added more examples/usage info) (#396) - New support for nested templates with the
--template
/-t
flag (#403)- Currently templates may be loaded from the local filesystem, but remote template support is likely to be added in the future. Please file an issue if you have a specific use-case for this!
- For developers who may be using gomplate as a library, #380 has made some changes to function signatures, and so may introduce incompatibilities in your code. Most of the changes involve template functions which should not be called directly (only through
text/template
). If this is a problem, please file an issue!
New functions
Bug fixes
- Silenced
defineDatasource
function (it used to pollute the rendered template) (#401)
2.8.0
No new functions for once 😅, but still plenty of improvements under the hood!
v2.8.0 (2018-08-29)
Release Notes
New features and changes
- New
--verbose
flag (#385) - New
--chmod
flag to explicitly set output file modes (#369) - Export Funcs function to help enable usage of gomplate as library (#372) - Thank you, @dcwangmit01!
- Updated to Go 1.11 (#382)
- This adds a very useful feature for template authors: "Modifying template variables via assignments is now permitted via the = token:"
{{ $v := "init" }} {{ if true }} {{ $v = "changed" }} {{ end }} v: {{ $v }} {{/* "changed" */}}
- This adds a very useful feature for template authors: "Modifying template variables via assignments is now permitted via the = token:"
- For those who may have been using gomplate as a library, (#376) removed unexported a number of functions that were never meant to be exported. If this is a problem, please file an issue!
- MIME type detection precedence has been fixed (#374)
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