Skip to content

Releases: secengcommons/cli

CLI v1.1.1

Choose a tag to compare

@steadytao steadytao released this 15 Oct 07:45
Immutable release. Only release title and notes can be modified.
v1.1.1
75fdc6e

CLI v1.1.1 preserves the existing parser API and performance contracts while refreshing release verification

Changed

  • Updates the development toolchain to Go 1.27.2
  • Updates GolangCI-Lint to v2.14.0 and Govulncheck to v1.9.0
  • Adopts SecEng Commons CI v1.0.8

CLI v1.1.0

Choose a tag to compare

@steadytao steadytao released this 09 Sep 06:40
Immutable release. Only release title and notes can be modified.
v1.1.0
c5243a2

CLI v1.1.0 retains the existing parser API and performance contracts while updating the supported development baseline

Changed

  • Raises the minimum Go version to 1.26
  • Adopts shared SecEng Commons CI and Verify qualification
  • Separates workflow analysis into its own tool module
  • Updates Govulncheck and Wazero verification dependencies

CLI v1.0.0

Choose a tag to compare

@steadytao steadytao released this 05 Sep 15:07
Immutable release. Only release title and notes can be modified.
v1.0.0
2379fa3

The first stable release of Security Engineering Commons CLI. Provides bounded command parsing and deterministic Cobra-style help through a small dependency-free Go API

Included

  • Explicit commands and optional root actions
  • Standard short, long, single-dash, double-dash, equals and separate-value option forms
  • String and Boolean options with validated defaults
  • Persistent global options before or after commands
  • Required command options and bounded positional arguments
  • Named-command precedence over root actions
  • Built-in root and contextual help actions
  • Built-in version actions through v, version, -v, --v and --version
  • Deterministic UTF-8 help and diagnostics
  • Strict definition, name, summary, argument-count and input-byte bounds
  • Rejection of duplicate options, ambiguous aliases, malformed input, invalid UTF-8 and control characters
  • Immutable copied definitions and independently owned invocation state
  • Allocation-free indexed argument and option access
  • Concurrent parser use
  • Inspectable ErrDefinition and ErrInvocation errors
  • No production-module dependencies

Performance

  • Common parsing and simple actions perform zero allocations
  • Root-only parser construction performs zero allocations
  • Representative parser construction retains two backing allocations
  • Help and diagnostics allocate only their caller-owned result
  • Caller-buffer ownership is preserved without exposing internal state

Full Linux AMD64 measurements and the benchmark command are retained in the README

Coverage

  • 100% atomic first-party statement coverage
  • Windows and Linux race-detector execution
  • Parser, definition, root-action and help-size fuzzing
  • Go 1.24, 1.25 and 1.26 compatibility
  • Production cross-builds across all 48 targets reported by the Go 1.24 toolchain
  • Production and verification-tool vulnerability scans

Requirements

  • Go 1.24 or newer

Install

go get github.com/secengcommons/cli@v1.0.0