When git introduces a breaking change, it prints a warning describing the change and saying "to turn off this warning set advice.warnaboutthis=false". This adds the hassle of setting the config (once, globally), but the reduced confusion might be worth it.

git also uses this mechanism to start warning of upcoming breaking changes in future versions, before these versions become current.

Another way to signal breaking changes can be to use some form of semantic versioning for git-annex versions, bumping the major version number to indicate incompatible changes. ?7.20190912 would then be 8.20190912 . This would help when specifying package dependencies.

Of course, best is to avoid breaking changes, as @joeyh ultimately managed to do with v7. But they'll happen, and some people miss the current scheme for announcing them, so low-cost ways to extend the scheme might help.