diff --git a/CHANGELOG.md b/CHANGELOG.md index b03b52c..4830a80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,17 +6,28 @@ ### Added - Support for placeholders in flag usage strings -- Support for custom exit code by returning an error that fulfills -`cli.ExitCoder` to `cli.App.Run`. + +### Changed +- The `App.Action` and `Command.Action` now prefer a return signature of +`func(*cli.Context) error`, as defined by `cli.ActionFunc`. If a non-nil +`error` is returned, there may be two outcomes: + - If the error fulfills `cli.ExitCoder`, then `os.Exit` will be called + automatically + - Else the error is bubbled up and returned from `App.Run` +- Specifying an `Action` with the legacy return signature of +`func(*cli.Context)` will produce a deprecation message to stderr +- Specifying an `Action` that is not a `func` type will produce a non-zero exit +from `App.Run` +- Specifying an `Action` func that has an invalid (input) signature will +produce a non-zero exit from `App.Run` ### Deprecated - `cli.App.RunAndExitOnError`, which should now be done by returning an error that fulfills `cli.ExitCoder` to `cli.App.Run`. -- -the legacy signature for `cli.App.Action` of `func(*cli.Context)`, which should -now have a signature of `func(*cli.Context) error`, as defined by -`cli.ActionFunc`. +- the legacy signature for +`cli.App.Action` of `func(*cli.Context)`, which should now have a signature of +`func(*cli.Context) error`, as defined by `cli.ActionFunc`. ## [1.14.0] - 2016-04-03 (backfilled 2016-04-25) ### Added