2022-02-07  Werner Koch  <wk@gnupg.org>

	Release 1.17.0.
	+ commit 72bb46b34f5191f672a5356e2f152e6ad9440554


	qt: Fix build for older Qt versions.
	+ commit 451a42f0d21c5a402d455c78d63eeaaa139e56cc
	* lang/qt/src/util.cpp: Include <functional>.

2022-02-03  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add job to import keys given by key ids.
	+ commit ca1c30b6fa29a7a1f18ecda14375b47893a0c1a3
	* lang/qt/src/receivekeysjob.h, lang/qt/src/qgpgmereceivekeysjob.h,
	lang/qt/src/qgpgmereceivekeysjob.cpp: New.
	* lang/qt/src/protocol.h (class Protocol): Add pure virtual member
	function receiveKeysJob.
	* lang/qt/src/protocol_p.h (Protocol::receiveKeysJob): Implement it.
	* lang/qt/src/job.cpp, lang/qt/src/Makefile.am: Update accordingly.

	* lang/qt/tests/run-receivekeysjob.cpp: New.
	* lang/qt/tests/Makefile.am: Add new test runner.

	qt: Add helper for converting QStringList to vector of strings.
	+ commit ec8d1ee13fce21a1f52b084212827914dfcd0db6
	* lang/qt/src/util.h, lang/qt/src/util.cpp: New.
	* lang/qt/src/Makefile.am (qgpgme_sources, private_qgpgme_headers):
	Add new files.

	cpp: Allow import of keys given by key ids.
	+ commit bbaeeb5b9d5cca99c332cb88c7ae5f14e8745427
	* lang/cpp/src/context.h (class Context): Add overloads of member
	functions importKeys and startKeyImport
	* lang/cpp/src/context.cpp (class Context): ... and implement them.

	cpp: Add internal adapter for passing a vector of strings to gpgme.
	+ commit 3d7810e8d940229435feb8f9811607ee831abf4b
	* lang/cpp/src/util.h (class StringsToCStrings): New.
	* lang/cpp/src/util.cpp: New.
	* lang/cpp/src/Makefile.am: Add new file.

	core: New function gpgme_op_receive_keys.
	+ commit 3c2cff74b535422532e1256ee8177fa9c03eaf18
	* src/gpgme.h.in (gpgme_op_receive_keys_start, gpgme_op_receive_keys):
	New.
	* src/gpgme.def, src/libgpgme.vers: Add them.
	* src/engine-backend.h (struct engine_ops): Add arg keyids to field
	'import'.
	* src/engine.h, src/engine.c (_gpgme_engine_op_import): Add arg keyids.
	* src/engine.c (_gpgme_engine_op_import): Forward new arg keyids.
	* src/import.c: (_gpgme_op_import_start, _gpgme_op_import_keys_start):
	Pass NULL to new arg of _gpgme_op_import_start.
	(_gpgme_op_receive_keys_start, gpgme_op_receive_keys_start,
	gpgme_op_receive_keys): New.
	* src/engine-gpg.c (gpg_import): Add arg keyids. Extend check for
	valid arguments. Build command line if keyids are given.
	* src/engine-gpgsm.c (gpgsm_import): Add arg keyids. Return error if
	keyids is not NULL.

	tests/run-receive-keys.c: New.
	tests/Makefile.am (noinst_PROGRAMS): Add new test runner.

2022-01-17  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Remove superfluous include.
	+ commit ec71eb1d7d9f1156cc48d1c9959b07981ecd16e5
	* lang/qt/src/importjob.h: Remove include of QByteArray.

	qt: Fix build without installed GpgME++ headers.
	+ commit 9c03bde06be97403a8c392a3befc6c203bcdce6d
	* lang/qt/src/importjob.h, lang/qt/src/wkdlookupresult.h: Include
	headers of GpgME++ without "gpgme++/" prefix when building QGpgme.
	* lang/qt/src/qgpgmeimportjob.cpp, lang/qt/src/qgpgmewkdlookupjob.cpp,
	lang/qt/src/wkdlookupresult.cpp, lang/qt/tests/t-import.cpp: Include
	headers of GpgME++ without "gpgme++/" prefix.

2022-01-13  Ingo Klöcker  <dev@ingo-kloecker.de>

	tests: Fix generation of keys without expiration.
	+ commit e16729edcbdf2c35e3729b6d54c21b9b27250326
	* tests/run-genkey.c (parse_expire_string): Support default expiration
	and no expiration. Set flag for no expiration.
	(main): Allow update of flags when generating new key.

	tests: Remove unsupported option --status from usage help.
	+ commit e4625885a851112a15636727388f11146be17f15
	* tests/run-swdb.c (show_usage): Remove option --status.

	qt: Add job to add existing subkeys to other keys.
	+ commit 4d913a8aa5dad1327bed5987dada89e9d7c5d292
	* lang/qt/src/addexistingsubkeyjob.h,
	lang/qt/src/qgpgmeaddexistingsubkeyjob.cpp,
	lang/qt/src/qgpgmeaddexistingsubkeyjob.h: New.
	* lang/qt/src/protocol.h (class Protocol): Add pure virtual member
	function addExistingSubkeyJob.
	* lang/qt/src/protocol_p.h (Protocol::addExistingSubkeyJob): Implement.
	* lang/qt/src/job.cpp, lang/qt/src/Makefile.am: Update accordingly.

	* lang/qt/tests/Makefile.am (the_tests, moc_files, noinst_PROGRAMS):
	Add new test.
	(t_addexistingsubkey_SOURCES): New.
	* lang/qt/tests/t-addexistingsubkey.cpp: New.
	* lang/qt/tests/t-support.h (VERIFY_OR_RETURN_VALUE,
	COMPARE_OR_RETURN_VALUE, VERIFY_OR_OBJECT, COMPARE_OR_OBJECT,
	VERIFY_OR_FALSE, COMPARE_OR_FALSE): New.
	* lang/qt/tests/t-support.h, lang/qt/tests/t-support.cpp
	(class QQGpgMETest): New member function importSecretKeys.

	qt,tests: Add helper to hook up the test passphrase provider.
	+ commit d308910cdfb31accae7cf790a956eb2f3cc6ae71
	* lang/qt/tests/t-support.h, lang/qt/tests/t-support.cpp
	(class QGpgMETest): Add member function hookUpPassphraseProvider.
	Add member mPassphraseProvider.
	* lang/qt/tests/t-changeexpiryjob.cpp,
	lang/qt/tests/t-encrypt.cpp,
	lang/qt/tests/t-remarks.cpp,
	lang/qt/tests/t-tofuinfo.cpp,
	lang/qt/tests/t-trustsignatures.cpp,
	lang/qt/tests/t-various.cpp: Use new helper.

	qt,tests: Add asyncDone signal to base class of all tests.
	+ commit a54402fc2d1c1364843d3c88b5b07dbb7fc007d1
	* lang/qt/tests/t-support.h (class QGpgMETest): Add signal asyncDone.
	* lang/qt/tests/t-changeexpiryjob.cpp,
	lang/qt/tests/t-encrypt.cpp,
	lang/qt/tests/t-import.cpp,
	lang/qt/tests/t-keylist.cpp,
	lang/qt/tests/t-keylocate.cpp,
	lang/qt/tests/t-ownertrust.cpp,
	lang/qt/tests/t-remarks.cpp,
	lang/qt/tests/t-tofuinfo.cpp,
	lang/qt/tests/t-trustsignatures.cpp,
	lang/qt/tests/t-various.cpp,
	lang/qt/tests/t-wkdlookup.cpp,
	lang/qt/tests/t-wkspublish.cpp: Remove signal asyncDone from the test
	classes.

2022-01-12  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add interactor to add existing subkeys to other keys.
	+ commit a4dcb17486bb42890ffe6453eeb2c6f301dc1fae
	* lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp,
	lang/cpp/src/gpgaddexistingsubkeyeditinteractor.h: New.
	* lang/cpp/src/Makefile.am: Add new files.

2022-01-10  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Return an error for secret key export operations.
	+ commit a527bd7cf58563d07c89bec458c8967ab1b3e60f
	src/export.c (export_status_handler): Handle "export_keys.secret".

2022-01-04  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add factory function for secret subkey export job.
	+ commit 04723a6e96be77dbc43bf71c54e268424a1823ba
	* lang/qt/src/protocol.h (class Protocol): Add member function
	secretSubkeyExportJob.
	* lang/qt/src/protocol_p.h (Protocol::secretSubkeyExportJob): Implement.

	* lang/qt/tests/run-exportjob.cpp (showUsageAndExitWithCode): Print
	new option.
	(createExportJob): Create secret subkey export job if requested.
	(main): New option --secret-subkey.

	cpp: Allow export of secret subkeys.
	+ commit e5c7fc3e022841be8f68fad8b9b64dd601b89ba7
	* lang/cpp/src/context.h (enum Context::ExportMode): Add value
	ExportSecretSubkey.
	(class Context): Add member functions exportSecretSubkeys and
	startSecretSubkeyExport.
	* lang/cpp/src/context.cpp (Context::exportPublicKeys,
	Context::startPublicKeyExport): Return error if ExportSecretSubkey
	mode flag is set.
	(Context::exportSecretSubkeys, Context::startSecretSubkeyExport):
	Implement.

	qt: Remove obsolete QGpgMESecretKeyExportJob.
	+ commit 88ad37ea96e4645a9e23aac9eae0d8da747559b8
	* lang/qt/src/Makefile.am: Remove all occurrences of
	qgpgmesecretkeyexportjob.*.
	* lang/qt/src/qgpgmesecretkeyexportjob.cpp,
	lang/qt/src/qgpgmesecretkeyexportjob.h: Remove.

	qt: Use QGpgMEExportJob also for export of secret keys.
	+ commit 4e80563fabfdf1d1c136d65252e5353fdd1e9092
	* lang/qt/src/protocol.h (Protocol::secretKeyExportJob): Document
	charset argument as ignored.
	* lang/qt/src/protocol_p.h (Protocol::secretKeyExportJob): Use
	QGpgMEExportJob instead of QGpgMESecretKeyExportJob.
	* lang/qt/src/qgpgmeexportjob.h (class QGpgMEExportJob): Add c'tor
	taking an export mode. Add member m_exportMode. Rename member m_flags to
	m_additionalExportModeFlags.
	(QGpgMEExportJob::~QGpgMEExportJob): Mark as override.
	* lang/qt/src/qgpgmeexportjob.cpp (QGpgMEExportJob::QGpgMEExportJob):
	Delegate to new c'tor. Implement new c'tor.
	(QGpgMEExportJob::~QGpgMEExportJob): Use default.
	(export_qba): Rename argument flags to mode.
	(QGpgMEExportJob::start): Pass combination of export mode and additional
	mode flags to export_qba.
	(QGpgMEExportJob::setExportFlags): Adapt to renaming of member.

	* lang/qt/tests/run-exportjob.cpp: New.

	cpp: Allow export of secret keys.
	+ commit 3da06d1096ee29d70656f07edcabc3bc4351104e
	* lang/cpp/src/context.h (class Context): New member functions
	exportSecretKeys, startSecretKeyExport, exportKeys, startKeyExport.
	(Context::exportPublicKeys, Context::startPublicKeyExport): Rename
	argument flags/export_mode to mode.
	* lang/cpp/src/context.cpp (Context::exportPublicKeys): Return error if
	ExportSecret mode flag is set. Call exportKeys().
	(Context::startPublicKeyExport): Return error if
	ExportSecret mode flag is set. Call startKeyExport().
	(Context::exportSecretKeys, Context::startSecretKeyExport,
	Context::exportKeys, Context::startKeyExport): Implement.

	cpp: Mark ExportNoUID flag as obsolete.
	+ commit 4888191014c24d5954685814e06c9ff0ee38739f
	* lang/cpp/src/context.h (enum Context::ExportMode): Mark value
	ExportNoUID as obsolete

	core: Add new option --secret-subkey to help texts.
	+ commit 2752e81f892568a9725fdd8d6a997a1cc80d2f88
	* src/gpgme-tool.c (hlp_export): Add new option.
	* tests/run-export.c (show_usage): Print new option.

	cpp: Remove obsolete workaround.
	+ commit fa5f1b57cc12f9305d112f11c2c2d95751ed1a25
	* lang/cpp/src/context.cpp (Context::startKeyListing,
	Context::exportPublicKeys, Context::startPublicKeyExport): Remove
	workaround.

	core: New export mode to export secret subkeys.
	+ commit 0e19c4879193ed7fa61ad5d488f237b2b5b5d1d7
	* src/gpgme.h.in (GPGME_EXPORT_MODE_SECRET_SUBKEY): New.
	* src/export.c (check_mode): Allow new mode and check for invalid
	combinations.
	(export_keys_start): Return error if new mode flag is set.
	* src/engine-gpg.c (export_common): Implement.
	* src/gpgme-tool.c (cmd_export): New option --secret-subkey.
	* tests/run-export.c (main): New option --secret-subkey.

	doc: Remove documentation of obsolete export mode flag.
	+ commit 414bbdd53c380018621a2a5800e9a9c46869a56e
	* doc/gpgme.texi: Remove GPGME_EXPORT_MODE_NOUID.

	core: Check for unsupported export mode flags.
	+ commit c710af223cc2476d5f4d46c00d8e0521f6c13211
	src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Return error if an
	unsupported mode flag is set.

	core: Check for combination of ssh mode with other mode flags.
	+ commit c0581adabe7f5f63c0b96dac449790aa6ac4c291
	* src/export.c (check_mode): Return error if ssh mode is combined with
	another mode flag.

	core: Factor out the check for valid export mode flags.
	+ commit 326857511587fa7878757d3884f91bf7eb86771c
	* src/export.c (check_mode): New.
	(export_start, export_ext_start): Call check_mode.

2021-12-22  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Detect an import error caused by a wrong password.
	+ commit 82f43455e9412d8b4792b35371e0b6704a619d07
	* lang/qt/src/qgpgmeimportjob.cpp (import_qba): Check import statuses of
	import result for bad passphrase errors.

	qt,tests: Add test runner for testing the import job.
	+ commit f99451e20fd2f84ac653aa6021a475026a9d4dc9
	* lang/qt/tests/Makefile.am (run_importjob_SOURCES): New.
	(noinst_PROGRAMS): Add run-importjob.
	* lang/qt/tests/run-importjob.cpp: New.

	cpp: Check fpr of import status for NULL.
	+ commit 300776f39165da068757864e9cb3029f06f3be5b
	* lang/cpp/src/importresult.cpp (GpgME::ImportResult::Private): Check
	fpr for NULL.

	core: Detect bad passphrase error on certificate import.
	+ commit 305d8668ca724982c50fe4e05315c48a20cc33e5
	* src/import.c (gpgme_op_import_result): Check fpr for NULL.
	(parse_error): New.
	(import_status_handler): Handle error status line.

	* doc/gpgme.texi (gpgme_import_status_t): Mention that fpr can be NULL.

	* tests/gpg/t-import.c (check_result): Check fpr for NULL.
	* tests/run-threaded.c (delete_impres): Check fpr for NULL.

2021-12-22  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update for newer autoconf.
	+ commit 0636e229d7edfcb0a357ffcce62079488be32495
	* configure.ac (AC_PREREQ): Require >= 2.69.
	(AC_CONFIG_HEADERS): Use it instead of AC_CONFIG_HEADER.

2021-12-15  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Allow specifying an import filter when importing keys.
	+ commit 619579bb172579d766956b5d1690d18934fd5986
	* lang/qt/src/importjob.cpp (struct ImportJobPrivate): Add member
	m_importFilter.
	* lang/qt/src/importjob.cpp, lang/qt/src/importjob.h (class ImportJob):
	Add member functions setImportFilter and importFilter.
	* lang/qt/src/qgpgmeimportjob.cpp (import_qba): Add arg importFilter
	and adjust the callers. Set import filter context flag.

	* lang/qt/tests/t-import.cpp (ImportTest): Add member function
	testImportWithImportFilter.

	qt: Avoid test failure when test is run multiple times.
	+ commit 3e81a4a336e093d075f83afe3e1bd26493e64cac
	* lang/qt/tests/t-import.cpp (ImportTest): Add member tempGpgHome and
	member function initTestCase.
	(keyFpr, keyData): Move to ImportTest::testImportWithKeyOrigin.

	qt: Fix erroneous reuse of JobPrivate objects.
	+ commit 3c770013d7233cb0a803251af54c0a2c1fb61e35
	* lang/qt/src/job.cpp (Job::~Job): Destroy JobPrivate object belonging
	to destroyed job.

2021-12-14  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Allow setting import filters when importing keys.
	+ commit d35d44efaf72f90ee4f92af8382c4bcb9982da3f
	* src/context.h (struct gpgme_context): New field import_filter.
	* src/engine-backend.h (struct engine_ops): Add arg import_filter to
	field 'import'.
	* src/engine-gpg.c (gpg_import): Add arg import_filter and pass option
	--import-filter with argument value to gpg. Adjust all callers.
	* src/engine-gpgsm.c (gpgsm_import): Add dummy arg import_filter.
	* src/gpgme.c (gpgme_release): Free 'import_filter'.
	(gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "import-filter".

	* tests/run-import.c (main): Add option --import-filter.

	qt: Add pattern used for WKD lookup to result.
	+ commit af820811ec7d0818f988cd728d745cede88ab45f
	* lang/qt/src/qgpgmewkdlookupjob.cpp (run_wkd_get): Change type of
	arg email.
	(lookup_keys): Add pattern to result.
	* lang/qt/src/wkdlookupresult.h (class WKDLookupResult): Add arg
	pattern to c'tors. Add member function pattern.
	* lang/qt/src/wkdlookupresult.cpp (class WKDLookupResult::Private):
	Add field pattern.
	(WKDLookupResult::WKDLookupResult): Pass pattern to pimpl.
	(WKDLookupResult::pattern): New.

	* lang/qt/tests/t-wkdlookup.cpp (testWKDLookupAsync, testWKDLookupSync,
	testLookupWithNoResultAsync): Check pattern.

	core: Set --key-origin option only if supported by gpg.
	+ commit fd680254dae58a6bf6fb83688bf7c849257688a4
	* src/engine-gpg.c (gpg_import): Do not pass --key-origin option to
	gpg if gpg is too old.

	qt: Allow setting key origin when importing keys.
	+ commit fd6bec617d8fb6ddcbc622a5d8cf94594a7d5520
	* lang/qt/src/Makefile.am (qgpgme_sources): Add importjob.cpp.
	* lang/qt/src/importjob.cpp: New.
	* lang/qt/src/importjob.h (class ImportJob): Add member functions
	setKeyOrigin, keyOrigin, keyOriginUrl.
	* lang/qt/src/qgpgmeimportjob.cpp (originToString): New.
	(import_qba): Set key origin context flag.
	(QGpgMEImportJob::start, QGpgMEImportJob::exec): Add options to call
	of import_qba.

	* lang/qt/tests/Makefile.am (the_tests, moc_files, noinst_PROGRAMS):
	Add new test.
	(t_import_SOURCES): New.
	* lang/qt/tests/t-import.cpp: New.

	qt,tests: Skip WKD lookup tests by default.
	+ commit 3a43d9dc67970db323c3e49eb964d52c4eb3ac6c
	* lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.h
	(class QGpgMETest): Add member function doOnlineTests.
	* lang/qt/tests/t-wkdlookup.cpp (testWKDLookupAsync, testWKDLookupSync,
	testLookupWithNoResultAsync): Skip tests if online tests are not
	enabled.

2021-12-13  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Allow specifiying a key origin when importing keys.
	+ commit 60880adafa93e1a1e8e9fecf03c14d56bbd55345
	* src/context.h (struct gpgme_context): New field key_origin.
	* src/engine-backend.h (struct engine_ops): Add arg key_origin to
	field 'import'.
	* src/engine-gpg.c (gpg_import): Add arg key_origin and pass option
	--key-origin with argument value to gpg. Adjust all callers.
	* src/engine-gpgsm.c (gpgsm_import): Add dummy arg key_origin.
	* src/gpgme.c (gpgme_release): Free 'key_origin'.
	(gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "key-origin".

	* tests/run-import.c (main): Add option --key-origin.
	* tests/gpg/t-import.c (main): Set and verify key origin.

	qt: Support WKD lookup without implicit import.
	+ commit ed7e7df2e14feb443e84d87e518ff61b1f7aa6d8
	* lang/qt/src/Makefile.am (qgpgme_sources): Add qgpgmewkdlookupjob.cpp,
	wkdlookupresult.cpp.
	(qgpgme_headers): Add wkdlookupjob.h, wkdlookupresult.h.
	(camelcase_headers): Add WKDLookupJob, WKDLookupResult.
	(private_qgpgme_headers): Add qgpgmewkdlookupjob.h.
	(qgpgme_moc_sources): Add qgpgmewkdlookupjob.moc, wkdlookupjob.moc.
	* lang/qt/src/job.cpp: Define c'tor and d'tor of WKDLookupJob.
	* lang/qt/src/protocol.h (Protocol::wkdLookupJob): New.
	* lang/qt/src/protocol_p.h (Protocol::wkdLookupJob): New.
	* lang/qt/src/qgpgmewkdlookupjob.cpp, lang/qt/src/qgpgmewkdlookupjob.h,
	lang/qt/src/wkdlookupjob.h, lang/qt/src/wkdlookupresult.cpp,
	lang/qt/src/wkdlookupresult.h: New.

	* lang/qt/tests/Makefile.am (EXTRA_DIST): Add final.test.
	(the_tests): New.
	(TESTS): Remove all t-*. Add $(the_tests) and final.test.
	(moc_files): Add t-wkdlookup.moc.
	(t_wkdlookup_SOURCES): New.
	(noinst_PROGRAMS): Add t-wkdlookup.
	* lang/qt/tests/final.test: New.
	* lang/qt/tests/t-support.h (QTest::toString): New template
	specialization for std::string.
	* lang/qt/tests/t-wkdlookup.cpp: New.

	qt: Fix example for using the asynchronous job API.
	+ commit 0e70a2313afbbaaec6859a1edb478587ff82a6b5
	* lang/qt/src/protocol.h (class Protocol): Fix API documentation.

2021-12-10  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp,tests: Add test runner for doing a WKD lookup without import.
	+ commit f3177d3ee0a1d30e15f33ff226b5e4c96b7610db
	* lang/cpp/tests/Makefile.am (run_wkdlookup_SOURCES, programs_unix):
	New.
	(noinst_PROGRAMS): Add $(programs_unix).
	* lang/cpp/tests/run-wkdlookup.cpp: New.

	cpp: Add new supported components to API docs of dirInfo()
	+ commit 5f1ba40116199cd77987c3c2797d600f6df018c2
	lang/cpp/src/global.h: Update API doc of dirInfo().

	core: Support all components with dirinfo()
	+ commit 0ac3679a74505b782388402b3743ee65c271340f
	* src/dirinfo.c (WANT_KEYBOXD_NAME, WANT_AGENT_NAME, WANT_SCDAEMON_NAME,
	WANT_DIRMNGR_NAME, WANT_PINENTRY_NAME): New.
	(dirinfo): Add fields keyboxd_name, agent_name, scdaemon_name,
	dirmngr_name, pinentry_name.
	(parse_output): Support "keyboxd", "gpg-agent", "scdaemon", "dirmngr",
	"pinentry".
	(get_gpgconf_item): Return new components.

	tests/t-engine-info.c (main): Add new components to the output.

2021-12-07  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Return engine info for engine used by the context.
	+ commit 0eddc867c31dd7239a1a9c4196bf8dc1372ea4b1
	lang/cpp/src/context.cpp (Context::engineInfo()): Return engine info
	for protocol of context.

	cpp: Factor out common code of GpgME::engineInfo() overloads.
	+ commit 1a1e9145877a60632346ae3ab68b1ae9d722a867
	* lang/cpp/src/context.cpp (get_engine_info, get_static_engine_info):
	New.
	(GpgME::engineInfo(GpgME::Protocol), GpgME::engineInfo(GpgME::Engine)):
	Use get_static_engine_info().

2021-11-25  Werner Koch  <wk@gnupg.org>

	core: Make the gpgconf option parsing of string types more robust.
	+ commit b8b49c11e95fd978a8a2eed23f191d087ab056da
	* src/engine-gpgconf.c (gpgconf_parse_option): Skip the string
	indicator if it is not the empty string.

	tests: Silence libtool warning on Windows.
	+ commit 43de18a292b29436783127bd6c275817f0cd86b7
	* tests/Makefile.am (AM_LDFLAGS): Use --no-fast-install on Windows.

	core: Support dirinfo("socketdir")
	+ commit eb37d6469e722ae5ff187962c216474b5ec476de
	* src/dirinfo.c (WANT_SOCKETDIR): New.
	(dirinfo): Add field socketdir.
	(parse_output): Support "socketdir".
	(get_gpgconf_item): Return socketdir.

	* tests/t-engine-info.c (main): Add socketdir to the output.

	* src/w32-util.c (_gpgme_create_process_utf8): Fix indentation.

2021-11-25  NIIBE Yutaka  <gniibe@fsij.org>

	posix: Use poll instead, when available, removing use of select.
	+ commit 8148237cb4ae20755c06a44d71761c7030973c3d
	* configure.ac (HAVE_POLL_H): Add the check.
	* src/ath.c [!HAVE_POLL_H] (ath_select): Enable conditionally.
	* src/posix-io.c [HAVE_POLL_H] (_gpgme_io_select_poll): Use poll.
	* tests/gpg/t-cancel.c [HAVE_POLL_H] (do_select): Use poll.
	* tests/gpg/t-eventloop.c [HAVE_POLL_H] (do_select): Use poll.

2021-11-12  NIIBE Yutaka  <gniibe@fsij.org>

	gpgme.pc: Fix library dependency and use of includedir, libdir.
	+ commit 4583ab77e5af3f0da5b307a169d07b58dddf652f
	* src/gpgme.pc.in (Require): Move gpg-error, libassuan to...
	(Requires.private): ... here.
	(Cflags): Add -I${includedir}.
	(Libs): Add -L${libdir}.

2021-11-12  NIIBE Yutaka  <gniibe@fsij.org>
	    Ben Kibbey  <bjk@luxsci.net>

	tests: Build using GPG_ERROR_MT_LIBS for thread use.
	+ commit 1cedac2bba246ff411843aaef10ca8ea0a0756cf
	* tests/gpg/Makefile.am (WITH_THREAD_CPPFLAGS): New.
	(WITH_THREAD_LDADD): New.
	(t_thread1_CPPFLAGS, t_thread_keylist_CPPFLAGS)
	(t_thread_keylist_verify_CPPFLAGS)
	(t_cancel_CPPFLAGS): Use WITH_THREAD_CPPFLAGS.
	(t_thread1_LDADD, t_thread_keylist_LDADD)
	(t_thread_keylist_verify_LDADD)
	(t_cancel_LDADD): Use WITH_THREAD_LDADD.

2021-11-11  NIIBE Yutaka  <gniibe@fsij.org>

	tests: Use GPG_ERROR_MT_LIBS for a test with threads.
	+ commit 8cd2fe7b3de4abd2331bcb637b7e2c26ce4faa29
	* tests/Makefile.am (run_threaded_CPPFLAGS): New.
	(run_threaded_LDADD): Replace GPG_ERROR_LIBS to GPG_ERROR_MT_LIBS.

2021-11-10  NIIBE Yutaka  <gniibe@fsij.org>

	libtool: Link without -flat_namespace for macOS.
	+ commit 50daf3d75d666d34fecc0dbecc31c51a7989eda3
	* m4/libtool.m4: Not setting 10.0 to MACOSX_DEPLOYMENT_TARGET when not
	defined.  Only specify -flat_namespace to linker for specific
	(older) versions and hosts.

2021-09-13  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Fix build against Qt 5.9.
	+ commit ab9bca09eb869b2013c85fee232f1e62aed925f6
	* lang/qt/tests/t-keylist.cpp (KeyListTest::testListAllKeysSync):
	Ensure same type for both arguments of QCOMPARE.
	* lang/qt/tests/t-various.cpp (TestVarious::testSetExpire):
	Ensure same type for both arguments of QCOMPARE.

2021-08-27  Werner Koch  <wk@gnupg.org>

	build: Fix make distcheck problem.
	+ commit aaf448b1e81e7421e539ac2deb9dc9d3d1459016
	* tests/start-stop-agent: Use -f with rm.  Also use cat instead of cp.

2021-08-27  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Expect UTF-8 on stderr on Windows.
	+ commit 8fe15462829b5049137b3f631564b72c4f63c5e2
	* lang/qt/src/threadedjobmixin.cpp (stringFromGpgOutput): Expect
	UTF-8.

	Add missing files for distribution.
	+ commit bc774104bbf461805f875c2bfd2d02aa6dd0945d
	* lang/qt/src/Makefile.am (private_qgpgme_headers): Add job_p.h
	* tests/gpg/Makefile.am (EXTRA_DIST): Add gpg.conf.in

2021-08-13  NIIBE Yutaka  <gniibe@fsij.org>

	core: Use flexible array member if compiler has support.
	+ commit 3c1c98a43413e429459ca7d3615659f8149534b8
	* configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Add.
	* src/engine-gpg.c (struct arg_and_data_s): Use FLEXIBLE_ARRAY_MEMBER.
	(_add_arg): Use offsetof instead of sizeof.
	(add_data): Likewise.

2021-08-03  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Fix results returned by gpgme_data_* functions.
	+ commit 7cfc93193d535ec5037e48b86544e1b4dbf949f6
	src/debug.h (TRACE_SYSRES_OFF_T, _trace_sysres_off_t,
	TRACE_SYSRES_SSIZE_T, _trace_sysres_ssize_t): New.
	src/data.c (gpgme_data_read, gpgme_data_write, gpgme_data_seek): Use
	appropriate new tracing macros instead of casting the results to int.

2021-07-27  Jiri Kucera  <sanczes@gmail.com>

	core: Support closefrom also for glibc.
	+ commit 4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e
	* src/posix-io.c (_gpgme_io_spawn): Use glibc's closefrom.

2021-07-08  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Ensure gpg.conf for tests is recreated if necessary.
	+ commit a5662a801fc11a533fb3b1a69a17e119064972a3
	* tests/gpg/gpg.conf.in: New.
	* tests/gpg/Makefile.am (gpg.conf): Copy gpg.conf.in instead of using
	echo to fill gpg.conf.

	Make sure expiration time is interpreted as unsigned number.
	+ commit 6a79e90dedc19877ae1c520fed875b57089a5425
	* lang/qt/tests/t-various.cpp (testSignKeyWithExpiration): Convert
	expiration time to uint_least32_t.

2021-06-29  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Allow retrieving the default value of a config entry.
	+ commit 12006a782900687a7f0158a3f931528cfc5ff451
	* lang/qt/src/cryptoconfig.cpp, lang/qt/src/cryptoconfig.h
	(CryptoConfigEntry::defaultValue): New.
	* lang/qt/src/qgpgmenewcryptoconfig.cpp,
	lang/qt/src/qgpgmenewcryptoconfig.h
	(QGpgMENewCryptoConfigEntry::defaultValue): New.
	* lang/qt/tests/t-config.cpp (CryptoConfigTest::testDefault()):
	Add test of CryptoConfigEntry::defaultValue(). Port away from deprecated
	CryptoConfig::entry overload.

2021-06-28  Ingo Klöcker  <dev@ingo-kloecker.de>

	Update NEWS.
	+ commit d8638ed0aa5bf7f970787155a35d37a4f5d320f8
	* NEWS: Add changes of ChangeExpiryJob.

	qt: Fix filenames in copyright headers.
	+ commit 9d2b876093c25f604d9efe2775143c8f0361916d
	* lang/qt/src/qgpgmechangeownertrustjob.h,
	lang/qt/tests/t-trustsignatures.cpp: Use correct filenames.

	qt: Add test for ChangeExpiryJob.
	+ commit 801acd89b234fcd7226f3fb39ec01634460cfa50
	* lang/qt/tests/Makefile.am (TESTS, moc_files, noinst_PROGRAMS): Add
	new test.
	(t_changeexpiryjob_SOURCES): New.
	* lang/qt/tests/t-changeexpiryjob.cpp: New.

	qt: Allow changing expiration date of primary key and all subkeys.
	+ commit 144d580607dd0b70bb20542e2f457153b9cc4ecb
	* lang/qt/src/Makefile.am (qgpgme_sources): Add changeexpiryjob.cpp.
	* lang/qt/src/changeexpiryjob.cpp: New.
	* lang/qt/src/changeexpiryjob.h (enum ChangeExpiryJob::Option,
	typedef ChangeExpiryJob::Options, ChangeExpiryJob::setOptions,
	ChangeExpiryJob::options): New.
	* lang/qt/src/qgpgmechangeexpiryjob.cpp (change_expiry): Update the
	expiration date of primary key and/or some/all subkeys.
	(QGpgMEChangeExpiryJob::start): Add options to call of change_expiry.
	(ChangeExpiryJob::start): Moved implementation to changeexpiryjob.cpp.

	qt: Add mechanism for missing d-pointer in Job.
	+ commit 3503816570a19352e4b8a81d1cd0f3a9337b8c55
	* lang/qt/src/job_p.h: New.
	* lang/qt/src/job.cpp (typedef JobPrivateHash, d_func, setJobPrivate,
	getJobPrivate): New.

2021-06-26  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Remove superfluous trailing ';'
	+ commit ade95b25ce473a3c9ebcb77b7bd76a2fa6ed2805
	lang/qt/src/signkeyjob.h (class SignKeyJob): Remove trailing ';' from
	inline implemented member functions

	core: Fix use-after-free issue in test.
	+ commit 81a33ea5e1b86d586b956e893a5b25c4cd41c969
	* tests/gpg/t-edit-sign.c (sign_key, verify_key_signature): New.
	(main): Factored out signing and verifying the result.

2021-06-24  Werner Koch  <wk@gnupg.org>

	Release 1.16.0.
	+ commit 1021c8645555502d914afffaa3707609809c9459


2021-06-22  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Extend SignKeyJob to create signatures with expiration date.
	+ commit ac4536990a4fed4a45a0851260c029e69d0cadf6
	* lang/qt/src/signkeyjob.h (SignKeyJob::setExpirationDate): New.
	* lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmesignkeyjob.cpp
	(QGpgMESignKeyJob::setExpirationDate): New.
	* lang/qt/src/qgpgmesignkeyjob.cpp (QGpgMESignKeyJob::Private): Add
	member m_expiration.
	(sign_key): Handle expiration date.
	(QGpgMESignKeyJob::start): Pass expiration date to sign_key.

	* lang/qt/tests/t-various.cpp
	(TestVarious::testSignKeyWithoutExpiration,
	TestVarious::testSignKeyWithExpiration): New.
	(TestVarious::initTestCase): Add "allow-weak-key-signatures" to
	gpg.conf.

	core: Allow specifying an expiration date for key signatures.
	+ commit 34d9defc42bacfaf2bb1ce70b2c3f0fdf0a106c3
	* src/context.h (struct gpgme_context): Add 'cert_expire'.
	* src/engine-gpg.c (append_args_from_cert_expire): New.
	(gpg_edit): Set option according to the new flag.
	* src/gpgme.c (gpgme_release): Free 'cert_expire'.
	(gpgme_set_ctx_flag, gpgme_get_ctx_flag): Add "cert-expire".

	* tests/gpg/Makefile.am (c_tests): Add new test.
	(gpg.conf): Write "allow-weak-key-signatures" to gpg.conf.
	* tests/gpg/t-edit-sign.c: New.

2021-06-21  Ingo Klöcker  <dev@ingo-kloecker.de>

	Update NEWS.
	+ commit ab1d4ef580794a86da754d516db35091f6997e2c
	* NEWS: Add news for recent changes

2021-06-18  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add missing }
	+ commit 5340bb7ccfa7086054823fac48d178e6206d66c0
	* lang/qt/src/qgpgmenewcryptoconfig.cpp (parseURL): Add missing }.

2021-06-17  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add some error logging.
	+ commit 72de06417e32bd6573acd0b73a72fcf98232fe81
	* lang/qt/src/qgpgmenewcryptoconfig.cpp (setURLValueList): Log error
	if setting config value failed.

	qt: Do not set empty base DN as query of keyserver URL.
	+ commit 1dca8c2b3c6d6aa3dfd4215c911207f08a3bf9f1
	* lang/qt/src/qgpgmenewcryptoconfig.cpp (parseURL): Only set non-empty
	base DN as URL query.

	qt: Fix API documentation.
	+ commit 0d03f31e07e683efbdb206cc3407bf222d71d8fe
	* lang/qt/src/signkeyjob.h (SignKeyJob::start,
	SignKeyJob::setUserIDsToSign, SignKeyJob::setCheckLevel): Fix
	documentation of parameters.

2021-06-14  Werner Koch  <wk@gnupg.org>

	core: New data flags "io-buffer-size" and "sensitive".
	+ commit fde20940b5ca6986dc12215209e8858601bb0c2e
	* src/data.c (_gpgme_data_release): Free buffers.
	(gpgme_data_seek): Adjust from renamed fields.
	(gpgme_data_set_flag): Implement new flags.
	(_gpgme_data_inbound_handler): Allow the use of a malloced buffer.
	(_gpgme_data_outbound_handler): Ditto.
	* src/data.h (BUFFER_SIZE): Move out of the struct definition.
	(struct gpgme_data): Remove pending filed and introduce inbound and
	outbound fields.

	* src/conversion.c (_gpgme_wipememory): New.  Taken from GnuPG.
	* src/cJSON.c (wipememory): Use this here too.

	* tests/run-decrypt.c (main): Add options "--large-buffers" and
	"--sensitive".

	core: Also detect AuthEnvelopedData (AEAD for CMS)
	+ commit ea290108e4df9f93eda79789d9cde5441d6bdd55
	* src/data-identify.c (basic_detection): Add OID.

2021-06-10  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Flush output after write for QProcess output.
	+ commit b3b75c37e2d3ef313031ceba8063feeccb0583ec
	* lang/qt/src/dataprovider.cpp (QIODeviceDataProvider::write): Call
	waitForBytesWritten.

	core,w32: Increase BUFFER_SIZE to 4096.
	+ commit ceb8387460b05de5c8cec6e02950176b09c4f38b
	* src/data.h (BUFFER_SIZE): Increase to 4096 for Windows.

2021-06-09  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Explicitly link libgpg-error.
	+ commit e6095e54718fe2463fb54adf5879d55e2fba4fef
	* lang/qt/src/Makefile.am (libqgpgme_la_LIBADD): Explicitly link
	gpg-error.

	core: Explicitly add GPG_ERROR_CFLAGS.
	+ commit 4041e2c62a10a149776a78e9221de6732693dad9
	* src/Makefile.am (AM_CFLAGS): Add GPG_ERROR_CFLAGS

2021-06-02  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add separate logging category for result of config loading.
	+ commit 5bc4e23a57f149c2a7008c1b88ab3d398ce75e9b
	* lang/qt/src/qgpgme_debug.h: Make include guard match file name.
	* lang/qt/src/qgpgme_debug.h, lang/qt/src/qgpgme_debug.cpp
	(QGPGME_CONFIG_LOADING_LOG): New.
	* lang/qt/src/qgpgmenewcryptoconfig.cpp
	(QGpgMENewCryptoConfig::reloadConfiguration): Use new logging category.

	core: Fix a few checks for number of fields in keylist result parser.
	+ commit 5512133de4e9bca2defb744e2b42e55b5487d72c
	* src/keylist.c (keylist_colon_handler): Check for correct number of
	fields.

2021-06-01  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add support for flags in LDAP server options.
	+ commit 27aa7c4a0fc8f7cef6219443cee0d040c2774746
	* lang/qt/src/qgpgmenewcryptoconfig.cpp (parseURL): Handle extended
	LDAP server option syntax.
	(portToString): New.
	(splitURL): Append flags to LDAP server option.

2021-05-28  Werner Koch  <wk@gnupg.org>

	tests: Improve the output of the run-keylist helper.
	+ commit 31eb45f01620d3e8811fe18460c281837bb3359f
	* tests/run-keylist.c (main): Print all infos from the primary key.

2021-05-27  NIIBE Yutaka  <gniibe@fsij.org>

	build: _DARWIN_C_SOURCE should be 1.
	+ commit 367b9e7488601cdf2cbec4d593a235c89f9a4281
	* configure.ac (*-apple-darwin*): Set _DARWIN_C_SOURCE 1.

	build: Update gpg-error.m4.
	+ commit 792a7e7f04ead7643561439b773e740549340b99
	* m4/gpg-error.m4: Update from libgpg-error.

2021-05-12  Werner Koch  <wk@gnupg.org>

	core: Allow for older compilers.
	+ commit aa98081356b5f7c9ef2422021e05aed01a7e4d46
	* tests/run-verify.c (main): Remove C99-only syntax.
	* tests/run-threaded.c (start_keylistings): Ditto.

	core: Make sure to stay ABI compatible.
	+ commit 88db69e1a964c9a36989e36fe5d972548432fb5c
	* src/gpgme.h.in (struct _gpgme_key_sig): Move trust_scope to the end
	of the struct.

2021-05-06  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Do not close stdout/stderr when destroying EditInteractor.
	+ commit 58a217b108e4c4c92306542bf9f2995254809ffb
	* lang/cpp/src/editinteractor.cpp (EditInteractor::Private): Initialize
	members 'state' and 'debug' in-class. Add member 'debugNeedsClosing'.
	(EditInteractor::Private::Private): Remove members initializers.
	Remember if 'debug' needs to be closed.
	(EditInteractor::Private::~Private): Only close 'debug' if it needs to
	be closed.

2021-05-05  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Extend SignKeyJob to create trust signatures.
	+ commit f0858e45b0be260730e742643e741547123d4287
	* lang/qt/src/signkeyjob.h (SignKeyJob::setTrustSignature): New.
	* lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmesignkeyjob.cpp
	(QGpgMESignKeyJob::setTrustSignature): New.
	* lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Handle trust signatures.
	(QGpgMESignKeyJob::start): Pass trust signature attributes to sign_key.
	(QGpgMESignKeyJob::setTrustSignature): New.

	qt: Pimpl QGpgMESignKeyJob.
	+ commit dae01f8185e0f1bc9c65d93078c7ccda0b79611f
	* lang/qt/src/qgpgmesignkeyjob.h: Remove unneeded includes. Include
	<memory>.
	(QGpgMESignKeyJob): Remove all member variables. Add pimpl pointer.
	* lang/qt/src/qgpgmesignkeyjob.cpp: Include <QString>. Don't include
	<memory>.
	(QGpgMESignKeyJob::Private): New.
	(QGpgMESignKeyJob::QGpgMESignKeyJob): Remove initialization of removed
	members. Initialize d.
	(QGpgMESignKeyJob::start, QGpgMESignKeyJob::setUserIDsToSign,
	QGpgMESignKeyJob::setCheckLevel, QGpgMESignKeyJob::setExportable,
	QGpgMESignKeyJob::setSigningKey, QGpgMESignKeyJob::setNonRevocable,
	QGpgMESignKeyJob::setRemark, QGpgMESignKeyJob::setDupeOk): Adapt to move
	of member variables to pimpl.

	cpp: Add support for trust signatures to sign key edit interactor.
	+ commit a8d7b9d16796efd6f21abaeb43ccaeb2388eb6e4
	* lang/cpp/src/gpgsignkeyeditinteractor.h,
	lang/cpp/src/gpgsignkeyeditinteractor.cpp
	(GpgSignKeyEditInteractor::setTrustSignatureTrust): New.
	(GpgSignKeyEditInteractor::setTrustSignatureDepth): New.
	(GpgSignKeyEditInteractor::setTrustSignatureScope): New.
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp
	(GpgSignKeyEditInteractor::Private::Private): Initialize new member.
	(makeTable): Add new transition. Fix typos in existing transitions.
	(GpgSignKeyEditInteractor::action): Handle SET_TRUST_VALUE,
	SET_TRUST_DEPTH, and SET_TRUST_REGEXP.

	cpp: Add getters for the attributes of a trust signature.
	+ commit e391a08c6f96cd2d93c49b888459ee3f42058118
	* lang/cpp/src/key.h (TrustSignatureTrust): New enum.
	* lang/cpp/src/key.h, lang/cpp/src/key.cpp
	(UserID::Signature::isTrustSignature): New.
	(UserID::Signature::trustValue): New.
	(UserID::Signature::trustDepth): New.
	(UserID::Signature::trustScope): New.

	core: Extend gpgme_key_sig_t with trust signature members.
	+ commit 276187f6b62a73e92b1c20f589510f80ab9e88d2
	* src/gpgme.h.in (struct _gpgme_key_sig): Add fields 'trust_depth',
	'trust_value', and 'trust_scope'.
	* src/key.c (gpgme_key_unref): Free trust_scope.
	* src/keylist.c (keylist_colon_handler): Set the fields.
	* tests/run-keylist.c (main): Print the fields.

2021-03-11  Werner Koch  <wk@gnupg.org>

	doc: Add MIT license notice.
	+ commit 3ffd7bd4039d90cd15fbf76f8c116814bffdab7c
	* LICENSES: New.

	core: New flag GPGME_KEYSIGN_FORCE.
	+ commit 0821e2b1495e8944a5a1b5ba20ad5f403dde0dd0
	* src/gpgme.h.in (GPGME_KEYSIGN_FORCE): New.
	* src/engine-gpg.c (gpg_keysign): Implement.

	* tests/run-keysign.c (show_usage): Add option --force

2021-03-05  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add method for getting config entries for components by entry name.
	+ commit fe900a41bf809b263f05d5df21b6ed7fbfb2bbbc
	* lang/qt/src/cryptoconfig.h, lang/qt/src/cryptoconfig.cpp
	(CryptoConfig::entry): Move implementation to cpp. Add overload not
	requiring a group name.

2021-02-01  Werner Koch  <wk@gnupg.org>

	core: Remove experimental feature GPGME_EXPORT_MODE_NOUID.
	+ commit c8fd8870b3bf089f99156448b7d1e59c1150f994
	* src/export.c (export_start): Remove GPGME_EXPORT_MODE_NOUID check.
	* src/engine-gpg.c (export_common): Ditto.

2021-01-08  Werner Koch  <wk@gnupg.org>

	Release 1.15.1.
	+ commit bb9880778fb16cdb6de83905e45bf6c965770013


	Make distcheck make target a bit more reliable.
	+ commit 133050b3fa28122a4b60dbbde698fb14379ccf95
	* Makefile.am (release): Do not pass --parallel

2021-01-05  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Make listing of signatures work if only secret keys are listed.
	+ commit 5137d7fc214d0d9dcb947ccdc32fa87979f9a6d0
	* src/engine-gpg.c (gpg_keylist_build_options): Add "--with-sig-check"
	argument if signatures shall be listed.
	* tests/gpg/t-keylist-secret-sig.c: New.
	* tests/gpg/Makefile.am (c_tests): Add new test.

2021-01-04  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add const-overload of UserID::Signature::operator<
	+ commit a6220adf3081c9c848f6d0a6fc3774cb168ccf9c
	lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::Signature::operator<):
	Add const-overload. Deprecate non-const overload.

2021-01-04  Andre Heinecke  <aheinecke@gnupg.org>

	Qt: Undeprecate QByteArray based start functs.
	+ commit 543e2106386f00ebecf7653e7896fa12a6e828ff
	* lang/qt/src/encryptjob.h, lang/qt/src/signjob.h (start):
	Undeprecate QByteArray based functions.

2020-12-03  NIIBE Yutaka  <gniibe@fsij.org>

	python: Fix key_export*.
	+ commit 7a4fe82a017b751ad756c93d2b9e31d7be045275
	* lang/python/src/core.py (key_export): Just raise an error.
	(key_export_minimal, key_export_secret): Ditto.

2020-11-24  NIIBE Yutaka  <gniibe@fsij.org>

	core: Call _gpgme_passphrase_status_handler when exporting keys.
	+ commit 53ac732bae46e1f883998e987fc84d4cababde12
	* src/export.c (export_status_handler): Call the handler.

2020-11-20  Andre Heinecke  <aheinecke@gnupg.org>

	Revert "cpp: Use portable off_t size_t"
	+ commit a5c4b030258714dd72a2e276114183309cad3ec3
	This reverts commit 88294023c196497cfa6737be262c8b0c09d2a3ce.

2020-11-20  NIIBE Yutaka  <gniibe@fsij.org>

	m4: Update with newer autoconf constructs.
	+ commit 4c6fd361593e22092770d120d68a18b4f70e0bb8
	* src/gpgme.m4: Replace AC_HELP_STRING to AS_HELP_STRING.

2020-11-18  Andre Heinecke  <aheinecke@gnupg.org>

	cpp: Use portable off_t size_t.
	+ commit 88294023c196497cfa6737be262c8b0c09d2a3ce
	* configure.ac: Configure cpp data.h.in
	* lang/cpp/src/Makefile.am: Generate data.h
	* lang/cpp/src/data.cpp, lang/cpp/src/data.h: Use portable
	types.
	* lang/qt/src/Makefile.am: Include build dir.
	* lang/qt/tests/makefile.am: Include build dir.

2020-11-18  Ingo Klöcker  <dev@ingo-kloecker.de>
	    Daniel Kahn Gillmor

	qt: Avoid empty "rem@gnupg.org" signature notations.
	+ commit 3c185c2159cdcc23f44773fe1cfb624b27598c80
	* lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Check remark for being
	an empty string instead of a null QString.

2020-11-18  NIIBE Yutaka  <gniibe@fsij.org>

