Gajim is desktop client supporting chat sync features, and encryption with OpenPGP, OTR. Feature-rich, but development is not very active. Recommended.
mcabber is terminal interface client app which supports Message Carbons but not MAM. Supports chat encryption with OpenPGP, OTR. Actively developed. Recommended.
Pidgin is multi-platform desktop client app which doesn't support Message Carbons as of 2.10.11 release (but there's a patch pending), MAM seems to be not there, either. Supports chat encryption with OpenPGP, OTR. WARNING! Seen to disable configured encryption without notice. Not recommended.
Please help to gather information about support of these features in other FOSS client apps.