Releases: gruntwork-io/boilerplate
v0.10.0
🛠️ 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
- fix: Fix nested map conversion in ConvertType by @pseudomorph in #238
- fix: Fix int - str conversion. by @pseudomorph in #236
- docs: Document dynamic file naming (Advanced use cases) [LIB-3473] by @devin-ai-integration[bot] in #244
- chore: Adding quality controls by @yhakbar in #240
New Contributors
- @devin-ai-integration[bot] made their first contribution in #244
Full Changelog: v0.9.0...v0.10.0
v0.9.0
🛠️ 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
v0.8.0
What's Changed
- State management helpers by @dee-kryvenko in #227
New Contributors
- @dee-kryvenko made their first contribution in #227
Full Changelog: v0.6.4...v0.8.0
v0.7.0
What's Changed
- Bump golang.org/x/oauth2 from 0.23.0 to 0.27.0 by @dependabot[bot] in #229
- feat: add fromYaml to template helpers. by @pseudomorph in #228
New Contributors
- @pseudomorph made their first contribution in #228
Full Changelog: v0.6.3...v0.7.0
v0.6.4
This release was replaced with v0.7.0 as it contained a change that is not backwards compatible
v0.6.3
What's Changed
- Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot in #222
- Remove log that may include secrets in https urls by @Resonance1584 in #223
Full Changelog: v0.6.2...v0.6.3
v0.6.2
What's Changed
- Add top-level hooks declaration in hooks examples by @oredavids in #209
- go 1.24.4 by @Resonance1584 in #221
New Contributors
- @oredavids made their first contribution in #209
Full Changelog: v0.6.1...v0.6.2
v0.6.1
What's Changed
- Bump golang.org/x/net from 0.30.0 to 0.33.0 by @dependabot in #207
- Bumping crypto to
0.35.0
by @yhakbar in #217
Full Changelog: v0.6.0...v0.6.1
v0.6.0
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
, andmap
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