-Noteworthy changes in version 1.7.0 (2016-09-21) [C26/A15/R0]
+Noteworthy changes in version 1.18.0 (2022-08-10)
+-------------------------------------------------
+
+ * New keylist mode to force refresh via external methods. [T5951]
+
+ * The keylist operations now create an import result to report the
+ result of the locate keylist modes. [T5951]
+
+ * core: Return BAD_PASSPHRASE error code on symmetric decryption
+ failure. [T5939]
+
+ * cpp, qt: Do not export internal symbols anymore. [T5906]
+
+ * cpp, qt: Support revocation of own OpenPGP keys. [T5904]
+
+ * qt: The file name of (signed and) encrypted data can now be set. [T6056]
+
+ * cpp, qt: Support setting the primary user ID. [T5938]
+
+ * python: Fix segv(NULL) when inspecting contect after exeception. [T6060]
+
+ * Interface changes relative to the 1.17.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ GPGME_KEYLIST_MODE_FORCE_EXTERN NEW.
+ GPGME_KEYLIST_MODE_LOCATE_EXTERNAL NEW.
+ cpp: RevocationReason NEW.
+ cpp: GpgRevokeKeyEditInteractor NEW.
+ cpp: Result::setError NEW.
+ cpp: KeyListMode::ForceExtern NEW.
+ cpp: KeyListMode::LocateExternal NEW.
+ cpp: KeyListMode::KeyListModeMask NEW.
+ cpp: ImportResult::mergeWith NEW.
+ cpp: KeyListModeSaver NEW.
+ cpp: Context::setPrimaryUid NEW.
+ cpp: Context::startSetPrimaryUid NEW.
+ qt: RevokeKeyJob NEW.
+ qt: Protocol::revokeKeyJob NEW.
+ qt: EncryptJob::setFileName NEW.
+ qt: EncryptJob::fileName NEW.
+ qt: SignEncryptJob::setFileName NEW.
+ qt: SignEncryptJob::fileName NEW.
+ qt: SetPrimaryUserIDJob NEW.
+ qt: Protocol::setPrimaryUserIDJob NEW.
+
+ [c=C38/A27/R0 cpp=C21/A15/R0 qt=C16/A1/R0]
+
+ Release-info: https://dev.gnupg.org/T6128
+
+
+Noteworthy changes in version 1.17.1 (2022-03-06)
+-------------------------------------------------
+
+ * qt: Fix a bug in the ABI compatibility of 1.17.0. [T5834]
+
+ [c=C37/A26/R0 cpp=C20/A14/R0 qt=C15/A0/R0]
+
+ Release-info: https://dev.gnupg.org/T5872
+
+
+Noteworthy changes in version 1.17.0 (2022-02-07)
+-------------------------------------------------
+
+ * New context flag "key-origin". [#5733]
+
+ * New context flag "import-filter". [#5739]
+
+ * New export mode to export secret subkeys. [#5757]
+
+ * Detect errors during the export of secret keys. [#5766]
+
+ * New function gpgme_op_receive_keys to import keys from a keyserver
+ without first running a key listing. [#5808]
+
+ * Detect bad passphrase error in certificate import. [T5713]
+
+ * Allow setting --key-origin when importing keys. [T5733]
+
+ * Support components "keyboxd", "gpg-agent", "scdaemon", "dirmngr",
+ "pinentry", and "socketdir" in gpgme_get_dirinfo. [T5727,T5613]
+
+ * Under Unix use poll(2) instead of select(2), when available.
+ [T2385]
+
+ * Do not use --flat_namespace when linking for macOS. [T5610]
+
+ * Fix results returned by gpgme_data_* functions. [T5481]
+
+ * Support closefrom also for glibc. [rM4b64774b6d]
+
+ * cpp,qt: Add support for export of secret keys and secret subkeys.
+ [#5757]
+
+ * cpp,qt: Support for adding existing subkeys to other keys. [#5770]
+
+ * qt: Extend ChangeExpiryJob to change expiration of primary key
+ and of subkeys at the same time. [#4717]
+
+ * qt: Support WKD lookup without implicit import. [#5728]
+
+ * qt: Allow specifying an import filter when importing keys. [#5739]
+
+ * qt: Expect UTF-8 on stderr on Windows. [rM8fe1546282]
+
+ * qt: Allow retrieving the default value of a config entry. [T5515]
+
+ * Interface changes relative to the 1.16.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_op_receive_keys NEW.
+ gpgme_op_receive_keys_start NEW.
+ qt: Protocol::secretSubkeyExportJob NEW.
+ cpp: Context::exportSecretSubkeys NEW.
+ cpp: Context::startSecretSubkeyExport NEW.
+ qt: Protocol::secretKeyExportJob CHANGED: Param 'charset' is ignored.
+ cpp: Context::exportKeys NEW.
+ cpp: Context::startKeyExport NEW.
+ cpp: Context::exportSecretKeys NEW.
+ cpp: Context::startSecretKeyExport NEW.
+ cpp: GpgAddExistingSubkeyEditInteractor NEW.
+ GPGME_EXPORT_MODE_SECRET_SUBKEY NEW.
+ gpgme_set_ctx_flag EXTENDED: New flag 'key-origin'.
+ gpgme_set_ctx_flag EXTENDED: New flag 'import-filter'.
+ qt: ChangeExpiryJob::Option NEW.
+ qt: ChangeExpiryJob::Options NEW.
+ qt: ChangeExpiryJob::setOptions NEW.
+ qt: ChangeExpiryJob::options NEW.
+ qt: CryptoConfigEntry::defaultValue NEW.
+ qt: WKDLookupJob NEW.
+ qt: WKDLookupResult NEW.
+ qt: Protocol::wkdLookupJob NEW.
+ qt: ImportJob::setKeyOrigin NEW.
+ qt: ImportJob::keyOrigin NEW.
+ qt: ImportJob::keyOriginUrl NEW.
+ qt: setImportFilter NEW.
+ qt: importFilter NEW.
+ qt: AddExistingSubkeyJob NEW.
+ qt: Protocol::addExistingSubkeyJob NEW.
+
+ [c=C37/A26/R0 cpp=C20/A14/R0 qt=C14/A7/R0]
+
+ Release-info: https://dev.gnupg.org/T5819
+
+
+Noteworthy changes in version 1.16.0 (2021-06-24)
+-------------------------------------------------
+
+ * New context flag "cert-expire". [#5505]
+
+ * New data flags "io-buffer-size" and "sensitive". [#5478]
+
+ * Increase I/O buffer size from 512 to 4k under Windows.
+
+ * cpp,qt: Add support for trust signatures. [#5421]
+
+ * qt: Add support for flags in LDAP server options. [#5217]
+
+ * qt: Fix too high memory consumption due to QProcess. [#5475]
+
+ * qt: Do not set empty base DN as query of keyserver URL. [#5465]
+
+ * qt: Extend SignKeyJob to create signatures with expiration date.
+ [5506]
+
+ * python: New optional parameter filter_signatures for decrypt.
+ [#5292]
+
+ * Interface changes relative to the 1.15.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_set_ctx_flag EXTENDED: New flag 'cert-expire'.
+ cpp: SignKeyJob::setTrustSignature NEW.
+ cpp: TrustSignatureTrust NEW.
+ cpp: GpgSignKeyEditInteractor::setTrustSignatureTrust NEW.
+ cpp: GpgSignKeyEditInteractor::setTrustSignatureDepth NEW.
+ cpp: GpgSignKeyEditInteractor::setTrustSignatureScope NEW.
+ cpp: UserID::Signature::isTrustSignature NEW.
+ cpp: UserID::Signature::trustValue NEW.
+ cpp: UserID::Signature::trustDepth NEW.
+ cpp: UserID::Signature::trustScope NEW.
+ gpgme_key_sig_t EXTENDED: New field 'trust_depth'.
+ gpgme_key_sig_t EXTENDED: New field 'trust_value'.
+ gpgme_key_sig_t EXTENDED: New field 'trust_scope'.
+ GPGME_KEYSIGN_FORCE NEW.
+ qt: CryptoConfig::entry CHANGED: Added overload; deprecated old
+
+ [c=C36/A25/R0 cpp=C19/A13/R0 qt=C13/A6/R0]
+
+ Release-info: https://dev.gnupg.org/T5499
+
+
+Noteworthy changes in version 1.15.1 (2021-01-08)
+-------------------------------------------------
+
+ * Fix another bug in the secret key export. [#5046]
+
+ * Make listing of signatures work if only secret keys are listed. [#3580]
+
+ * Fix build problem on FreeBSD. [a6220adf30]
+
+ * qt: Avoid empty "rem@gnupg.org" signature notations. [#5142]
+
+ * python: Fix key_export functions. [#5149]
+
+
+ [c=C35/A24/R1 cpp=C18/A12/R1 qt=C12/A5/R1]
+
+ Release-info: https://dev.gnupg.org/T5225
+
+
+Noteworthy changes in version 1.15.0 (2020-11-12)
+-------------------------------------------------
+
+ * New function gpgme_op_setexpire to make changing the expiration
+ easier (requires GnuPG 2.1.22). [#4999]
+
+ * New function gpgme_op_revsig to revoke key signatures (requires
+ GnuPG 2.2.24). [#5094]
+
+ * Support exporting secret keys. [#5046]
+
+ * cpp: Support for set expire operations in the C++ bindings. [#5003]
+
+ * cpp: Support for revoking key signatures in the C++ bindings. [#5094]
+
+ * qt: Extended ChangeExpiryJob to support changing the expiry of
+ subkeys. [#4717]
+
+ * qt: Extended QuickJob to support revoking of key signatures. [#5094]
+
+ * qt: Added QDebug stream operator for GpgME::Error.
+
+ * Require a somewhat newer version of libgpg-error (1.36).
+
+ * Interface changes relative to the 1.14.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_op_setexpire_start NEW.
+ gpgme_op_setexpire NEW.
+ gpgme_op_revsig_start NEW.
+ gpgme_op_revsig NEW.
+ GPGME_REVSIG_LFSEP NEW.
+ cpp: Context::setExpire NEW.
+ cpp: Context::startSetExpire NEW.
+ cpp: EngineInfo::Version::operator<= NEW.
+ cpp: EngineInfo::Version::operator>= NEW.
+ cpp: EngineInfo::Version::operator!= NEW.
+ cpp: StatusConsumer NEW.
+ cpp: StatusConsumerAssuanTransaction NEW.
+ cpp: Context::cancelPendingOperationImmediately NEW.
+ cpp: Context::revokeSignature NEW.
+ cpp: Context::startRevokeSignature NEW.
+ cpp: UserID::Signature::operator< NEW.
+ qt: operator<<(QDebug debug, const GpgME::Error &err) NEW.
+ qt: QuickJob::startRevokeSignature NEW.
+ qt: QuickJob::result CHANGED: Made params 'auditLogAsHtml'
+ and 'auditLogError' optional.
+
+ [c=C35/A24/R0 cpp=C18/A12/R0 qt=C12/A5/R0]
+
+ Release-info: https://dev.gnupg.org/T5131
+
+
+Noteworthy changes in version 1.14.0 (2020-07-16)
+-------------------------------------------------
+
+ * New keylist mode to force the engine to return the keygrip. [#4820]
+
+ * New export mode to export as OpenSSH public key. [#4310]
+
+ * New context flag "extended-edit" to enable expert key edit. [#4734]
+
+ * Deprecate the anyway non working trustlist functions. [#4834]
+
+ * cpp: Add convenience API to obtain remarks. [#4734]
+
+ * cpp: The sign key edit-interactor now supports multiple signatures
+ from the same key. [#4734]
+
+ * qt: Extended signkeyjob to handle remarks and multiple signatures.
+ [#4734]
+
+ * qt: Added job API for gpg-card.
+
+ * qt: The logging category has been changed to gpg.qgpgme to be more
+ consistent with other qt logging categories.
+
+ * Interface changes relative to the 1.13.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ GPGME_KEYLIST_MODE_WITH_KEYGRIP NEW.
+ GPGME_EXPORT_MODE_SSH NEW.
+ gpgme_user_id_t EXTENDED: New field 'uidhash'.
+ cpp: UserID::remark NEW.
+ cpp: UserID::remarks NEW.
+ cpp: GpgSignKeyEditInteractor::setDupeOk NEW.
+ cpp: Context::exportPublicKeys EXTENDED: New param 'flags'.
+ cpp: Context::startPublicKeyExport EXTENDED: New param 'flags'.
+ cpp: Context::ExportMode NEW.
+ qt: SignKeyJob::setDupeOk NEW.
+ qt: SignKeyJob::setRemark NEW.
+ qt: GpgCardJob NEW.
+ qt: ExportJob::setExportFlags NEW.
+
+ [c=C34/A23/R0 cpp=C17/A11/R0 qt=C11/A4/R0]
+
+ Release-info: https://dev.gnupg.org/T4996
+
+
+Noteworthy changes in version 1.13.1 (2019-06-13)
+-------------------------------------------------
+
+ * cpp: gpgme_set_global_flag is now wrapped. [#4471]
+
+ * w32: Improved handling of unicode install paths. [#4453]
+
+ * w32: The gpgme_io_spawn error message is now only shown once. [#4453]
+
+ * Fixed a crash introduced in 1.13.0 when working with S/MIME. [#4556]
+
+ * w32: Fixed format string errors introduced in 1.13.0 that could
+ cause crashes. [#4440]
+
+ * w32: Fixed an error in the new diagnostic gpgsm support introduced
+ in 1.13.0 that caused crashes in low fd scenarios. [#4439]
+
+ * python: Fixed a DecryptionError Exception. [#4478]
+
+ * python: No longer raises BadSignatures from decrypt(verify=True).
+ [#4276]
+
+ * Interface changes relative to the 1.13.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ cpp: setGlobalFlag NEW.
+
+ [c=C33/A22/R1 cpp=C16/A10/R0 qt=C10/A3/R4]
+
+ Release-info: https://dev.gnupg.org/T4551
+
+
+Noteworthy changes in version 1.13.0 (2019-03-26)
+-------------------------------------------------
+
+ * Support GPGME_AUDITLOG_DIAG for gpgsm. [#4426]
+
+ * New context flag "trust-model".
+
+ * Removed support for WindowsCE and Windows ME.
+
+ * Aligned the gpgrt-config code with our other libaries.
+
+ * Auto-check for all installed Python versions. [#3354]
+
+ * Fixed generating card key in the C++ bindings. [#4428]
+
+ * Fixed a segv due to bad parameters in genkey. [#4192]
+
+ * Fixed crash if the plaintext is ignored in a CMS verify.
+
+ * Fixed memleak on Windows. [T4238]
+
+ * Tweaked the Windows I/O code.
+
+ * Fixed random crashes on Windows due to closing an arbitrary
+ handle. [#4237]
+
+ * Fixed a segv on Windows. [#4369]
+
+ * Fixed test suite problems related to dtags. [#4298]
+
+ * Fixed bunch of python bugs. [#4242,commit 9de1c96ac3cf]
+
+ * Several fixes to the Common Lisp bindings.
+
+ * Fixed minor bugs in gpgme-json. [#4331,#4341,#4342,#4343
+
+ * Require trace level 8 to dump all I/O data.
+
+ * The compiler must now support variadic macros.
+
+ * Interface changes relative to the 1.12.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_set_ctx_flag EXTENDED: New flag 'trust-model'.
+ cpp: Context::create NEW.
+ cpp: Key::isBad NEW.
+ cpp: Subkey::isBad NEW.
+ cpp: UserID::isBad NEW.
+ cpp: UserID::Signature::isBad NEW.
+ cpp: GenCardKeyInteractor::setAlgo NEW.
+
+ [c=C33/A22/R0 cpp=C15/A9/R0 qt=C10/A3/R3]
+
+ Release-info: https://dev.gnupg.org/T4376
+
+
+Noteworthy changes in version 1.12.0 (2018-10-08)
+-------------------------------------------------
+
+ * Enhanced the JSON based interface tool gpgme-json to support Native
+ Messaging as well as new Javascript code to support the browser
+ site. See lang/js/README for details.
+
+ * Major overhaul of the Python language bindings documentation.
+
+ * Even for old versions of gpg a missing MDC will now lead to a
+ decryption failure.
+
+ * Added context flag "auto-key-locate" to control the
+ behavior of GPGME_KEYLIST_MODE_LOCATE.
+
+ * New data function to create a data object from an estream.
+
+ * Add more interfaces to the C++ bindings.
+
+ * Improved error codes on decryption failure.
+
+ * Lots of minor fixes.
+
+ * Interface changes relative to the 1.11.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_data_new_from_estream NEW.
+ gpgme_decrypt_result_t EXTENDED: New field legacy_cipher_nomdc.
+ gpgme_set_ctx_flag EXTENDED: New flag 'ignore-mdc-error'.
+ GPGME_AUDITLOG_DEFAULT NEW.
+ GPGME_AUDITLOG_DIAG NEW.
+ gpgme_set_ctx_flag EXTENDED: New flag 'auto-key-locate'.
+ cpp: DecryptionResult::sessionKey NEW.
+ cpp: DecryptionResult::symkeyAlgo NEW.
+ cpp: DecryptionResult::isLegacyCipherNoMDC New.
+ cpp: Data::rewind NEW.
+ cpp: Context::setFlag NEW.
+ cpp: Context::getFlag NEW.
+ cpp: Context::createKeyEx NEW.
+
+ [c=C32/A21/R0 cpp=C14/A8/R0 qt=C10/A3/R2]
+
+ Release-info: https://dev.gnupg.org/T4109
+
+
+Noteworthy changes in version 1.11.1 (2018-04-20)
+-------------------------------------------------
+
+ * Fixed build problems in the 1.11.0 release.
+
+ * Added C++ interfaces which were planned for 1.11.0.
+
+ * Interface changes relative to the 1.10.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ cpp: Key::origin NEW.
+ cpp: Key::lastUpdate NEW.
+ cpp: UserID::origin NEW.
+ cpp: UserID::lastUpdate NEW.
+
+ [c=C31/A20/R1 cpp=C13/A7/R0 qt=C10/A3/R2]
+
+
+Noteworthy changes in version 1.11.0 (2018-04-18)
+-------------------------------------------------
+
+ * New encryption API to support direct key specification including
+ hidden recipients option and taking keys from a file. This also
+ allows to enforce the use of a subkey.
+
+ * New encryption flag for the new API to enforce the use of plain
+ mail addresses (addr-spec).
+
+ * The import API can now tell whether v3 keys are skipped. These old
+ and basically broken keys are not anymore supported by GnuPG 2.1.
+
+ * The decrypt and verify API will now return the MIME flag as
+ specified by RFC-4880bis.
+
+ * The offline mode now has an effect on gpg by disabling all network
+ access. [#3831]
+
+ * A failed OpenPGP verification how returns the fingerprint of the
+ intended key if a recent gpg version was used for signature
+ creation.
+
+ * New tool gpgme-json as native messaging server for web browsers.
+ As of now public key encryption and decryption is supported.
+ Requires Libgpg-error 1.29.
+
+ * New context flag "request-origin" which has an effect when used
+ with GnuPG 2.2.6 or later.
+
+ * New context flag "no-symkey-cache" which has an effect when used
+ with GnuPG 2.2.7 or later.
+
+ * New convenience constant GPGME_KEYLIST_MODE_LOCATE.
+
+ * Improved the Python documentation.
+
+ * Fixed a potential regression with GnuPG 2.2.6 or later.
+
+ * Fixed a crash in the Python bindings on 32 bit platforms. [#3892]
+
+ * Various minor fixes.
+
+ * Interface changes relative to the 1.10.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_op_encrypt_ext NEW.
+ gpgme_op_encrypt_ext_start NEW.
+ gpgme_op_encrypt_sign_ext NEW.
+ gpgme_op_encrypt_sign_ext_start NEW.
+ GPGME_ENCRYPT_WANT_ADDRESS NEW.
+ GPGME_KEYLIST_MODE_LOCATE NEW.
+ gpgme_import_result_t EXTENDED: New field 'skipped_v3_keys'.
+ gpgme_decrypt_result_t EXTENDED: New field 'symkey_algo'.
+ gpgme_decrypt_result_t EXTENDED: New field 'is_mime'.
+ gpgme_verify_result_t EXTENDED: New field 'is_mime'.
+ cpp: Key::locate NEW.
+ cpp: Data::toString NEW.
+ cpp: ImportResult::numV3KeysSkipped NEW.
+
+ [c=C31/A20/R0 cpp=C12/A6/R0 qt=C10/A3/R1]
+
+
+Noteworthy changes in version 1.10.0 (2017-12-12)
+-------------------------------------------------
+
+ * Now returns more specific error codes for decryption to distinguish
+ between bad passphrase, user canceled, and no secret key.
+
+ * Now returns key origin information if available.
+
+ * Added context flag "auto-key-retrieve" to selectively enable the
+ corresponding gpg option.
+
+ * Added flag is_de_vs to decryption and verify results.
+
+ * py: Use SEEK_SET as default for data.seek.
+
+ * cpp: Various new APIs.
+
+ * Reduced spawn overhead on Linux again. Added new configure option
+ --disable-linux-getdents to disable this feature for very old
+ Linux versions.
+
+ * Improved the Python bindings build system.
+
+ * Made the test suite less fragile.
+
+ * Interface changes relative to the 1.9.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_decrypt_result_t EXTENDED: New field 'is_de_vs'.
+ gpgme_signature_t EXTENDED: New field 'is_de_vs'.
+ gpgme_keyorg_t NEW.
+ gpgme_op_delete_ext NEW.
+ gpgme_op_delete_ext_start NEW.
+ GPGME_DELETE_ALLOW_SECRET NEW.
+ GPGME_DELETE_FORCE NEW.
+ gpgme_op_conf_dir NEW.
+ gpgme_set_ctx_flag EXTENDED: New flag 'auto-key-retrieve'.
+ cpp: DecryptionResult::isDeVs NEW.
+ cpp: Signature::isDeVs NEW.
+ cpp: EngineInfo::Version::operator> NEW.
+ cpp: Context::createKey NEW.
+ cpp: Context::startCreateKey NEW.
+ cpp: Context::createSubkey NEW.
+ cpp: Context::startCreateSubkey NEW.
+ qt: QuickJob NEW.
+ py: DecryptResult EXTENDED: New boolean field 'is_de_vs'.
+ py: Signature EXTENDED: New boolean field 'is_de_vs'.
+ py: GpgError EXTENDED: Partial results in 'results'.
+
+ [c=C30/A19/R0 cpp=C11/A5/R0 qt=C10/A3/R0]
+
+
+Noteworthy changes in version 1.9.0 (2017-03-28)
+------------------------------------------------
+
+ * Clarified meaning of the 'expire' parameter of gpgme_op_createkey
+ and gpgme_op_createsubkey. New flag to force a key without an
+ expiration date.
+
+ * New function gpgme_op_keylist_from_data_start to list keys from
+ data objects without importing them.
+
+ * New function gpgme_op_set_uid_flag to flag a key as primary.
+
+ * New function gpgme_op_decrypt_ext to run decryption with special
+ flags. This can for example be used to unwrap keys (remove only
+ the encryption layer).
+
+ * New encryption flags to wrap a key (adding an encryption layer to
+ an OpenPGP message) or to create anonymously encrypted messages.
+
+ * Support for adduid and revuid operations in the C++ bindings.
+
+ * Support for smartcard key generation in the C++ bindings.
+
+ * Several new functions for the Python binding.
+
+ * Many smaller bug fixes.
+
+ * Interface changes relative to the 1.8.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_op_createkey CHANGED: Meaning of 'expire' parameter.
+ gpgme_op_createsubkey CHANGED: Meaning of 'expire' parameter.
+ GPGME_CREATE_NOEXPIRE NEW.
+ gpgme_key_t EXTENDED: New field 'origin'.
+ gpgme_key_t EXTENDED: New field 'last_update'.
+ gpgme_subkey_t EXTENDED: New field 'is_de_vs'.
+ gpgme_user_id_t EXTENDED: New field 'origin'.
+ gpgme_user_id_t EXTENDED: New field 'last_update'.
+ gpgme_op_keylist_from_data_start NEW.
+ gpgme_op_set_uid_flag_start NEW.
+ gpgme_op_set_uid_flag NEW.
+ gpgme_op_decrypt_ext_start NEW.
+ gpgme_op_decrypt_ext NEW.
+ GPGME_ENCRYPT_THROW_KEYIDS NEW.
+ GPGME_ENCRYPT_WRAP NEW.
+ GPGME_DECRYPT_VERIFY NEW.
+ GPGME_DECRYPT_UNWRAP NEW.
+ gpgme_data_rewind UN-DEPRECATE.
+ cpp: Context::revUid(const Key&, const char*) NEW.
+ cpp: Context::startRevUid(const Key&, const char*) NEW.
+ cpp: Context::addUid(const Key&, const char*) NEW.
+ cpp: Context::startAddUid(const Key&, const char*) NEW.
+ cpp: Key::UserID::revoke() NEW.
+ cpp: Key::addUid() NEW.
+ cpp: Key::isDeVs NEW.
+ cpp: GpgGenCardKeyInteractor NEW.
+ cpp: Subkey::keyGrip NEW.
+ cpp: Subkey::isDeVs NEW.
+ cpp: Data::toKeys NEW.
+ cpp: Context::setDecryptFlags NEW.
+ cpp: Context::decrypt EXTENDED: Flags added.
+ cpp: Context::startDecrypt EXTENDED: Flags added.
+ cpp: Context::decryptAndVerify EXTENDED: Flags added.
+ cpp: Context::startCombinedDecryptionAndVerification EXTENDED: Flags.
+ cpp: Context::encryptFlags EXTENDED: New flags.
+ qt: CryptoConfig::stringValueList() NEW.
+ py: Context.__init__ EXTENDED: New keyword arg home_dir.
+ py: Context.home_dir NEW.
+ py: Context.keylist EXTENDED: New keyword arg mode.
+ py: Context.keylist EXTENDED: New keyword arg source.
+ py: Context.create_key NEW.
+ py: Context.create_subkey NEW.
+ py: Context.key_add_uid NEW.
+ py: Context.key_revoke_uid NEW.
+ py: Context.key_sign NEW.
+ py: Context.key_tofu_policy NEW.
+ py: core.pubkey_algo_string NEW.
+ py: core.addrspec_from_uid NEW.
+
+ [c=C29/A18/R0 cpp=C10/A4/R0 qt=C9/A2/R0]
+
+
+Noteworthy changes in version 1.8.0 (2016-11-16)
+------------------------------------------------
+
+ * The module of the Python bindings has been renamed to 'gpg'.
+
+ * New interface to query current software versions.
+
+ * New feature to use gpg's --{show,override}session-key options.
+
+ * New interface to set the sender of a mail.
+
+ * qt: Added Distinguished Name parser from libkleo
+
+ * The --homedir option is now used with recent gpgconf versions.
+
+ * On 64 bit Windows systems gpgconf is now properly located.
+
+ * The internal locking functions have been replaced by libgpg-error
+ locking functions.
+
+ * Interface changes relative to the 1.7.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_set_sender NEW.
+ gpgme_get_sender NEW.
+ gpgme_op_query_swdb NEW.
+ gpgme_op_query_swdb_result NEW.
+ gpgme_query_swdb_result_t NEW.
+ gpgme_get_ctx_flag NEW.
+ gpgme_decrypt_result_t EXTENDED: New field session_key.
+ qt: DN NEW.
+ qt: DN::Attribute NEW.
+ qt: Job::context(Job*) NEW.
+ cpp: EngineInfo::Version::Version(const char*) NEW.
+ cpp: EngineInfo::Version::Version() NEW.
+ cpp: SwdbResult NEW.
+ cpp: Context::setSender(const char*) NEW.
+ cpp: Context::getSender() NEW.
+
+ [c=C28/A17/R0 cpp=C9/A3/R0 qt=C8/A1/R0]
+
+
+Noteworthy changes in version 1.7.1 (2016-10-18)
+------------------------------------------------
+
+ * Fixed problems with the new language bindings.
+
+ * New helper function gpgme_addrspec_from_uid.
+
+ * Use option --exit-on-status-write-error with newer gpg versions.
+
+ * qt: Missed API from the Qt Binding inclusion has
+ been added again.
+
+ * qt: abstractimportjob.h is now installed to that
+ ImportJobs can be used again.
+
+ * qt: Fixed spelling error in API (startReceive).
+
+ * Interface changes relative to the 1.7.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_addrspec_from_uid NEW.
+ qt: WksPublishJob::startRecieve RENAMED to ::startReceive.
+ qt: MultiDeleteJob NEW.
+ qt: AbstractImportJob NEW.
+ qt: SpecialJob NEW.
+ cpp: Signature::key(bool, bool) NEW.
+ cpp: UserID::addrSpecFromString(const char*) NEW.
+ cpp: UserID::addrSpec() NEW.
+
+ [c=C27/A16/R0 cpp=C8/A2/R0 qt=C7/A0/R0]
+
+
+Noteworthy changes in version 1.7.0 (2016-09-21)
------------------------------------------------
* New language bindings for Python 2 and 3.
GPGME_KEYSIGN_LFSEP NEW.
GPGME_INTERACT_CARD NEW.
+ [c=C26/A15/R0 cpp=C6/A0/R1 qt=C6/A0/R1]
+
Noteworthy changes in version 1.6.0 (2015-08-26) [C25/A14/R0]
------------------------------------------------
* The passphrase handler for the loopback mode has been improved and may
also be used with genkey.
- * [w32] The standard GnuPG 2.1 install directory is now seached for
+ * [w32] The standard GnuPG 2.1 install directory is now searched for
gpgconf.exe before a registry specified directory and the Gpg4win
install directory.
------------------------------------------------
* SIGPIPE is now again ignored as described in the manual. Fixes
- regresion introduced with 1.1.6.
+ regression introduced with 1.1.6.
Noteworthy changes in version 1.1.7 (2008-10-17)
* Previousy, GPGME would use a default "include certs" of 1. This
has been changed. Now GPGME will use the crypto backend engines
default unless you set the value with gpgme_set_include_certs()
- explicitely. A new macro GPGME_INCLUDE_CERTS_DEFAULT can be used
- as a value to explicitely request the new default behaviour.
+ explicitly. A new macro GPGME_INCLUDE_CERTS_DEFAULT can be used
+ as a value to explicitly request the new default behaviour.
Because the default changes, this is a slight change of the API
semantics. We consider it to be a bug fix.
disabled in the gpgme_key_t structures.
* A bug fix: The flag wrong_key_usage of gpgme_signature_t was
- accidently of type int instead unsigned int.
+ accidentally of type int instead unsigned int.
* Interface changes relative to the 0.4.5 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The error values have been completely replaced by a more
sophisticated model that allows GPGME to transparently and accurately
- report all errors from the other GnuPG components, irregardless of
+ report all errors from the other GnuPG components, regardless of
process boundaries. This is achieved by using the library
libgpg-errors, which is shared by all GnuPG components. This library
is now required for GPGME.
selects between local keyring, remote keyserver, or both.
For this, two new macros are defined, GPGME_KEYLIST_MODE_LOCAL
and GPGME_KEYLIST_MODE_EXTERN. To make it possible to modify the
- current setting, a fucntion gpgme_get_keylist_mode was added to
+ current setting, a function gpgme_get_keylist_mode was added to
retrieve the current mode.
* gpgme_wait accepts a new argument STATUS to return the error status