2025-05-19  Werner Koch  <wk@gnupg.org>

	Release 1.24.3.
	+ commit 6403435fa18758f44abdc679779de85201afc509


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

	cpp: Ensure correct expiration time on 32-bit arch with 64-bit time_t.
	+ commit f23cef6f66a44c5c1cc8717f74b658d14fde04e5
	* lang/cpp/src/key.cpp (Subkey::expirationTime): Cast away the
	signedness of _gpgme_subkey.expires before casting to time_t.

2025-04-15  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add missing transition, remove two ignored (and wrong) transitions.
	+ commit e327305b9669107235ebe5e1e929988c1adefce9
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable): Remove two
	transitions.  Add one transition.

	* lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable)
	<sign_uid.dupe_okay>: Add one more transition.

2025-04-11  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Validate the transition map.
	+ commit 64bb704a25ea1384666d5f0d5202363f4271d948
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable): Assert that
	all transitions go from one state to a different state.

	cpp: Ensure that all transitions go from one state to a different state.
	+ commit a4945675ece2c1e915fc49298adfd927737ede3d
	* src/gpgsignkeyeditinteractor.cpp (makeTable): Replace transitions from
	CONFIRM to CONFIRM with transitions from CONFIRM to CONFIRM2 and vice
	versa. Add transitions from CONFIRM2 to some other state for all
	transitions from CONFIRM to some other state.

2025-02-10  Werner Koch  <wk@gnupg.org>

	Release 1.24.2.
	+ commit 5214a34ba766d5eba4d0c1ce53be51e118382476


2025-02-04  Werner Koch  <wk@gnupg.org>

	core: Fix regression for RSA in gpgme_pubkey_algo_string.
	+ commit a6e8f961436dd470b819ff3fa3ed0da946dafc87
	* src/gpgme.c (gpgme_pubkey_algo_string): Consider all RSA variants.

2025-01-15  Ingo Klöcker  <dev@ingo-kloecker.de>

	build: Fix generation of ChangeLog on secondary working trees.
	+ commit f6403a998f812b95534c1b6911b4ae5590c0d970
	* Makefile.am (gen-ChangeLog): Use test -e instead of test -d to check
	for git working trees.

2025-01-15  NIIBE Yutaka  <gniibe@fsij.org>

	build: Remove defining GPG_ERR_ENABLE_ERRNO_MACROS.
	+ commit fa17f2aaedb50cb576c47b191b3599e384272bc2
	* configure.ac (GPG_ERR_ENABLE_ERRNO_MACROS): Remove.

2025-01-02  Ingo Klöcker  <dev@ingo-kloecker.de>

	tests,json: Prevent failing tests after 2027-05-15.
	+ commit b9f9e24c00448851027683757ee5cf3f8c569ff1
	* tests/json/key-with-revokers.asc: Replace with new public key.
	* tests/json/t-keylist-revokers.out.json: Update to new public key.

2024-12-04  Ingo Klöcker  <dev@ingo-kloecker.de>

	build,python: Fix uninstalling in distcheck.
	+ commit 7a42ec5d466dfb5d4571773e22a51d0786b76d85
	* lang/python/Makefile.am (uninstall-local): Get platlib path relative
	to data path.

	build,python: Add Python 3.13 and remove Python 3.8.
	+ commit 27da4ec6350d803354d691c06a31c47176ec1064
	* configure.ac: Look for Python 3.13. Don't look for Python 3.8 anymore.
	* lang/python/setup.py.in: Update Python versions in classifiers.
	* m4/python.m4: Add python3.13 as valid interpreter. Remove python3.8.

2024-12-04  Werner Koch  <wk@gnupg.org>
	    lgh1

	Add a configure test for gettid.
	+ commit 4a62318422ca3f0f72b6fd00031daba556a10687
	* configure.ac (HAVE_GETTID,HAVE_SYS_GETTID): New test.
	* src/debug.c: Include syscall.h if needed.
	(tid_log_callback) [HAVE_SYS_GETTID]: Use SYS_gettid

2024-11-14  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add Kyber algorithm.
	+ commit 56718f8d204f8a5895feb1a99c4b8ecd42b78010
	* lang/cpp/src/key.h (enum Subkey::PubkeyAlgo): Add AlgoKyber with
	same value as GPGME_PK_KYBER.

2024-11-14  Werner Koch  <wk@gnupg.org>

	Support the Kyber algorithm in key listings.
	+ commit 62b6c1f16ae0ed7b0eb1b095ee383aa0910314bb
	* src/gpgme.h.in (GPGME_PK_KYBER): New.
	* src/conversion.c (_gpgme_map_pk_algo): Handle Kyber.
	* src/gpgme.c (gpgme_pubkey_algo_string): Support Kyber.
	(gpgme_pubkey_algo_name): Add Kyber.

2024-11-06  Werner Koch  <wk@gnupg.org>

	Release 1.24.0.
	+ commit 98b10fbc63b323a146e66a2ea8f7ff8f216b31d7


2024-11-05  Werner Koch  <wk@gnupg.org>

	Include the full commit id.
	+ commit 0ad30e670aecce24eb1e59854d8f639ceb4009a6
	* autogen.sh: Update to version 2024-07-04 from libgpg-error.
	* configure.ac (BUILD_COMMITID): New.  Append to VERSION file.
	* src/version.c (cright_blurb): Use BUILD_COMMITID here.

2024-10-29  Werner Koch  <wk@gnupg.org>

	core: New context flags "known-notations".
	+ commit a304ec0ede937e21df5b4a311cbaf8d89f13ef59
	* src/gpgme.c (gpgme_set_ctx_flag): Add "known-notations".
	(gpgme_get_ctx_flag): Ditto.
	(gpgme_release): Free variable.
	* src/context.h (struct gpgme_context): Add "known_notations".

	* src/engine-gpg.c (struct engine_gpg): Add "known_notations".
	(gpg_release): Free variable.
	(gpg_set_engine_flags): Set variable.
	(add_known_notations): New.
	(gpg_decrypt, gpg_verify): Call function.

	* tests/run-decrypt.c (main): Add option --known-notations.
	* tests/run-verify.c (main): Ditto.

	core: Add new helper _gpgme_strtokenize.
	+ commit c835676f7dfe39830d5b0500ad2cb809832428d1
	* src/conversion.c (spacep): New.
	(_gpgme_strtokenize): New.

2024-10-23  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Fix typo.
	+ commit e656e51d535cdce2db3e1a4848029a2410c30108
	* lang/qt/src/Makefile.am (camelcase_headers): Fix typo in header name.

	qt: Put attributes before declarations.
	+ commit 7d02ba8a9308b25140f6d1b9a5ad5c14f0b36374
	* lang/qt/src/downloadjob.h (DownloadJob::start): Move QGPGME_DEPRECATED
	before the whole function declaration.

	cpp: Put attributes before declarations.
	+ commit c4b39a77950b3b737de06eca044b35a845fc6299
	* lang/cpp/src/key.h (UserID::Signature::Notation): Move
	GPGMEPP_DEPRECATED before the whole typedef declaration.
	* lang/cpp/src/verificationresult.h (Signature::Notation): Ditto.

	cpp: Add/change some includes.
	+ commit bff4b847fc6361c6027afc1e8c78aa7580e2a27c
	* lang/cpp/src/gpgaddexistingsubkeyeditinteractor.h,
	lang/cpp/src/gpgrevokekeyeditinteractor.h: Include <string>.
	* lang/cpp/src/key.h: Include <ctime> instead of <sys/time.h>.

2024-10-21  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add support for new flag fields beta_compliance.
	+ commit 2a0595906970505debf64e166b9a35cccbf1b424
	* lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h
	(class DecryptionResult): Add method isBetaCompliance.
	* lang/cpp/src/decryptionresult.cpp (operator<<): Add new flag.
	* lang/cpp/src/key.cpp, lang/cpp/src/key.h (class Key): Add method
	isBetaCompliance.
	(class Subkey): Add method isBetaCompliance.
	* lang/cpp/src/key.cpp:
	(Key::isDeVs): Remove duplicate check of is_de_vs of first subkey.
	(operator<<): Add new flag.
	* lang/cpp/src/verificationresult.cpp, lang/cpp/src/verificationresult.h
	(class Signature): Add method isBetaCompliance.
	* lang/cpp/src/verificationresult.cpp (operator<<): Add new flag.

2024-10-09  Tobias Fella  <tobias.fella@gnupg.com>

	core: fix passing --proc-all-sigs to gpgtar.
	+ commit 227c9c763b30072e9a58bbbe7f66056aa966378f
	* src/engine-gpg.c: Pass --gpg-args before passing --proc-all-sigs
	  if using gpgtar

2024-10-07  Werner Koch  <wk@gnupg.org>

	core: New flag fields beta_compliance.
	+ commit 1a7bc88ee756df127761c90a4b66d885f0c9de74
	* src/gpgme.h.in (struct _gpgme_subkey): Add field beta_compliance.
	(struct _gpgme_op_decrypt_result): Ditto.
	(struct _gpgme_signature): Ditto.
	* src/util.h (PARSE_COMPLIANCE_FLAGS): Handle the new 2023 value.
	* tests/run-decrypt.c: Append a "(beta)" to the vs-de compliance.
	* tests/run-keylist.c: Ditto.
	* tests/run-verify.c: Ditto.

2024-09-26  Werner Koch  <wk@gnupg.org>

	core: Allow GPGME_CREATE_ADSK also for gnupg 2.2.45.
	+ commit 3bf1ea97bcabac31d29f17320cdad2f75f759435
	* src/engine-gpg.c (gpg_addadsk): Extend the version check.

2024-09-20  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Report failed encryption/signing if gpgtar didn't emit SUCCESS.
	+ commit 79ca846993638de359936f86eafaa23f75c9f85d
	src/encrypt-sign.c (encrypt_sym_status_handler): Add call of
	_gpgme_encrypt_status_handler.
	(encrypt_sign_start): Call _gpgme_op_encrypt_init_result with
	success_required=1 if archive is created. Always call
	_gpgme_op_sign_init_result with success_required=0 because the encrypt
	status handler already checks for SUCCESS.
	src/encrypt.c (op_data_t): Add success_seen flag.
	(_gpgme_encrypt_status_handler): Return error if we didn't see a
	required SUCCESS on GPGME_STATUS_EOF. Set success_seen flag on
	GPGME_STATUS_SUCCESS.
	(encrypt_sym_status_handler): Add call of _gpgme_encrypt_status_handler.
	(_gpgme_op_encrypt_init_result): Add argument success_required. Set
	success_seen flag if SUCCESS is not required.
	(encrypt_start): Call _gpgme_op_encrypt_init_result with
	success_required=1 if archive is created.
	src/ops.h (_gpgme_op_sign_init_result, _gpgme_op_encrypt_init_result):
	Add argument success_required to prototypes.
	src/sign.c (op_data_t): Add success_seen flag.
	(_gpgme_sign_status_handler): Return error if we didn't see a
	required SUCCESS on GPGME_STATUS_EOF. Set success_seen flag on
	GPGME_STATUS_SUCCESS.
	(sign_init_result): Add argument success_required. Set success_seen
	flag if SUCCESS is not required.
	(_gpgme_op_sign_init_result): Add argument success_required and
	forward it to sign_init_result.
	(sign_start): Call sign_init_result with success_required=1 if archive
	is created.

2024-09-17  Ingo Klöcker  <dev@ingo-kloecker.de>

	doc,build: Look for yat2m in $prefix/bin.
	+ commit 9747f189620a4c89f88f50c5960baa511eea0a97
	* configure.ac: Look for yat2m first in $prefix/bin and then in $PATH.

	doc,build: Fix "make install" if yat2m isn't available.
	+ commit e4b04ae15363ee8b2159dbc2586fbf93792598f6
	* configure.ac: Add hint for YAT2M variable. Set HAVE_YAT2M if yat2m was
	found.
	* doc/Makefile.am (myman_pages): Set to empty string if yat2m isn't
	available

2024-09-10  Sébastien Noel  <sebastien@twolife.be>

	doc: Provide a man page for gpgme-json.
	+ commit 8e7f443045f8e77bb5c841c2b7bfe2e1e3fcceb9
	* doc/gpgme-json.texi: New.
	* configure.ac: Check for yat2m.
	* doc/Makefile.am (YAT2M_OPTIONS): New.  Also add all the other man
	page stuff similar to what is used in gnupg.

2024-09-09  Werner Koch  <wk@gnupg.org>

	core: New encryption flags GPGME_ENCRYPT_ADD_RECP and _CHG_RECP.
	+ commit cd79fc39736fda6ce38f1f79700cf658c47372f9
	* src/gpgme.h.in (GPGME_ENCRYPT_ADD_RECP, GPGME_ENCRYPT_CHG_RECP):
	New flag values.
	* src/engine-gpg.c (have_cmd_modify_recipients): New.
	(gpg_encrypt): Check availability of the feature and prepare command.

	* tests/run-encrypt.c (main): New options --add-recipients
	and --change-recipients.

2024-09-04  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Treat email-only user IDs with upper case letters as email address
	+ commit 2264b64b85e6d522fdc5e06d5260f5b7b5414417
	* src/key.c (_gpgme_key_append_name): Support email-only user IDs with
	upper case letters.

	* tests/gpg/t-keylist.c (struct key_info_s): Add algo, length, sec_algo,
	sec_length.
	(keys): Add expected algo and length for primary and secondary subkeys.
	(main): Factor out code for checking a key and the code for the keylist
	test. Call the factored out test function and a new test function.
	(check_key, test_keylist, key_with_email_only_user_id,
	key_info_email_only_user_id,
	test_email_only_user_id_with_upper_case_letters): New.

2024-09-02  Ingo Klöcker  <dev@ingo-kloecker.de>

	build,python: Fix build with setuptools 72.2.0+
	+ commit ecd0c86d62351d267bdc9566286c532a394c711b
	* lang/python/setup.py.in (BuildExtFirstHack.run): Extend members of the
	extension instead of lists that were passed to the extension.

2024-08-29  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add pkgconfig file for gpgmepp.
	+ commit 569348ee84068ade5e05902dd9d670a1a30c7ca1
	* configure.ac: Add substitutions GPGMEPP_PKGCONFIG_LIBS,
	GPGMEPP_PKGCONFIG_CFLAGS, GPGMEPP_PKGCONFIG_HOST. Apply them. Configure
	gpgmepp.pc file.
	* lang/cpp/src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
	(EXTRA_DIST): Add gpgmepp.pc.in.
	* lang/cpp/src/gpgmepp.pc.in: New.

2024-08-28  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Go with default answer on unknown question by key edit interface.
	+ commit 7579c40124c9b287bb67e974bda46e879e1a1ab1
	* lang/cpp/src/editinteractor.cpp (edit_interactor_callback_impl):
	Send empty string to edit interface if General Error occurred.

2024-08-26  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Add support for new context flag "proc-all-sigs"
	+ commit 409e314582273be36b9b6516e89f142f2e99e682
	* lang/qt/src/decryptverifyarchivejob.cpp,
	lang/qt/src/decryptverifyarchivejob.h (DecryptVerifyArchiveJob): Add
	member functions setProcessAllSignatures, processAllSignatures.
	* lang/qt/src/decryptverifyarchivejob_p.h
	(DecryptVerifyArchiveJobPrivate): Add member m_processAllSignatures.
	* lang/qt/src/decryptverifyjob.cpp, lang/qt/src/decryptverifyjob.h
	(DecryptVerifyJob): Add member functions setProcessAllSignatures,
	processAllSignatures.
	* lang/qt/src/decryptverifyjob_p.h (DecryptVerifyJobPrivate): Add member
	m_processAllSignatures.
	* lang/qt/src/qgpgmedecryptverifyarchivejob.cpp
	(decrypt_verify_from_file_name): Add argument "processAllSignatures".
	Set context flag "proc-all-sigs" if requested.
	(QGpgMEDecryptVerifyArchiveJob::start): Set context flag "proc-all-sigs"
	if requested.
	(QGpgMEDecryptVerifyArchiveJobPrivate::startIt): Pass
	m_processAllSignatures to decrypt_verify_from_file_name.
	* lang/qt/src/qgpgmedecryptverifyjob.cpp
	(decrypt_verify_from_filename): Add argument "processAllSignatures".
	Set context flag "proc-all-sigs" if requested.
	(QGpgMEDecryptVerifyJob::start, QGpgMEDecryptVerifyJob::exec): Set
	context flag "proc-all-sigs" if requested.
	(QGpgMEDecryptVerifyJobPrivate::startIt): Pass
	m_processAllSignatures to decrypt_verify_from_filename.
	* lang/qt/src/qgpgmeverifydetachedjob.cpp (verify_from_filename): Add
	argument "processAllSignatures". Set context flag "proc-all-sigs" if
	requested.
	(QGpgMEVerifyDetachedJob::start, QGpgMEVerifyDetachedJob::exec): Set
	context flag "proc-all-sigs" if requested.
	(QGpgMEVerifyDetachedJobPrivate::startIt): Pass
	m_processAllSignatures to decrypt_verify_from_filename.
	* lang/qt/src/qgpgmeverifyopaquejob.cpp (verify_from_filename): Add
	argument "processAllSignatures". Set context flag "proc-all-sigs" if
	requested.
	(QGpgMEVerifyOpaqueJob::start, QGpgMEVerifyOpaqueJob::exec): Set
	context flag "proc-all-sigs" if requested.
	(QGpgMEVerifyOpaqueJobPrivate::startIt): Pass
	m_processAllSignatures to decrypt_verify_from_filename.
	* lang/qt/src/verifydetachedjob.cpp, lang/qt/src/verifydetachedjob.h
	(VerifyDetachedJob): Add member functions setProcessAllSignatures,
	processAllSignatures.
	* lang/qt/src/verifydetachedjob_p.h (VerifyDetachedJobPrivate): Add
	member m_processAllSignatures.
	* lang/qt/src/verifyopaquejob.cpp, lang/qt/src/verifyopaquejob.h
	(VerifyOpaqueJob): Add member functions setProcessAllSignatures,
	processAllSignatures.
	* lang/qt/src/verifyopaquejob_p.h (VerifyOpaqueJobPrivate): Add
	member m_processAllSignatures.

	* lang/qt/tests/run-decryptverifyarchivejob.cpp,
	lang/qt/tests/run-decryptverifyjob.cpp,
	lang/qt/tests/run-verifydetachedjob.cpp,
	lang/qt/tests/run-verifyopaquejob.cpp (struct CommandLineOptions): Add
	member processAllSignatures.
	(parseCommandLine): Add command line option --process-all-signatures.
	(main): Pass new option to the job.

2024-08-23  Werner Koch  <wk@gnupg.org>

	New context flag "proc-all-sigs".
	+ commit 37aa9eee7c5696c7b79898a33f9c2883962c2a88
	* src/context.h (struct gpgme_context): Add proc_all_sigs.
	* src/gpgme.c (gpgme_set_ctx_flag): Add flag "proc-all-sigs".
	(gpgme_get_ctx_flag): Ditto.
	* src/engine-gpg.c (engine.gpg): Add flags.proc_all_sigs.
	(have_option_proc_all_sigs): New.
	(gpg_set_engine_flags): Set flag from context.
	(build_argv): Add --proc-all-sigs if requested and supported.

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

	qt,tests: Add make target to clean the keyring.
	+ commit 0174575c8c169cd00f65ed509d91355dea26995f
	* lang/qt/tests/Makefile.am (clean-keyring): New target.

	qt: Use --quick-set-ownertrust if available.
	+ commit a73eee3655e21c60cbc572216a8a90eff5ac6ea5
	* lang/qt/src/qgpgmechangeownertrustjob.cpp (set_owner_trust): New.
	(QGpgMEChangeOwnerTrustJob::start): Use set_owner_trust if gpg is new
	enough.

	* lang/qt/tests/t-ownertrust.cpp
	(ChangeOwnerTrustTest::testChangeOwnerTrust): Log unexpected error.

	tests,json: Remove no longer needed code.
	+ commit 668a1344c6b230c6a205f5cf56c8ffc0c1ee9287
	* tests/json/t-json.c (parse_version_number, parse_version_string,
	compare_versions, check_gpg_version): Remove.
	(main): Use have_gpg_version from t-support.h.

	qt: Support disabling and enabling of keys.
	+ commit 63822343dfaac8b638ef475d441c4379da3a9804
	* lang/qt/src/Makefile.am: Add new files.
	* lang/qt/src/job.cpp (QuickJob): Move definition of constructor and
	destructor and inclusion of the moc file to quickjob.cpp.
	* lang/qt/src/qgpgmequickjob.cpp (class QGpgMEQuickJobPrivate): New.
	(QGpgMEQuickJob::QGpgMEQuickJob): Instantiate private job class.
	(set_key_enabled): New.
	* lang/qt/src/quickjob.cpp: New.
	* lang/qt/src/quickjob.h (class QuickJob): Add member function
	startSetKeyEnabled.
	* lang/qt/src/quickjob_p.h: New.

	* lang/qt/tests/Makefile.am: Add new test for Qt 5 and Qt 6.
	* lang/qt/tests/t-disablekey.cpp: New.

2024-08-06  Ingo Klöcker  <dev@ingo-kloecker.de>

	cpp: Add support for setting owner trust and for disabling keys.
	+ commit d5f612e9685d18313d445799a19ff83e013f1b0a
	* lang/cpp/src/context.cpp, lang/cpp/src/context.h (class Context): Add
	member functions setOwnerTrust, startSetOwnerTrust, setKeyEnabled,
	startSetKeyEnabled.
	* lang/cpp/src/context.cpp (owner_trust_to_string): New.

	core: New function gpgme_op_setownertrust.
	+ commit d804a7a4bc871f38f6cdc2cd63af3ef004580437
	* src/Makefile.am (main_sources): Add new file.
	* src/context.h (ctx_op_data_id_t): Add OPDATA_SETOWNERTRUST.
	* src/engine.c, src/engine.h (_gpgme_engine_op_setownertrust): New.
	* src/engine-backend.h (engine_ops): Add 'setownertrust' and adjust all
	engine initializers.
	* src/engine-gpg.c (gpg_setownertrust): New.
	(_gpgme_engine_ops_gpg): Set setownertrust to gpg_setownertrust.
	* src/gpgme.h.in (gpgme_op_setownertrust_start, gpgme_op_setownertrust):
	New.
	* src/gpgme.def, src/libgpgme.vers: Add new functions.
	* src/setownertrust.c: New.

	* doc/gpgme.texi: Document new functions.

	* tests/Makefile.am (noinst_PROGRAMS): Add new test program.
	* tests/run-setownertrust.c: New.

	* tests/gpg/Makefile.am (c_tests): Add new file. (LDADD): Add
	@GPG_ERROR_LIBS@.
	* tests/gpg/t-setownertrust.c: New.
	* tests/gpg/t-support.h (have_gpg_version): New.

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

	w32: Use UTF-8 for localized error descriptions for all threads.
	+ commit 9272b0fb6ebc245a37c74e02f1de00dc1ec99723
	* src/version.c (do_subsystem_inits) [W32]: Switch gettext to UTF-8
	for current thread and all new threads.

2024-07-22  Ingo Klöcker  <dev@ingo-kloecker.de>

	build,qt: Fix include path in CMake files.
	+ commit 5c095553e4344fba63bbf684b2468e36a7b891e8
	* lang/qt/src/Makefile.am (QGpgmeConfig.cmake, QGpgmeQt6Config.cmake):
	Use new variables includeprefix{5,6} instead of replaced variable
	includeprefix.

2024-07-18  Ingo Klöcker  <dev@ingo-kloecker.de>

	build,qt: Don't put generated camel-case headers in tarball.
	+ commit 9ab2ce36f9b9f510d58c2dd9946cd360c963976b
	* lang/qt/src/Makefile.am: Change camelcase5include_HEADERS to
	nodist_camelcase5include_HEADERS. Change camelcase6include_HEADERS to
	nodist_camelcase6include_HEADERS.

	core: Remove obsolete source files.
	+ commit c69240c843f2b80f47cad97b8ba3b314e104b959
	* src/isascii.c, src/putc_unlocked.c: Remove.

	build,qt: Allow building Qt 5 bindings and Qt 6 bindings.
	+ commit 42e151b34ba1e8c07b1ed2e4e1f6299466e499a1
	* configure.ac: Remove "qt" from default_languages. Add "qt5 qt6" to
	default_languages. Remove "qt" from help for --enable-languages. Don't
	fail anymore if "qt5" and "qt6" are enabled. Warn that "qt" is
	deprecated if it was enabled.
	* lang/qt/src/Makefile.am (libqgpgme_la, libqgpgmeqt6_la): New.
	(lib_LTLIBRARIES): Set Qt 5 and/or Qt 6 variant of libqgpgme.
	(AM_CPPFLAGS): Replace with libqgpgme_la_CPPFLAGS for Qt 5 and
	libqgpgmeqt6_la_CPPFLAGS for Qt 6.

	build,qt: Decouple generation of moc files.
	+ commit e6830b58b6de6d4fa02f1055cd0e992c9310b51a
	* m4/qt5.m4: Export moc for Qt 5 in variable MOC5. Unset temporary MOC2.
	* m4/qt6.m4: Export moc for Qt 6 in variable MOC6.
	* lang/qt/src/Makefile.am: Generate .moc5 files from .h files. Generate
	.moc forwarding headers in moc5 subfolder. Add moc5 subfolder to include
	paths for Qt 5-based qgpgme library. Ditto for Qt 6. Clean up moc5 and
	moc6 subfolders.
	* lang/qt/tests/Makefile.am: List tests and test runners for Qt 5 and
	Qt 6. Generate .moc5 files from .cpp files of tests. Generate .moc
	forwarding headers in moc5 subfolder. Generate .hmoc file from
	t-support.h directly in moc5 subfolder. Add moc5 subfolder to include
	paths for all Qt 5-based tests and runners. Ditto for Qt 6. Specify
	sources, LDADD and CPPFLAGS for all tests and test runners for Qt 5 and
	Qt 6. Clean up moc5 and moc6 subfolders.

	build,qt: Remove include directories on uninstall.
	+ commit 899a572b335528aabb769e5832318b0a3e910d08
	* lang/qt/src/Makefile.am (uninstall-include-dirs-qt5,
	uninstall-include-dirs-qt6): New targets.
	(uninstall_include_dirs_qt5, uninstall_include_dirs_qt6): New variables.
	(uninstall-local): Replace with...
	(uninstall-hook): ...this. Add new uninstall_include_dirs_qt* variables.

	build,qt: Decouple handling of include headers.
	+ commit 69558f2c0bede869a1caec70b2046a5138043c32
	* lang/qt/src/Makefile.am (includeprefix): Replace with...
	(includeprefix5, includeprefix6): ...these.
	(qgpgmeincludedir): Replace with...
	(qgpgme5includedir, qgpgme6includedir): ...these.
	(qgpgmeinclude_HEADERS): Replace with...
	(qgpgme5include_HEADERS, qgpgme6include_HEADERS): ...these.
	(nodist_qgpgmeinclude_HEADERS): Replace with...
	(nodist_qgpgme5include_HEADERS, nodist_qgpgme6include_HEADERS): ..these.
	(camelcaseincludedir): Replace with...
	(camelcase5includedir, camelcase6includedir): ...these.
	(camelcaseinclude_HEADERS): Replace with...
	(camelcase5include_HEADERS, camelcase6include_HEADERS): ...these.

	build,qt: Decouple (un)install of CMake files.
	+ commit 576d2db9dd9b7c66686e239ff61ffca606ad9f2a
	* lang/qt/src/Makefile.am (install-cmake-files): Rename target to
	install-cmake-files-qt5 and install-cmake-files-qt6.
	(uninstall-cmake-files): Rename target to uninstall-cmake-files-qt5 and
	uninstall-cmake-files-qt6.
	(install_cmake_files_qt5, uninstall_cmake_files_qt5,
	install_cmake_files_qt6, uninstall_cmake_files_qt6): New variables.
	(install-data-local): Depend on both install-cmake-files-qt* targets.
	(uninstall-local): Depend on both uninstall-cmake-files-qt* targets.

2024-07-15  Ingo Klöcker  <dev@ingo-kloecker.de>

	core: Support all keylist modes and fix possible overrun.
	+ commit aa15a664b3cf9bf578ba6d22c1c0c327af68b1b4
	* src/gpgme-tool.c (gt_get_keylist_mode): Increase NR_KEYLIST_MODES to
	number of keylist modes. Add support for GPGME_KEYLIST_MODE_WITH_TOFU,
	GPGME_KEYLIST_MODE_WITH_KEYGRIP, GPGME_KEYLIST_MODE_WITH_V5FPR. Write
	all modes.
	(hlp_keylist_mode): List all supported keylist modes.
	(cmd_keylist_mode): Add support for GPGME_KEYLIST_MODE_WITH_TOFU,
	GPGME_KEYLIST_MODE_WITH_KEYGRIP, GPGME_KEYLIST_MODE_WITH_V5FPR.

2024-07-10  Ingo Klöcker  <dev@ingo-kloecker.de>

	build,cpp: Fix include paths in forwarding headers in gpgme++ folder.
	+ commit e46748a0d18b8a6d26e6b386f64a99a5cdc6a6e3
	* lang/cpp/src/Makefile.am (build rule for copied headers): Write
	abs_srcdir instead of srcdir in the generated headers.

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

	qt: Replace usage of deprecated Error::asString.
	+ commit f6d020e24fb64cfba5e80cef7f80cad15f08cc3c
	* lang/qt/src/debug.cpp (operator<<): Use Error::asStdString instead of
	Error::asString.
	* lang/qt/src/qgpgmedecryptverifyjob.cpp (decrypt_verify),
	lang/qt/src/qgpgmenewcryptoconfig.cpp
	(QGpgMENewCryptoConfigComponent::sync),
	lang/qt/src/qgpgmewkdlookupjob.cpp (startDirmngr): Use QDebug operator
	for Error instead of Error::asString.
	* lang/qt/src/threadedjobmixin.cpp (_detail::audit_log_as_html): Use
	errorAsString instead of Error::asString.
	* lang/qt/src/util.h (errorAsString): New.

	* lang/qt/tests/run-decryptverifyarchivejob.cpp (main),
	lang/qt/tests/run-decryptverifyjob.cpp (main),
	lang/qt/tests/run-encryptarchivejob.cpp (main),
	lang/qt/tests/run-encryptjob.cpp (main),
	lang/qt/tests/run-exportjob.cpp (main),
	lang/qt/tests/run-importjob.cpp (main),
	lang/qt/tests/run-receivekeysjob.cpp (main),
	lang/qt/tests/run-refreshkeysjob.cpp (main),
	lang/qt/tests/run-signarchivejob.cpp (main),
	lang/qt/tests/run-signjob.cpp (main),
	lang/qt/tests/run-verifydetachedjob.cpp (main),
	lang/qt/tests/run-verifyopaquejob.cpp (main),
	lang/qt/tests/run-wkdrefreshjob.cpp (main),
	lang/qt/tests/t-ownertrust.cpp (testChangeOwnerTrust),
	lang/qt/tests/t-remarks.cpp (testRemarkOwnKey),
	lang/qt/tests/t-tofuinfo.cpp (testTofuPolicy): Use QDebug operator for
	Error instead of Error::asString.
	* lang/qt/tests/t-changeexpiryjob.cpp (all test functions),
	lang/qt/tests/t-trustsignatures.cpp (all test functions),
	lang/qt/tests/t-various.cpp (testSignKeyWithoutExpiration,
	testSignKeyWithExpiration): Use errorAsString instead of
	Error::asString.

	cpp: Deprecate Error::asString and update users.
	+ commit 28542b14c4df40c7a54bfcf65d7c725bd99fb3e5
	* lang/cpp/src/error.h (Error::asString): Mark as deprecated.
	* lang/cpp/src/context.cpp (operator<<),
	lang/cpp/src/editinteractor.cpp (edit_interactor_callback_impl),
	lang/cpp/tests/run-getkey.cpp (main),
	lang/cpp/tests/run-keylist.cpp (main),
	lang/cpp/tests/run-wkdlookup.cpp (main): Use Error::asStdString instead
	of Error::asString.

	cpp: Add safer member function returning text describing an error.
	+ commit 2656d3ee5b1a905d9fe4dd5c8b2d9737e775df31
	* lang/cpp/src/error.h, lang/cpp/src/context.cpp (class Error): New
	member function asStdString.

	qt: Always include C++ binding headers with gpgme++/ prefix.
	+ commit acf574af64d6ace5b090029748ecaf9d87163be7
	* lang/qt/src/Makefile.am, lang/qt/tests/Makefile.am (AM_CPPFLAGS):
	Add builddir instead of srcdir of C++ bindings as include path.
	* lang/qt/src/changeexpiryjob.cpp, lang/qt/src/changeexpiryjob.h,
	lang/qt/src/changeownertrustjob.h, lang/qt/src/dataprovider.cpp,
	lang/qt/src/dataprovider.h, lang/qt/src/debug.cpp,
	lang/qt/src/decryptverifyarchivejob.cpp,
	lang/qt/src/decryptverifyarchivejob.h,
	lang/qt/src/encryptarchivejob.cpp, lang/qt/src/encryptarchivejob.h,
	lang/qt/src/encryptjob.h, lang/qt/src/encryptjob_p.h,
	lang/qt/src/filelistdataprovider.cpp,
	lang/qt/src/filelistdataprovider.h,
	lang/qt/src/hierarchicalkeylistjob.h, lang/qt/src/importjob.cpp,
	lang/qt/src/importjob.h, lang/qt/src/importjob_p.h, lang/qt/src/job.h,
	lang/qt/src/keyformailboxjob.h, lang/qt/src/keylistjob.h,
	lang/qt/src/listallkeysjob.h, lang/qt/src/multideletejob.cpp,
	lang/qt/src/qgpgmeaddexistingsubkeyjob.cpp,
	lang/qt/src/qgpgmeadduseridjob.cpp, lang/qt/src/qgpgmebackend.cpp,
	lang/qt/src/qgpgmechangeexpiryjob.cpp,
	lang/qt/src/qgpgmechangeownertrustjob.cpp,
	lang/qt/src/qgpgmechangepasswdjob.cpp, lang/qt/src/qgpgmedecryptjob.cpp,
	lang/qt/src/qgpgmedecryptjob.h,
	lang/qt/src/qgpgmedecryptverifyarchivejob.cpp,
	lang/qt/src/qgpgmedecryptverifyarchivejob.h,
	lang/qt/src/qgpgmedecryptverifyjob.cpp,
	lang/qt/src/qgpgmedecryptverifyjob.h, lang/qt/src/qgpgmedeletejob.cpp,
	lang/qt/src/qgpgmedownloadjob.cpp,
	lang/qt/src/qgpgmeencryptarchivejob.cpp,
	lang/qt/src/qgpgmeencryptarchivejob.h, lang/qt/src/qgpgmeencryptjob.cpp,
	lang/qt/src/qgpgmeencryptjob.h, lang/qt/src/qgpgmeexportjob.cpp,
	lang/qt/src/qgpgmeimportfromkeyserverjob.cpp,
	lang/qt/src/qgpgmeimportfromkeyserverjob.h,
	lang/qt/src/qgpgmeimportjob.cpp, lang/qt/src/qgpgmeimportjob.h,
	lang/qt/src/qgpgmekeyformailboxjob.h,
	lang/qt/src/qgpgmekeygenerationjob.cpp,
	lang/qt/src/qgpgmekeygenerationjob.h, lang/qt/src/qgpgmekeylistjob.cpp,
	lang/qt/src/qgpgmekeylistjob.h, lang/qt/src/qgpgmelistallkeysjob.cpp,
	lang/qt/src/qgpgmelistallkeysjob.h,
	lang/qt/src/qgpgmenewcryptoconfig.cpp,
	lang/qt/src/qgpgmenewcryptoconfig.h, lang/qt/src/qgpgmequickjob.cpp,
	lang/qt/src/qgpgmereceivekeysjob.h,
	lang/qt/src/qgpgmerefreshsmimekeysjob.cpp,
	lang/qt/src/qgpgmerefreshsmimekeysjob.h,
	lang/qt/src/qgpgmerevokekeyjob.cpp,
	lang/qt/src/qgpgmesetprimaryuseridjob.cpp,
	lang/qt/src/qgpgmesignarchivejob.cpp,
	lang/qt/src/qgpgmesignarchivejob.h,
	lang/qt/src/qgpgmesignencryptarchivejob.cpp,
	lang/qt/src/qgpgmesignencryptarchivejob.h,
	lang/qt/src/qgpgmesignencryptjob.cpp,
	lang/qt/src/qgpgmesignencryptjob.h, lang/qt/src/qgpgmesignjob.cpp,
	lang/qt/src/qgpgmesignjob.h, lang/qt/src/qgpgmesignkeyjob.cpp,
	lang/qt/src/qgpgmetofupolicyjob.cpp,
	lang/qt/src/qgpgmeverifydetachedjob.cpp,
	lang/qt/src/qgpgmeverifydetachedjob.h,
	lang/qt/src/qgpgmeverifyopaquejob.cpp,
	lang/qt/src/qgpgmeverifyopaquejob.h, lang/qt/src/qgpgmewkdlookupjob.cpp,
	lang/qt/src/qgpgmewkdrefreshjob.cpp, lang/qt/src/qgpgmewkdrefreshjob.h,
	lang/qt/src/qgpgmewkspublishjob.cpp, lang/qt/src/quickjob.h,
	lang/qt/src/signarchivejob.cpp, lang/qt/src/signarchivejob.h,
	lang/qt/src/signencryptarchivejob.cpp,
	lang/qt/src/signencryptarchivejob.h, lang/qt/src/signencryptjob.h,
	lang/qt/src/signencryptjob_p.h, lang/qt/src/signjob.h,
	lang/qt/src/signjob_p.h, lang/qt/src/threadedjobmixin.cpp,
	lang/qt/src/threadedjobmixin.h, lang/qt/src/tofupolicyjob.h,
	lang/qt/src/util.cpp, lang/qt/src/wkdlookupresult.cpp,
	lang/qt/src/wkdlookupresult.h, lang/qt/src/wkdrefreshjob_p.h,
	lang/qt/tests/run-decryptverifyarchivejob.cpp,
	lang/qt/tests/run-decryptverifyjob.cpp,
	lang/qt/tests/run-encryptarchivejob.cpp,
	lang/qt/tests/run-encryptjob.cpp, lang/qt/tests/run-exportjob.cpp,
	lang/qt/tests/run-importjob.cpp, lang/qt/tests/run-keyformailboxjob.cpp,
	lang/qt/tests/run-receivekeysjob.cpp,
	lang/qt/tests/run-refreshkeysjob.cpp,
	lang/qt/tests/run-signarchivejob.cpp, lang/qt/tests/run-signjob.cpp,
	lang/qt/tests/run-verifydetachedjob.cpp,
	lang/qt/tests/run-verifyopaquejob.cpp,
	lang/qt/tests/run-wkdrefreshjob.cpp,
	lang/qt/tests/t-addexistingsubkey.cpp,
	lang/qt/tests/t-changeexpiryjob.cpp, lang/qt/tests/t-config.cpp,
	lang/qt/tests/t-decryptverify.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-revokekey.cpp,
	lang/qt/tests/t-setprimaryuserid.cpp, lang/qt/tests/t-support.cpp,
	lang/qt/tests/t-support.h, lang/qt/tests/t-tofuinfo.cpp,
	lang/qt/tests/t-trustsignatures.cpp, lang/qt/tests/t-various.cpp,
	lang/qt/tests/t-verify.cpp, lang/qt/tests/t-wkdlookup.cpp,
	lang/qt/tests/t-wkspublish.cpp: Include GpgME++ headers with gpgme++/
	prefix.

	build,cpp: Create forwarding headers in a gpgme++ folder.
	+ commit b7435b31f6e6754480a4e6d2910d74ee15f75fc5
	* lang/cpp/src/Makefile.am (copied_headers): New.
	(build rule for all copied headers): New.
	(BUILT_SOURCES): New.
	(CLEANFILES): Add copied_headers.

2024-07-05  NIIBE Yutaka  <gniibe@fsij.org>

	Fix calling CancelSynchronousIo.
	+ commit 95bd4fa813023a56c29a43bdb9ad9777362b389b
	* src/w32-util.c (_gpgme_w32_cancel_synchronous_io): Use HANDLE.

	Fix printing size_t and off_t value for LLP64 Windows.
	+ commit de6068450094783b9ed68ec9553ea59d02a208ff
	* src/debug.h (_trace_sysres_off_t): Use 'z' length specifier.
	* src/w32-io.c (_gpgme_io_read): Likewise.
	(writer, _gpgme_io_write): Likewise.

	Remove ath.h and ath.c.
	+ commit 8b4171680c325d63952c9026aa7fa35f4b23e351
	* src/Makefile.am (system_components): We don't use ath.h any more.
	(main_sources): Remove ath.h and ath.c.

	Don't use ath_self, but get thread ID directly.
	+ commit 9c276e762a25262cd635e97f5aad4b09fa41b427
	* src/debug.c [HAVE_W32_SYSTEM or __linux] (tid_log_callback): Use
	native thread ID call for Windows and Linux, ifdef-out-ed.
	(debug_init): Only call gpgrt_log_set_pid_suffix_cb for relevant
	systems.

2024-07-01  NIIBE Yutaka  <gniibe@fsij.org>

	Use gpgrt_b64dec in libgpg-error.
	+ commit ec2c6dd8bc49e010810cb8ad403a9b8dad5d399e
	* src/b64dec.c: Remove.
	* src/Makefile.am (main_sources): Remove b64dec.c.
	* src/data-identify.c (pgp_binary_detection): Use gpgrt_b64dec in
	libgpg-error.

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

	cpp: Remove obsolete files.
	+ commit 6ed5c9a38aedcda9e67607c7474042f28121af6e
	* lang/cpp/src/context_glib.cpp, lang/cpp/src/context_qt.cpp: Remove.

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

	qt: Allow appending a detached signature to an existing file.
	+ commit 7d5df0bf0d86391151911160db24441966b6d938
	* lang/qt/src/qgpgmesignjob.cpp (sign_to_filename): Add argument
	"appendSignature". Append new detached signature to an existing file if
	requested.
	* lang/qt/src/signjob.cpp, lang/qt/src/signjob.h (class SignJob): Add
	member functions setAppendSignature, appendSignatureEnabled.
	* lang/qt/src/signjob_p.h (struct SignJobPrivate): Add member
	m_appendSignature.

	* lang/qt/tests/run-signjob.cpp (struct CommandLineOptions): Add members
	signingFlags, appendSignature. Initialize armor.
	(parseCommandLine): Add command line options --detach-sign and --append.
	(main): Do not exit if output file exists and append is enabled.
	Pass new options to the job.

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

	qt,build: Install headers for Qt 5 and Qt 6 in different locations.
	+ commit 09827ffc7745e7dc4275f1c6e46531a959be1f71
	* lang/qt/src/Makefile.am (includeprefix): New.
	(qgpgmeincludedir, camelcaseincludedir): Add $(includeprefix).
	(QGpgmeConfig.cmake, QGpgmeQt6Config.cmake): Add $(includeprefix) to
	replacement for @resolved_includedir@.

2024-06-14  NIIBE Yutaka  <gniibe@fsij.org>

	Update gpg-error.m4 again for spell fix.
	+ commit 53c367629a6360719b6247d148174c6c66f52020


2024-06-13  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt,tests: Fix deprecation warnings (in Qt 6 build)
	+ commit c52e1943a72d42cc7dfbfc82b72345092d8f05c0
	* lang/qt/tests/t-tofuinfo.cpp (TofuInfoTest::signAndVerify,
	TofuInfoTest::testTofuPolicy): Use range-based for loop instead of Qt's
	deprecated foreach.

	qt: Specify import options as list of strings instead of as string.
	+ commit 60b96d149c71f7f5f928944e65732671d6b9eacc
	* lang/qt/src/importjob.cpp, lang/qt/src/importjob.h (setImportOptions):
	Change type of argument "options" to QStringList.
	(importOptions): Change return type to QStringList.
	* lang/qt/src/importjob_p.h (struct ImportJobPrivate): Change type of
	member m_importOptions to QStringList.
	* lang/qt/src/qgpgmeimportjob.cpp (import_qba): Change type of argument
	"importOptions" to QStringList. Join list of import options with ','
	when setting the "import-options" context flag.

	* lang/qt/tests/t-import.cpp (ImportTest::testImportWithImportOptions):
	Adapt to API change.

2024-06-13  NIIBE Yutaka  <gniibe@fsij.org>

	m4: Update m4 files.
	+ commit 6c90ec7be23532184f54cf59675130be6d2ae55a
	* m4/gpg-error.m4: Update libgpg-error master.
	* m4/libassuan.m4: Update libassuan master.

	gpgme.m4: Fix setting/using GPG_ERROR_CONFIG.
	+ commit 14b035034ab52c73f8d1aab2c475b3e8709600b4
	gpgm4.m4 (_AM_PATH_GPGRT_CONFIG): Don't set GPG_ERROR_CONFIG and
	gpg_error_config_version.

2024-06-12  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Allow specifying import options when importing keys.
	+ commit 2187a4de8c1731d8621a4b056baf84ee29e0ff00
	* lang/qt/src/importjob.cpp, lang/qt/src/importjob.h (class ImportJob):
	Add member functions setImportOptions and importOptions.
	* lang/qt/src/importjob_p.h (struct ImportJobPrivate): Add member
	m_importOptions.
	* lang/qt/src/qgpgmeimportjob.cpp (import_qba): Add arg importOptions
	and adjust the callers. Set import options context flag.

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

	tests: Add --import-filter option to usage info of run-import.
	+ commit 5b73b0722a136db9fa7b9bb96bae27b8cfef5987
	* tests/run-import.c (show_usage): Add option --import-filter.

	core: Allow setting import options when importing keys.
	+ commit 3b9815bd8ad723445128ae99883be0072ae389a6
	* src/context.h (struct gpgme_context): New field import_options.
	* src/engine-backend.h (struct engine_ops): Add arg import_options to
	field 'import'.
	* src/engine-gpg.c (gpg_import): Add arg import_options and pass option
	--import-options with argument value to gpg.
	* src/engine-gpgsm.c (gpgsm_import): Add dummy arg import_options.
	* src/engine.c (_gpgme_engine_op_import): Add arg import_options and
	pass option to import function of engine.
	* src/engine.h (_gpgme_engine_op_import): Add arg import_options.
	* src/gpgme.c (gpgme_release): Free 'import_options'.
	(gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "import-options".
	* src/import.c (_gpgme_op_import_start, _gpgme_op_import_keys_start,
	_gpgme_op_receive_keys_start): Pass import options stored in context to
	_gpgme_engine_op_import.

	* tests/run-import.c (show_usage, main): Add option --import-options.

	qt,doc: Fix typos.
	+ commit 307256d277d86fac768f09d7df09a5f62b680469
	* lang/qt/README: Fix typos.

2024-06-10  Ingo Klöcker  <dev@ingo-kloecker.de>

	qt: Align license of some Makefiles with license of other Makefiles.
	+ commit 87319b3fc7667b271f7803132e3cbaa50f3344e4
	* lang/qt/doc/Makefile.am, lang/qt/tests/Makefile.am: Change license
	from LGPL to GPL.

	qt: Fix license headers of Makefiles.
	+ commit 29be63ae37755f1b16607864df0df71df4059549
	* lang/qt/Makefile.am, lang/qt/src/Makefile.am: Files are part of
	QGpgme. Fix wrong package name (GPGME-CL -> QGpgME). Replace references
	to LGPL with references to GPL.

	qt: Fix license headers of CMake config files.
	+ commit 09cc0c81f745ef1e9eb802a7f062f62f621e9301
	* lang/qt/src/QGpgmeConfig-w32.cmake.in.in,
	lang/qt/src/QGpgmeConfig.cmake.in.in,
	lang/qt/src/QGpgmeConfigVersion.cmake.in: Files are part of QGpgME.
	Fix copy&paste error (GPGME-CL -> QGpgME). Fix reference to license
	to check for details.
	* lang/qt/src/QGpgmeQt6Config-w32.cmake.in.in,
	lang/qt/src/QGpgmeQt6Config.cmake.in.in,
	lang/qt/src/QGpgmeQt6ConfigVersion.cmake.in: Files are part of QGpgME.
	Fix reference to license to check for details.

	qt: Fix license headers of dataprovider.*
	+ commit 967b6b726eb645e682cdb2a7b66b74307bd1c03d
	* lang/qt/src/dataprovider.cpp, lang/qt/src/dataprovider.h: Change
	license header from LGPL to GPL.

	cpp: Remove commented out and disabled code.
	+ commit 4136928f0d894e873eb0ecb0bc79931a023ba32c
	* lang/cpp/src/configuration.cpp: Remove disabled, abandoned code.
	* lang/cpp/src/context.cpp: Remove commented out, obsolete code.

2024-06-04  Ingo Klöcker  <dev@ingo-kloecker.de>

	core,w32: Pass file names with forward slashes to gpg and gpgtar.
	+ commit 25dd284b0c42ba4ad434ce43f6ac93f24acd6498
	src/conversion.c, src/util.h (_gpgme_replace_backslashes): New.
	src/engine-gpg.c (_add_arg): Add argument file_name. On Windows, replace
	backslashes in file name arguments with forward slashes.
	(add_arg_ext, add_arg_with_locp, add_arg, add_arg_pfx, add_gpg_arg,
	add_gpg_arg_with_value, add_arg_len): Adjust call of _add_arg.
	(add_file_name_arg, add_file_name_arg_len, add_gpg_arg_with_file_name):
	New.
	(add_file_name_arg_or_data): Call add_file_name_arg for file name.
	(gpg_new): Call add_gpg_arg_with_file_name for home directory.
	(gpg_decrypt): Call add_file_name_arg for output directory and output
	file name.
	(append_args_from_recipients_string): Call add_file_name_arg_len for
	recipients file name.
	(gpg_encrypt): Call add_file_name_arg for output file name, base
	directory and input file name. Call add_gpg_arg_with_file_name to set
	file name stored in message.
	(gpg_encrypt_sign): Call add_file_name_arg for output file name, base
	directory and input file name. Call add_gpg_arg_with_file_name to set
	file name stored in message.
	(gpg_sign): Call add_file_name_arg for output file name, base directory
	and input file name. Call add_gpg_arg_with_file_name to set file name
	stored in message.
	(gpg_verify): Call add_file_name_arg for output directory and output
	file name.

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

	build,python: Fix make distcheck for Python 3.9+
	+ commit 1245b090126b8e2eeeda599b01b6b085d3607353
	* lang/python/Makefile.am (uninstall-local): Remove installed .egg
	folders.

	build,python: Remove support for Python 3.4, 3.5, 3.7.
	+ commit 09d81da665894997d654dd4add505302654a4294
	* configure.ac: Don't look for Python 3.4, 3.5, 3.7 anymore.

2024-05-29  Ben Greiner  <code@bnavigator.de>

	build,python: Build Python bindings without distutils.
	+ commit 5844d9e700239ad10a5956cd7789bd02360bb0fa
	* m4/python.m4: Add python3.12 and 3.11 as valid interpreters, remove
	EOL 3.4, 3.5, 3.7 (keep 3.6 because some distributions still ship and
	maintain it).
	* lang/python/Makefile.am (clean-local): Remove dist and gpg.egg-info
	created by Python 3.9+ on make install.
	* lang/python/setup.py.in: switch from distutils to setuptools where
	possible, remove obsolete and deprecated -py3 option of swig, add
	classifiers up to 3.12, remove 3.4, 3.5, 3.7.
	* lang/python/doc/src/gpgme-python-howto.org: replace distutils with
	setuptools
	* lang/python/examples/howto/advanced/cython/setup.py: replace distutils
	with setuptools

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

	tests: Add new files to distribution.
	+ commit 986c5f0b947559b76f9997d238bb4231a79eeee1
	* tests/json/Makefile.am (EXTRA_DIST): Add files added with f2575b63.

	cpp: Fix includes in public headers.
	+ commit 6aa359b1e8d468d4f2f9145666ab6d916f453244
	* lang/cpp/src/defaultassuantransaction.h,
	lang/cpp/src/gpgadduserideditinteractor.h,
	lang/cpp/src/gpgagentgetinfoassuantransaction.h,
	lang/cpp/src/gpggencardkeyinteractor.h,
	lang/cpp/src/gpgsetexpirytimeeditinteractor.h,
	lang/cpp/src/gpgsetownertrusteditinteractor.h,
	lang/cpp/src/gpgsignkeyeditinteractor.h,
	lang/cpp/src/interfaces/assuantransaction.h,
	lang/cpp/src/interfaces/dataprovider.h,
	lang/cpp/src/interfaces/statusconsumer.h,
	lang/cpp/src/scdgetinfoassuantransaction.h,
	lang/cpp/src/statusconsumerassuantransaction.h,
	lang/cpp/src/trustitem.h: Use #include "foo.h" instead of
	#include <foo.h> for own headers.

2024-05-22  Tobias Fella  <tobias.fella@gnupg.com>

	qt,cpp: Implement adding ADSKs to existing keys.
	+ commit 15718cb2954d9df9af979f574cec859feb2ba052
	* lang/cpp/src/context.cpp: Add functions for adding ADSKs.
	* lang/cpp/src/context.h: Ditto.
	* lang/qt/src/qgpgmequickjob.cpp: Add implementation of ADSK job.
	* lang/qt/src/qgpgmequickjob.h: Ditto.
	* lang/qt/src/quickjob.h: Add job for adding ADSKs.

	core: Implement adding ADSKs through gpgme_createsubkey.
	+ commit e42b72bc2ba0b5cacfd5df625df6011b8819fbce
	* src/engine-gpg.c: Add and use function for adding ADSKs.
	* src/genkey.c: Prevent error due to no status line.
	* src/gpgme.h.in: Add flag GPGME_CREATE_ADSK
	* doc/gpgme.texi: Add documentation for ADSKs
	* tests/run-genkey.c: Add test for adding ADSKs

2024-05-21  Ingo Klöcker  <dev@ingo-kloecker.de>
[--snip--]
