As of February 2016, there are three active branches of GnuPG: 2.1, 2.0, and 1.4. All those branches should work flawlessly with Emacs with basic use-cases. They have, however, some incompatible characteristics, which might be visible when used from Emacs.
GPG_AGENT_INFOenvironment variable, which is used by GnuPG 2.0 and 1.4, is ignored. That means, if your system has both GnuPG 2.1 and 1.4, the gpg command from GnuPG 1.4 is not able to use gpg-agent provided by 2.1 (at least out of box).q
 To enable this feature, add ‘allow-emacs-pinentry’ to ~/.gnupg/gpg-agent.conf and let gpg-agent reload the configuration, with: ‘gpgconf --reload gpg-agent’