Skip to content

Releases: gruntwork-io/boilerplate

v0.10.0

04 Sep 18:50
231682d
Compare
Choose a tag to compare

🛠️ Breaking Changes

Numerous breaking changes have taken place through the integration of fixes related to findings of golangci-lint, which is now integrated into the codebase.

Public structs that previously had fields that did not obey standard Golang practices for casing have been updated to consistently follow best practices.

e.g.

// The command-line options for the boilerplate app
type BoilerplateOptions struct {
	TemplateUrl string
	TemplateFolder string
	OutputFolder            string
	NonInteractive          bool
	Vars                    map[string]interface{}
	OnMissingKey            MissingKeyAction
	OnMissingConfig         MissingConfigAction
	NoHooks                 bool
	NoShell                 bool
	DisableDependencyPrompt bool
	ExecuteAllShellCommands bool
	ShellCommandAnswers map[string]bool
}

Is now:

// BoilerplateOptions represents the command-line options for the boilerplate app
type BoilerplateOptions struct {
	Vars                    map[string]any
	ShellCommandAnswers     map[string]bool
	TemplateURL             string
	TemplateFolder          string
	OutputFolder            string
	OnMissingKey            MissingKeyAction
	OnMissingConfig         MissingConfigAction
	NonInteractive          bool
	NoHooks                 bool
	NoShell                 bool
	DisableDependencyPrompt bool
	ExecuteAllShellCommands bool
}

Renaming TemplateUrl to TemplateURL follows the Golang best practice of using all caps for initialisms, and the golangci-lint linter will enforce this practice going forward for all variables. Note that this change also resulted in the shuffling of some struct fields to obey the best practice recommended by the fieldalignment linter in govet, which minimizes the size of structs by properly aligning the field values to reduce padding.

Finally, variables available in templates with improper casing like TemplateUrl have been updated to TemplateURL to continue this pattern of obeying best practices, but TemplateUrl is backwards compatible for the foreseeable future. We may decide to announce deprecation and removal at a later date.

These breaking changes should only require action on your end if you rely on Boilerplate as a Golang library, not as a standalone binary.

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

04 Aug 15:24
72a4309
Compare
Choose a tag to compare

🛠️ Breaking Changes

Renamed flags:

  • --disable-hooks has been renamed to --no-hooks
  • --disable-shell has been renamed to --no-shell

Migration Guide

To migrate to the new release:

  • Replace the --disable-hooks flag with --no-hooks in your scripts or configurations.
  • Replace the --disable-shell flag with --no-shell in your scripts or configurations.
  • Review the new confirmation prompts for shell and hook executions, as they will require user input.

What's Changed

  • feat: Added confirmation for shell and hooks execution in format y/a/n by @denis256 in #231
  • feat: Renamed --disable-hooks to --no-hooks by @denis256 in #231
  • feat: Renamed --disable-shell to --no-shell by @denis256 in #231
  • chore: Dependabot rules have been updated to group dependencies together by @denis256 in #231

Full Changelog: v0.8.1...v0.9.0

v0.8.1

24 Jul 16:07
5f9107b
Compare
Choose a tag to compare

What's Changed

  • fix: processing dependency variable and render for_each_reference value by @tiviuray in #230

New Contributors

Full Changelog: v0.8.0...v0.8.1

v0.8.0

23 Jul 21:27
615de0e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.4...v0.8.0

v0.7.0

23 Jul 20:55
da4517f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.3...v0.7.0

v0.6.4

23 Jul 20:52
da4517f
Compare
Choose a tag to compare
v0.6.4 Pre-release
Pre-release

This release was replaced with v0.7.0 as it contained a change that is not backwards compatible

v0.6.3

13 Jun 21:15
4794dc3
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.2...v0.6.3

v0.6.2

10 Jun 20:06
9013241
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.1...v0.6.2

v0.6.1

15 Apr 19:09
357d14f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.0...v0.6.1

v0.6.0

11 Dec 20:51
05b2842
Compare
Choose a tag to compare

Release Notes

  • Added support for manual inputs other than strings or enums. The command line will now prompt the user for input for int, float, bool, list, and map variable types.
  • Fixed manual input using <no value> if a default does not exist. User will be prompted again instead.
  • Changed the visual appearance of the manual input to closer match the example.

Migration Guide

This change will cause users to be prompted for more types of variables, and may find that they are required to populate Default values in more situations. If you have been relying on a variable that will now require manual input, but you want to use the Default, you will need to add the --non-interactive flag to prevent the prompt.

Full Changelog: v0.5.19...v0.6.0