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