Releases: contentways/poweradmin-cli
Release list
v3.5.0
v3.4.0
Features
v3.4.0
Features
add --dry-run flag to all delete commands
v3.3.1
Bug Fixes
guard against nil zone/user/group in Resolve helpers
v3.3.0
Features
add --interactive multi-select to delete commands
add --verbose flag for HTTP request/response debug logging
v3.2.0
Features
add --interactive flag to zones/users/groups/permission-templates create
mark --interactive as feature preview
Bug Fixes
set zone-name flag from interactive prompt in records create
v3.1.0
Features
add yaml output format alongside json
add yaml annotations to schema and new test function for YAML
v3.0.1
Bug Fixes
correct module path suffix to /v3 to match tagged major version
v3.0.0
Features
BREAKING: move module path to github.com/contentways/poweradmin-cli/v2
v2.1.0
Features
add zone metadata commands (list, get, set, delete)
v2.0.1
Bug Fixes
derive version/commit from build info when unset via ldflags
v2.0.0
Features
add --ttl flag for NS records in zones create
BREAKING: migrate module path to github.com/contentways/poweradmin-go/v3
Bug Fixes
import sorting
correct repository case in releaser-pleaser workflow
v1.3.0
Features
add --ttl flag for NS records in zones create
switch to keyless cosign signing via GitHub OIDC
v1.2.1
Bug Fixes
use GroupNameCompletion for groups commands, add PermissionTemplateNameCompletion
v3.3.1
Bug Fixes
- guard against nil zone/user/group in Resolve helpers
v3.3.0
Features
- add --interactive multi-select to zones delete
- add --interactive multi-select to delete commands
- add --verbose flag for HTTP request/response debug logging
- add --verbose flag for HTTP request/response debug logging
v3.2.0
Summary
Adds an --interactive (-i) flag to the five create commands (zones,
users, groups, permission-templates, records). When set, any
required value not already supplied via flag or argument is prompted for
interactively, followed by a summary and confirmation before the resource
is actually created.
This is marked as a feature preview — the prompt flow may still change
based on feedback, and a notice is printed to stderr whenever --interactive
is used.
What's new
- New
internal/cmd/base/interactive.gohelper package (PromptString,
PromptSelect,PromptInt,PromptBool,PromptStringSlice,
PrintPreviewNotice), built on
charmbracelet/huh, reused across
all five commands. --interactive/-iflag added to:zones createusers create(existing masked password prompt is unaffected)groups createpermission-templates createrecords create
- Values already supplied via flag or positional argument are never
re-prompted. - Conditional prompts where relevant (e.g. TTL for
zones createonly
asked when nameservers are set; priority forrecords createonly asked
for MX/SRV). - Final summary + confirmation (
base.Confirm) before the API call runs. - README updated with an "Interactive Mode" section and per-command
examples; reference docs regenerated (go run ./scripts/docs.go).
Bug fix along the way
records create --interactive initially failed with a 404 zone not found when the zone name was supplied via the interactive prompt, because
base.ResolveZoneID reads --zone-name/--zone-id directly from Cobra's
flag set rather than from the local variable. Fixed by writing the
prompted value back with cmd.Flags().Set("zone-name", ...).
Testing
Manually verified for all five commands:
- Prompts only appear for missing values, not for ones already set via
flags/args. - Type flags (
--typefor zones/permission-templates, record type) are
skipped when explicitly set. - Declining the final confirmation aborts without creating anything.
- Non-interactive usage (no
-i) is unchanged.
Not included
- No automated tests yet for the new interactive code paths.
updatecommands don't support--interactiveyet (could follow the
same pattern later).
v3.1.0
Features
- New
output.FormatYAMLconstant;ParseFormatrecognizesyamlandyml - New
output.Format.IsStructured()helper (true for JSON/YAML) to keep
future format additions to a single call site per command instead of N - New
base.PrintYAML/base.PrintFormattedhelpers ininternal/cmd/base - All 30 commands that previously branched on
outputFmt == output.FormatJSON
now branch onoutputFmt.IsStructured()and callbase.PrintFormatted - Three commands with inline
json.MarshalIndent(records/update.go,
groups/members.go,groups/zones.go) normalized to use the same
base.PrintFormattedhelper as everything else - Added
yaml:"..."struct tags (mirroring the existingjson:"..."tags)
to all CLI output schema types (internal/schema/{zone,record,user,group}.go)
so YAML keys stay snake_case (zone_id) instead of falling back to
gopkg.in/yaml.v3's default lowercase-no-separator naming (zoneid) - README: documented
-o yamlin both the global flags table and the
Output Formats section - Tests:
ParseFormatand newIsStructured()coverage foryaml/yml
v3.0.1
Bug Fixes
- correct module path suffix to /v3 to match tagged major version
v3.0.0
Features
- BREAKING: move module path to github.com/contentways/poweradmin-cli/v2
v2.1.0
Features
- add zone metadata commands (list, get, set, delete)
v2.0.1
Bug Fixes
- derive version/commit from build info when unset via ldflags