+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)
-------------------------------------------------
* 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