Action Launcher's December 2016 update adds unread badge support to the app. The addition of this feature to the app will likely come as a surprise to many long time Action Launcher users. While I included this feature (somewhat half-heartedly) in Action Launcher 2: Pro, I've long resisted doing so in Action Launcher 3.

I had two main reservations here:

The number and variety of permissions required to support the feature is non-trivial, and I'm rather anal about ensuring my apps request as few as permissions as possible.

Unlike iOS, Android does not have a system wide API to fetch unread badge counts for all apps. In short, unread badges are only ever going to work so well on Android. For example, unread badges can be reliably fetched for SMS messages, but there remains no bulletproof way to fetch the number of unread Hangouts, Allo or Facebook Messenger messages.

As of late 2016, I'm very pleased to report my permissions concerns are largely no longer relevant given Marshmallow's runtime permission system (which the vast majority of Action Launcher's users are running).

I maintain my reservations about the lack of proper, system wide Android APIs for fetching an app's unread count that works with all apps. However, the endless stream of requests and negative reviews over the last two years due to no unread badge support have proven too much for me to ignore any longer. As of the December 2016 update, Action Launcher will begin supporting unread badges, as best it can.

Unread badge support is being rolled out somewhat softly. The feature is labelled "Alpha", and at this point support is limited to displaying missed calls, unread SMS messages and upcoming calendar appointments, as well as unread email counts for Gmail and Inbox. It works really well for these apps.

I know many people would like to see this feature enhanced to support more apps going forward, so rest assured I'll be closely monitoring feedback around unread badges, and will look to enhance it as appropriate going forward.