Releases: peterbourgon/ff
v3.4.0
What's Changed
- JSON, TOML, YAML: support for nested config data by @peterbourgon in #112
- ffcli: add DESCRIPTION with ShortHelp to DefaultUsageFunc by @peterbourgon in #111
Full Changelog: v3.3.2...v3.4.0
v3.3.2
This release adds the WithFilesystem option, allowing users to specify a filesystem other than the default host FS for e.g. config files. Thanks to @piotrkowalczuk and #103 for the inspiration.
v3.3.1
v3.3.0
Changes!
What's Changed
- Add a naïve parser for .env files by @peterbourgon in #89
- Fix example demonstrating usage of env vars by @m90 in #95
- Update yaml.v2 and go-toml modules by @decke in #94
- Fixes for go 1.19 by @peterbourgon in #98
New Contributors
Full Changelog: v3.1.2...v3.3.0
v3.1.2
v0.1.0
v0.1.0 is a rehoming of package ff on major version 0. All future development will occur on major version 0. There are no changes in functionality from the latest MINOR.PATCH release of major version 3.
v3.1.0
ffyaml now treats
key:
as
-key=""
instead of an error.
v3.0.0
Version 3.0.0 of packages ff and ffcli contain a few breaking changes.
First, in package ff, the parsing priority has changed. Previously, flags had first priority, then config files, and finally env vars. Now, flags have first priority, then env vars, and finally config files. That is, env vars now have higher Parse priority than config files. This reflects I think a more correct interpretation of their respective semantics: flags are explicit user intent at runtime, env vars are associated with a user session, and config files are static for an entire host.
Second, in package ff, environment variables are no longer split on commas by default. The WithEnvVarIgnoreCommas option has been removed, and replaced with an inverse WithEnvVarSplit option so you can opt-in to splitting env vars on whatever delimiter you like. See #55.
Finally, in package ffcli, if a command is selected as the terminal command, and it doesn't have an Exec function defined, then Parse, Run, and ParseAndRun will return NoExecError instead of nil. This change makes it easier to declare and detect no-op "container" subcommands, which only exist to hold other commands. See #57.
Compliments? Complaints? Dial 1-800-NEW-ISSUE.
v2.0.0
Several small fixes to package ff, and a more functional package ffcli. Includes a breaking change to ffcli, hence the major version bump: command.Run is renamed to ParseAndRun, and individual Parse and Run methods are added.
v1.7.0
A few new features. WithIgnoreUndefined is a new option that allows parsing to continue if a flag is specified but not defined in the flagset (thanks @yjp20). WithAllowMissingConfigFile allows parsing to continue if a specified config file doesn't exist (thanks @Dragomir-Ivanov). And package fftoml is refactored to include a WithTableDelimiter option to map TOML tables to flag names (thanks @GeorgeMac).