+ * The GpgmePassphraseCb type now returns a GpgmeError value, and
+ returns the password string in a new parameter. The gpgme_cancel
+ function has been removed, just return GPGME_Canceled in the
+ passphrase callback directly.
+
+ * The status of a context operation is not checked anymore, so the
+ errors GPGME_Busy and GPGME_No_Request can not occur anymore.
+
+ * For clarity and better reusability, the error codes
+ GPGME_No_Recipients, GPGME_Invalid_Recipient and
+ GPGME_No_Passphrase have been renamed to GPGME_No_UserID,
+ GPGME_Invalid_UserID and GPGME_Bad_Passphrase resp.
+
+ * The FPR argument to gpgme_op_genkey was removed. Instead, use the
+ gpgme_op_genkey_result function to retrieve a GpgmeGenKeyResult
+ pointer to a structure which contains the fingerprint. This also
+ works with gpgme_op_genkey. The structure also provides other
+ information about the generated keys.
+
+ So, instead:
+
+ char *fpr;
+ err = gpgme_op_genkey (ctx, NULL, NULL, &fpr);
+ if (!err && fpr)
+ printf ("%s\n", fpr);
+
+ you should now do:
+
+ GpgmeGenKeyResult result;
+ err = gpgme_op_genkey (ctx, NULL, NULL);
+ if (!err)
+ {
+ result = gpgme_op_genkey_result (ctx);
+ if (result->fpr)
+ printf ("%s\n", result->fpr);
+ }
+