implement APN frame-based notification protocol, add error response handling, bump to 2.2.0
Merge branch 'release/2.2.0'