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.