2020-07-16  Werner Koch  <wk@gnupg.org>

	Release 1.14.0.
	+ commit 6d7bf78ca5af35b0860aa20b12f799ab03752190
	* configure.ac: Bump LT versions to c=C34/A23/R0 cpp=C17/A11/R0
	qt=C11/A4/R0.

2020-07-16  Andre Heinecke  <aheinecke@gnupg.org>

	qt, cpp: Support export modes.
	+ commit 690d967196d9f888e2b7c12d8c77ad752d7e15bf
	* lang/cpp/context.cpp, lang/cpp/context.h
	(Context::startPublicKeyExport, Context::exportPublicKeys): Extend
	with flags paramenter.
	(Context::ExportMode): New.
	* lang/qt/src/exportjob.h (ExportJob::setExportMode): New.
	* lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h:
	Update accordingly.

2020-07-16  Werner Koch  <wk@gnupg.org>

	core: Also allow GPGME_EXPORT_MODE_SSH for gpgme_op_export.
	+ commit dfeedcc28d0406f5ad8ff8ad397e1ef930676535
	* src/export.c (export_start): Allow that mode.

	core: New export mode to export as OpenSSH public key.
	+ commit 7f9e0ca57b29cc96bd1ca717d891c11db7435c5a
	* src/gpgme.h.in (GPGME_EXPORT_MODE_SSH): New.
	* src/export.c (export_ext_start): Allow for new mode.
	* src/engine-gpg.c (export_common): Implement.
	* tests/run-export.c (status_cb): New.
	(main): New options --status and --ssh.

2020-07-15  Werner Koch  <wk@gnupg.org>

	core: Deprecate the non-working trustlist functions.
	+ commit 858909168298e8c6fb6f9f9009be2ee2d0d9f0ec
	* src/gpgme.h.in: Clarify that the trustlist function should not be
	used.
	* src/engine.c (_gpgme_engine_op_trustlist): Always return an error.
	* src/engine-backend.h (struct engine_ops): Remove trustlist member.
	* src/engine-gpg.c (gpg_trustlist): Remove.
	(struct engine_ops): Remove that member.  Also in all other engines.
	* tests/gpg/t-trustlist.c: Remove.
	* lang/python/tests/t-trustlist.py: Remove.

	core: New keylist mode GPGME_KEYLIST_MODE_WITH_KEYGRIP.
	+ commit c8048bf8eb988f22b20215197f4739bedafc4264
	* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_KEYGRIP): New.
	* src/gpgme-json.c (op_keylist): New flag "keygrip".
	* src/engine-gpg.c (gpg_keylist_build_options): Pass the options.

	* lang/cpp/src/global.h (WithKeygrip): New.
	* lang/cpp/src/context.cpp: Add check.
	* lang/cpp/src/key.cpp (Key::update): Handle WithKeygrip.
	* lang/cpp/src/verificationresult.cpp: Ditto.
	* lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t): Ditto.

2020-07-14  Werner Koch  <wk@gnupg.org>

	python: Workaround for a regression in GnuPG 2.2.21.
	+ commit 32b80cf3c7d278ddf27117617a3e95e4a12c28c8
	* lang/python/tests/support.py (is_gpg_version): New.
	* lang/python/tests/t-encrypt-sym.py: Add workaround.

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

	doc: Explain verify_result_t.status == 0 more.
	+ commit 88f3202521d422d94bfd79e61bde00707d6f28c9
	* doc/gpgme.texi (gpgme_verify_result_t): Explain
	GPGME_STATUS_NO_ERROR more clearly.

2020-06-05  Werner Koch  <wk@gnupg.org>

	core: Fix setting of the chain_model signature result.
	+ commit 728ead8ebd426307c6b3f1e3794b3a7ab585eebd
	* src/verify.c (parse_trust): Fix detection of "chain" keyword.

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

	tests: Remove/change tests for GnuPG 2.3 with no gpg.keyserver.
	+ commit 0cc040e82f9943792a58e73dbc97e20d312858fb
	* lang/qt/tests/t-config.cpp (testKeyserver): Remove.
	* tests/gpg/t-gpgconf.c (main): Test with dirmngr.keyserver.

2020-05-08  Andre Heinecke  <aheinecke@gnupg.org>

	w32: Explicitly link ws2_32.
	+ commit 52f930c1ed7eee6336a41598c90ef3605b7ed02b
	* src/Makefile.am (gpgme_w32_extra_libs): New.
	(libgpgme_la_LIBADD, libgpgme_glib_la_LIBADD): Use it.

2020-05-08  dupgit  <olivier.delhomme@free.fr>

	GPGME_CREATE_NOEXPIRE is only available since 1.9.0.
	+ commit 49c13854f3bf49bc0bf18c6ae6bbf9d66b6625c2
	 * doc/gpgme.texi: Fixes version number from 1.8.0 to
	   1.9.0 for GPGME_CREATE_NOEXPIRE.

	GnuPG-Bug-Id: T4922

2020-05-08  Werner Koch  <wk@gnupg.org>

	core: Make sure the keygrip is available in WITH_SECRET mode.
	+ commit 004fdf61c8b94f646409f4d5855adf8e43b29627
	* src/engine-gpg.c (gpg_keylist_build_options): Send --with-keygrip
	if --with-secret is used.

2020-05-08  Andre Heinecke  <aheinecke@gnupg.org>

	tests, json: Do not check for keygrip of pubkeys.
	+ commit 5c0d1c7f76c95bad8bce4ad3bafd121ec5101d3c
	* tests/json/t-keylist-secret.out.json: Do not check for keygrip
	of bravo key.

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

	tests: Add ECC key generation for tests/gpgsm.
	+ commit 3658e2df65d321e334a8c96b4d252a4be20354bd
	* tests/gpgsm/t-genkey.c (check_result): New.

	build: Fix library dependency.
	+ commit 71ef398bfd72d505290376d82575eb4f3aece035
	* src/Makefile.am (gpgme_tool_LDADD): Add @GPG_ERROR_LIBS@.

2020-03-17  Werner Koch  <wk@gnupg.org>

	core: New context flags "include-key-block" and "auto-key-import".
	+ commit 3afa534645e3826c95e7c70d7ae61ffa2d63acec
	* src/gpgme.c (gpgme_set_ctx_flag): Add flags "include-key-block" and
	"auto-key-import".
	(gpgme_get_ctx_flag): Ditto.
	* src/context.h (struct gpgme_context): Add flags include_key_block
	and auto_key_import.
	* src/engine-gpg.c (struct engine_gpg): Likewise.
	(gpg_set_engine_flags): Set the flags for gpg versions >= 2.2.20.
	(gpg_decrypt): Set option according to the new flags.
	(gpg_encrypt): Ditto.
	(gpg_encrypt_sign): Ditto.
	(gpg_sign): Ditto.
	(gpg_verify): Ditto.

	tests/run-verify: Add option --auto-key-import.
	tests/run-sign: add option --include-key-block.

2020-03-03  Bernhard Reiter  <bernhard@intevation.de>

	python: fix minor typo in howto.
	+ commit 11edc073a3d2bf72e49827e97349cb364612f300


2020-02-19  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Change logging category.
	+ commit ec9690cf5ce85f43997ac2a3abd3e728012aee4a
	* lang/qt/src/*: Change logging category to macro to QGPGME_LOG.

	qt: Log execution args of gpg-card.
	+ commit ba08aadfa7d254f459f51470a7331c6cc2de5199
	* lang/qt/src/qgpgmegpgcardjob.cpp (do_work): Log call.

2020-02-12  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Add dummy context to make mixin happy.
	+ commit 9ca679c15054fbc1cc20e428a6ddf6a67dd0491e
	* lang/qt/qgpgmegpgcardjob.cpp (QGpgMEGpgCardJob): Add context.

	qt: Add GpgCardJob following the job pattern.
	+ commit 77feaa451074741c2d07051915bc23d8b8377242
	* lang/qt/src/Makefile.am: Add new files.
	* lang/qt/src/job.cpp (GpgCardJob): Add impl stuff.
	* lang/qt/src/protocol.h (gpgCardJob): Get one.
	* lang/qt/src/qgpgmebackend.cpp,
	lang/qt/src/qgpgmebackend.h: Add helpers to get the job.
	* lang/qt/src/qgpgmegpgcardjob.cpp,
	lang/qt/src/gpgcardjob.h,
	lang/qt/src/qgpgmegpgcardjob.h: New.

2020-01-29  Andre Heinecke  <aheinecke@gnupg.org>

	Do not test for a bug in older GnuPG versions.
	+ commit cff600f1f65a2164ab25ff2b039cba008776ce62
	* tests/json/t-keylist-secret.out.json

2020-01-24  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	m4/python: Scan for python 3.8 as well.
	+ commit 414938cfedbdb97b83d00e8619dec9502096be22
	* m4/python.m4: Scan for python 3.8 as well.

2020-01-17  Andre Heinecke  <aheinecke@gnupg.org>

	core: Add MacOS fallbacks to look for binaries.
	+ commit 39052913f2154fa8e9575727e27d4101ef8b6460
	* src/posix-util.c (find_executable): New.
	(walk_path_str): Factored out from walk_path.
	(walk_path): Replaced by find_executable.
	(_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Use find_executable.

2019-12-13  Andre Heinecke  <aheinecke@gnupg.org>

	cpp, qt: Use uidhash to select uids for signing.
	+ commit 194272dbc3e326cc32c1464bc6fda0c0d10b5559
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp (action):
	Use uidhash instead of number.
	(GpgSignKeyEditInteractor::setKey): New.
	* lang/cpp/src/gpgsignkeyeditinteractor.h: Update accordingly.
	* lang/cpp/src/key.h, lang/cpp/src/key.cpp: Wrap uidhash.
	* lang/qt/src/qgpgmesignkeyjob.cpp: Set the key.

2019-12-13  Werner Koch  <wk@gnupg.org>

	core: Extend gpgme_user_id_t with uidhash member.
	+ commit 5eeae535ee0df981d8ae8b758b5bb0d190c7fd89
	* src/gpgme.h.in (struct _gpgme_user_id): Add field 'uidhash'.
	* src/key.c (gpgme_key_unref): Free it.
	* src/keylist.c (keylist_colon_handler): Set it.
	* tests/run-keylist.c (main): Print it.

2019-12-11  Andre Heinecke  <aheinecke@gnupg.org>

	Revert "doc: Remove UI Server documentation"
	+ commit 7e7eaf43424556c3c25edc7b67e760ab60de55ce
	This reverts commit 1b2ad3b73c37d0583b8e438b4707dca60e26ae7e.

2019-12-06  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	gpg: Avoid error diagnostics with --override-session-key when verifying.
	+ commit ae4d7761a15b82eb98b0bcc72af2ae2e8973e1f9
	* src/engine-gpg.c (gpg_decrypt): only send --no-keyring when we are
	not verifying.

2019-12-04  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	gpgme-tool: Fix help text for INCLUDE_CERTS.
	+ commit c0c97dbbe6e08d338ba56abec023bd57287e3239
	* src/gpgme-tool.c (hlp_include_certs): added missing newline.

2019-11-27  Werner Koch  <wk@gnupg.org>

	core,w32: Silence compiler warnings.
	+ commit d480a3c8f3a3fff867b84fd8feca9f111ae4adc7
	* src/w32-util.c (_gpgme_w32_cancel_synchronous_io): Add some casts.

2019-11-12  Andre Heinecke  <aheinecke@gnupg.org>

	doc: Remove UI Server documentation.
	+ commit 1b2ad3b73c37d0583b8e438b4707dca60e26ae7e
	* doc/Makefile.am: Remove uiserver.texi
	* doc/gpgme.texi: Remove UI-Server mentions.
	* doc/uiserver.texi: Removed.

2019-11-08  NIIBE Yutaka  <gniibe@fsij.org>

	qt,tests: Take care for old DSA key using deprecated digest algo.
	+ commit c49324200734e8ee8524bc096195e24e8aae87cb
	* lang/qt/tests/t-remarks.cpp (initTestCase): Supply
	allow-weak-key-signatures flag for GnuPG 2.3, which
	normally rejects use of SHA1 digest.

2019-11-06  Andre Heinecke  <aheinecke@gnupg.org>

	qt, tests: Add check for supported versions.
	+ commit e7b5c6405da515101f62acce2837e6c0cc115b76
	* lang/qt/tests/t-encrypt.cpp (decryptSupported): Moved to
	t-support as loopbackSupported.
	* lang/qt/tests/t-remarks.cpp: Check for loopbackSupported.
	* lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.h
	(loopbackSupported): New.

	qt, tests: Replace accidentally commited assert.
	+ commit 024edbbd3c0059654e13c1c6acf78456450469ab
	* lang/qt/test/t-remarks.cpp (testRemarkReplaceSingleUIDExportable):
	Use QVERIFY instead of assert.

	qt,tests: Add test to add an exportable certify.
	+ commit a56f6015e9518180237a70b8abc5ab9804212986
	* lang/qt/test/t-remarks.cpp (testRemarkReplaceSingleUIDExportable):
	New.

2019-11-06  NIIBE Yutaka  <gniibe@fsij.org>

	python: Fix how to generate documentation.
	+ commit 1b840a151ad7f9680ec5144da5efb0ee6c1dcf1f
	* lang/python/doc/Makefile.am: Explicitly write rules to generate rst
	and texinfo files.

2019-11-04  Andre Heinecke  <aheinecke@gnupg.org>

	qt, tests: Add testcase for multiple remarsk.
	+ commit 9cf4db1e5271ae1dd6f7ecb11513203cec368bc6
	* lang/qt/tests/t-remarks.cpp (testMultipleRemarks): New.

	cpp: Add API to obtain mutliple remarks.
	+ commit cb7668caeb71429afce1aded9128334182b233e1
	* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::remarks): New.
	* NEWS: Mention this.

	qt,tests: Move remarks test out and extend it.
	+ commit db888b1cc05723423a3154fe89e6191812c9c869
	* lang/qt/tests/t-various.cpp (testRemarks): Move out.
	* lang/qt/tests/t-remarks.cpp: New.
	* lang/qt/tests/Makefile.am: Update accordingly.

	cpp: Fix dupe_ok state for single uid.
	+ commit 08933c183a4c299eb4696092d6d229f607fce985
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable):
	Add transition from command to dupe_ok

2019-11-01  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Allow adding empty remarks.
	+ commit d61491dd25d86a2bee54e4be29b715d97840be67
	* lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Allow empty
	remarks.

	cpp: Minor optimization in remark lookup.
	+ commit 174caaa6f53e1125724a47dad3a5c991298aee6d
	* lang/cpp/src/key.cpp (UserID::remark): Use C-API.

	cpp: Fix adding duplicated sigs on multiple uids.
	+ commit 266e05eee859b83d97079c2fbbd2f1da010fa412
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp: Add another
	state DUPE_OK2 to allow gpg looping over all uids.

	cpp: Add env var to control editinteractor debug.
	+ commit a4d5394b4607382d846e8c156439ac182f9945d7
	* lang/cpp/src/editinteractor.cpp (EditInteractor::Private::Private):
	Read "GPGMEPP_INTERACTOR_DEBUG" env var.
	(EditInteractor::Private::~Private): Close debug file.

2019-10-29  Andre Heinecke  <aheinecke@gnupg.org>

	core: Fix parsing of userid sigs after a subpkg.
	+ commit 1242c6c93ac63383f648dd84cff847b86f4925f9
	* src/keylist.c (keylist_colon_handler): Do not clear
	out the tmp_uid when a subpacket line is encountered.

	qt,tests: Add test for remarks.
	+ commit 1f3ca698f16465761649d402b999f0e2c9184344
	* lang/qt/tests/t-various.cpp (testRemark): New.

	qt: Extend signkeyjob to handle remarks and dups.
	+ commit 373acd6923f2fc968fb870d2a8a9b49398cb652f
	* lang/qt/src/qgpgmesignkeyjob.cpp: Handle remarks and
	dupeOK.
	* lang/qt/src/signkeyjob.h (SignKeyJob::setDupeOk),
	(SignKeyJob::setRemark): New.

	cpp: Add support for multiple keysigs in edit.
	+ commit 36f7f7a478228a64d3d51a4901a264c8f55f90bb
	* lang/cpp/src/gpgsignkeyeditinteractor.cpp
	(GpgSignKeyEditInteractor::setDupeOk): New.
	(makeTable): Add new tansitions.
	(SignKeyState): Add DUPE_OK Status.
	(GpgSignKeyEditInteractor::action): Handle DUPE_OK.
	(GpgSignKeyEditInteractor::Private::Private): Carry flag.

	cpp: Add convenience API to obtain remarks.
	+ commit 83ecf1686a9a4e7de3a7b176cf272d9f9f640445
	* lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::remark): New.

	core: Add cert-notation support and extended-edit.
	+ commit 0224408c6332648461bdbba562f1a61c947c8ed3
	* src/context.h (gpgme_context): Add new flag for extended-edit.
	* src/engine-gpg.c (append_args_from_sig_notations): Add flags to
	control the kind of notations.
	(gpg_edit): Respect extended-edit and notations.
	(gpg_encrypt_sign, gpg_sign): Update call to
	append_args_from_sig_notations.
	* src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Support
	extended-edit.
	* NEWS, doc/gpgme.texi: Mention extended-edit.

2019-10-28  Andre Heinecke  <aheinecke@gnupg.org>

	core,w32: Initialize dbg_help for socket debugging.
	+ commit fe2892618c20cd40c342cce26ffb6ac4644fd3c3
	* src/w32-io.c (_gpgme_io_select): Initialize dbg_help.

2019-08-06  NIIBE Yutaka  <gniibe@fsij.org>

	json: Fix t-decrypt-verify.out for GnuPG >= 2.3.
	+ commit b97434fbf087f3176daf39699ff579d38d265317
	* tests/json/t-decrypt-verify.out.json: Remove check with key of
	04071FB807287134.

2019-07-16  Andre Heinecke  <aheinecke@gnupg.org>

	core: Fix arg counting in enginge-gpg.
	+ commit 6f4a886b30caaac3a30fcf30a7525d656d7e25ce
	* src/engine-gpg.c (build_argv): Properly check for all
	arguments and allocate memory for them.

2019-07-12  NIIBE Yutaka  <gniibe@fsij.org>

	python: doc: Remove generated files, put rules in Makefile.
	+ commit 36428d8cf153a33faac6a951752cdc76e23f9737
	* lang/python/doc/Makefile.am (EXTRA_DIST): Remove files not
	distributed like files under meta.
	* Add rules to generate .rst and .texi files.
	* lang/python/doc/rst: Remove .rst files to be generated.
	* lang/python/doc/texinfo: Remove .texi files to be generated.

	python: doc: Add suffix for org files.
	+ commit d9387650ffb159bbd04db74c4a1dba6f94e83116


2019-06-13  Werner Koch  <wk@gnupg.org>

	Release 1.13.1.
	+ commit ea11c2a13cd44caf0bab395bd5132bf232318ad8
	* configure.ac: Bump LT versions to c=C33/A22/R1 cpp=C16/A10/R0
	qt=C10/A3/R4.

	python: Fix regression in t-decrypt-verify test.
	+ commit 7d0a979c07d2a32c1e39a9403f009cbe026f77ff
	* lang/python/tests/t-decrypt-verify.py: Comment recent changes.

	python: Set a default-key into gpg.conf for the tests.
	+ commit ad1395f210f3a3d5839f482f1933eac80a94d174
	* lang/python/tests/Makefile.am (gpg.conf): Set a default key.

	core: At debug levels up to 9 print only an ascii dump.
	+ commit 4f11210b21a1914a1daf67474e9b82084b2cac01
	* src/debug.c (_gpgme_debug_buffer): Switch between two output
	formats.

2019-06-06  Werner Koch  <wk@gnupg.org>

	tests: Minor fix to run-threaded.c.
	+ commit f6fd90c99aea8b604d76ae49d29bc5269c236a98
	* tests/run-threaded.c (random_data_close): Correct FD test.

	core: Add commented debug helper to posix-io.c.
	+ commit f84abcad253ace782708c05760e52793814896f4
	* src/posix-io.c (_gpgme_is_fd_valid): New out-commented function.

	core: Fix error return value of _gpgme_run_io_cb.
	+ commit 6b9ff1ba391a4364b37cb116748194f3f33b4f12
	* src/wait.c (_gpgme_run_io_cb): Fix return code.

2019-06-06  Andre Heinecke  <aheinecke@gnupg.org>

	tests: Add option "allow-del" to run-threaded.
	+ commit e6f28273062ff26344163e219c1b784ae99de980
	* tests/run-threaded.c (main): Handle allow-del.
	(allow-del): New. Variable to allow deletion of keys.
	(import): Delete key after import if allow-del is set.
	(delete_impres): Delete keys from an import result.
	(delete_fpr): Delete a key by fingerprint.

2019-06-05  Andre Heinecke  <aheinecke@gnupg.org>

	tests: Implement import in run-threaded.
	+ commit 024a7f75d4b8e017b92a13552b23e7fb1d22a5ce
	* tests/run-threaded.c (import): New.
	(do_data_op): Call it.

2019-06-05  Werner Koch  <wk@gnupg.org>

	core: Prettify _gpgme_io_select debug output again and fix TRACE_SYSRES.
	+ commit 0f68c9f16bdae7295cac4cbf3c9a197840989a85
	* src/debug.c (_gpgme_debug): Take better care of NULL userinfo.
	(_gpgme_debug_end): Rework.
	(_trace_sysres): Print ERRNO and not the supplied RES.

2019-06-05  Andre Heinecke  <aheinecke@gnupg.org>

	tests: Use synced output for error in run-threaded.
	+ commit 3a3648e3a56712261bda4fa866bd2419a740cec8
	* tests/run-threaded.c (do_data_op): Use synced out macro.

	tests: Avoid variable named the same as a macro.
	+ commit 3a11421d0f63b8cb5afa407cd65f763b11033241
	* tests/run-threaded.c (decrypt, verify): Don't use a variable name
	that is also a macro.

	tests,w32: Fix thread creation in run-threaded.
	+ commit 9bbe15ebbc41533fa219d5b3017a26a75bc72731
	* tests/run-threaded.c (create_thread): Check proper return
	value and not return value of CloseHandle.

2019-06-05  Werner Koch  <wk@gnupg.org>

	core: Improve the debug messages even more.
	+ commit 8f9f3224aac78ce9d54e19e73acf7ab659787168
	* src/debug.c (_gpgme_debug): Add arg LINE.  Chnage all callers.
	(_gpgme_debug_begin): Remove.
	* src/debug.h (TRACE_SEQ): Use the LINE arg of _gpgme_debug.

	core: Avoid explicit locks in the debug code.
	+ commit 856d2e8d64f668855b1c22d3d38fe783904c6c48
	* src/debug.c (debug_lock): Remove.  Also remove all users.
	(_gpgme_debug): Use gpgrt_bsprintf to prepare the output and finally
	print using standard fprintf.  Reformat to prefix to be narrower.

2019-06-04  Werner Koch  <wk@gnupg.org>

	json: Print "nan", "-inf", "inf" if needed.
	+ commit f56c996318dfa1c9f0d10582b18c2fce10d24668
	* src/cJSON.c (print_number): Print NaN and INF.

	json: Improve handling of large exponents in the JSON parsor.
	+ commit fabe96126b4ed9c5e07b713813d7db26a02e5e5f
	* src/cJSON.c: Include stdint.h.
	(parse_number): Avoid overflob in SUBSCALE and cap integer values.

	core: Implement recpstring option parsing for gpgsm.
	+ commit 1024884e07f750ce781fa74dffa62e126bdda622
	* src/engine-gpg.c (append_args_from_recipients_string): Detect bad
	options.
	* src/engine-gpgsm.c (set_recipients_from_string): Implement option
	parsing.

	core: Make gpgme_op_encrypt_ext work for CMS.
	+ commit e9ca36f876e1066227668981f5a9e1a7f1031d9e
	* src/engine-gpgsm.c (gpgsm_encrypt): Fix argument check.

2019-06-04  NIIBE Yutaka  <gniibe@fsij.org>

	python: Fix typo in DecryptionError exception.
	+ commit 47135ffdb923de66bc275a37e31811ad22c73dd7
	* lang/python/src/errors.py (DecryptionError): Rename from
	DeryptionError.
	(UnsupportedAlgorithm): Use DecryptionError.

2019-06-03  Andre Heinecke  <aheinecke@gnupg.org>

	Add NEWS for 1.13.1.
	+ commit 49883023f661a18d73f9f2c7a3a98902af62ef6b
	* NEWS: Add news for 1.13.1

2019-05-06  Andre Heinecke  <aheinecke@gnupg.org>

	python: Make EXTRA_DIST files explicit.
	+ commit f9c923bb2d87711235312e8085964372d7480ce4
	* configure.ac: Configure new Makefiles.
	* lang/python/Makefile.am: Remove dirs from extra dist and use
	subdirs.
	* lang/python/examples/Makefile.am, lang/python/src/Makefile.am,
	lang/python/doc/Makefile.am: New. Files that list EXTRA_DIST files.

	Python, doc: Minor style improvement.
	+ commit 63055f13407760c877e5a3a94e564dfb3077dd47
	* lang/python/src/core.py (Context): Retab and shorten
	max line length.

	Merge remote-tracking branch 'origin/dkg/fix-T4276'
	+ commit f303806a110a9813023a5fd9468a55ab0f7fb39d


2019-05-03  Andre Heinecke  <aheinecke@gnupg.org>

	Always use maintainer mode -Wno cflags.
	+ commit 33b13d1c290d7ce35c636cce4265b512fb8e64c3
	* configure.ac (CFLAGS): Move -Wno flags out of the maintainer mode.

	cpp: Fix initialization warning.
	+ commit 0ed81498147723f0e9282df5ae08b8b8e40edd2f
	* lanc/cpp/src/gpggencardkeyinteractor.cpp
	(GpgGenCardKeyInteractor::Private): Fix initialization warning.

2019-05-03  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	python: stop raising BadSignatures from decrypt(verify=True)
	+ commit 4100794e305ba22241ea5a4f7b42bb5189fbd948
	* src/core.py (decrypt): filter out signatures with errors from the
	returned verify_result, but avoid raising BadSignatures
	* tests/t-decrypt-verify.py: ensure that only a single signature is
	returned when evaluating cipher-3.asc, since the other signature is
	unknown.

	python/tests: try to decrypt and verify new test data.
	+ commit bd2d282e572b5d02669238c9e087259b85638477
	* lang/python/tests/t-decrypt.py: test decryption of cipher-3.asc and
	cipher-no-sig.asc
	* lang/python/tests/t-decrypt-verify.py: test decryption and
	verification of cipher-3.asc and cipher-no-sig.asc

	tests: add two new types of encrypted data.
	+ commit c5c3a9d10be415ea7bc0cd9730ad6085f16ee7a0
	* tests/gpg/cipher-3.asc: add an encrypted file containing signatures
	(one from a known key, and one from an unknown key)
	* tests/gpg/cipher-no-sig.asc: add an encrypted file containing no
	signatures at all

	python: make it easier to run a limited number of tests.
	+ commit 30bd1c097544376f257d426d5feb4706fb5d3afd
	* lang/python/tests/Makefile.am: prefer py_tests from the environment
	if present.

2019-05-02  Andre Heinecke  <aheinecke@gnupg.org>

	tests: Add cms mode to run-import.
	+ commit 4746c5c9e2dd9a3ee471a429c19bc1f7fd1d07db
	* tests/run-import.c (show_usage): Add doc for cms / openpgp.
	(main): Handle protocol.

2019-04-24  Andre Heinecke  <aheinecke@gnupg.org>

	cpp: Add wrapper for gpgme_set_global_flag.
	+ commit 7981ec4147f3058d5b56905903456247993dc6f7
	* lang/cpp/src/context.cpp (setGlobalFlag): New.
	* lang/cpp/src/global.h (setGlobalFlag): Export it.

2019-04-19  NIIBE Yutaka  <gniibe@fsij.org>

	core: Fix duplication of close_notify_handler for gpgsm.
	+ commit 7673ef7953482f42cab50dca1810e5c9d10f461e
	* src/engine-gpgsm.c [!USE_DESCRIPTOR_PASSING] (gpgsm_new): Remove
	last call to _gpgme_io_set_close_notify.

	core: Fix error return.
	+ commit 814f6c8de8006830f19a029a879bd92f9e584789
	* src/engine.c (_gpgme_set_engine_info): Add error return.

2019-04-09  Andre Heinecke  <aheinecke@gnupg.org>

	core,w32: Fix minor potential memleak.
	+ commit 140d694e1fddf16fa3fd2371b9a852ebb14622c8
	* src/w32-util.c (_gpgme_create_process_utf8): Free converted
	startup info strings.

	core,w32: Fix new w32-util functions.
	+ commit ecbba12b869106ba03e10b7b7dd80f74d086831b
	* src/w32-util.c (_gpgme_access): Respect mode parameter.
	(_gpgme_create_process_utf8): Convert startupinfo, too.

	core,w32: Improve handling of Unicode paths.
	+ commit a82e3a0ae57a48ba173e282a050680751006c074
	* src/dirinfo.c (get_gpgconf_item): Use _gpgme_access.
	* src/posix-util.c (_gpgme_access): Add forward to normal access.
	* src/sys-util.h (_gpgme_access): New for posix and w32.
	* src/w32-io.c (_gpgme_io_spawn): Use _gpgme_crate_process_utf8.
	* src/w32-util.c (utf8_to_wchar, utf8_to_wchar0): The usual w32 conv.
	(find_program_in_dir): Use _gpgme_access.
	(find_program_at_standard_place): Use wchar API and convert to UTF-8.
	(_gpgme_access): Convert UTF-8 to wchar and use wchar API.
	(_gpgme_create_process_utf8): Convert UTF-8 to wchar and use wchar API.

	core,w32: Show w32-spawn warning only once.
	+ commit 937adfdcbb22f715c5a331e5e2d4546ac15a1b7e
	* src/w32-io.c (_gpgme_io_spawn): Show MessageBox only once.

2019-03-27  Andre Heinecke  <aheinecke@gnupg.org>

	core, w32: Fix format string errors on windows.
	+ commit 4a4680f8901ecdcb7e8d5ed55f48226ccfccd7c8
	* src/debug.c (_gpgme_debug): Use gpgrt_vasprintf instead of
	vfprintf to have a more portable format.

	core: Fix assuan logger-fd hack for windows.
	+ commit 19a4c4daa2cfd075b181d5131a4b8b4d54714b8c
	* src/assuan-support.c (my_spawn): Zero is a perfectly fine fd.

2019-03-26  Andre Heinecke  <aheinecke@gnupg.org>

	core,w32,glib: Fix build of w32-glib-io.c.
	+ commit 213c4bc1eb1f45695cc3955cc722ebb363dcbdd0
	* src/w32-glib-io.c (_gpgme_io_pipe, _gpgme_io_connect): Do not
	use TRACE_SUC in a return statement.

2019-03-26  Werner Koch  <wk@gnupg.org>

	Release GPGME 1.13.0.
	+ commit 1b5a6bf27ac9b2e5a1fc4d5e879bd4901fcad5bb
	* configure.ac: Bump LT versions.
	                For C to C33/A22/R0.
	                For C++ to C15/A9/R0.
	                For Qt to C10/A3/R3.

2019-03-26  Andre Heinecke  <aheinecke@gnupg.org>

	core: Fix a strtoul to strtol.
	+ commit 10576dc427b3746e2c3b9bc40efe618a3bd40519
	* src/assuan-support.c (my_spawn): Fix using strtoul for
	a long.

	cpp: Fix GenCardKeyInteractor and extend it.
	+ commit ffdb75217bc09561cf651dab15cd26e0024d89a7
	* NEWS: Mention interface change.
	* lang/cpp/src/gpggencardkeyinteractor.cpp
	(GpgGenCardKeyInteractor::setAlgo): New.
	(GpgGenCardKeyInteractor::action),
	(GpgGenCardKeyInteractor::nextState: Handle new interface.

2019-03-25  Andre Heinecke  <aheinecke@gnupg.org>

	core, w32: Add hack to translate diag logger-fd.
	+ commit 129def87b262241483ba3a8b6771ad6d07c2e3be
	* src/assuan-support.c (my_spawn): Add hack to
	mark the logger fd for w32spawn translation.

2019-03-20  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Handle diagnostic audit log for CMS.
	+ commit 47369569e23482bdd24a136b071192352b1d1347
	* lang/qt/src/threadedjobmixin.cpp(_detail::audit_log_as_html):
	Handle CMS audit log.

2019-03-19  Werner Koch  <wk@gnupg.org>
	    Andre Heinecke  <aheinecke@gnupg.org>

	core: Support GPGME_AUDITLOG_DIAG for gpgsm.
	+ commit dd21ec997cf4b6ba18538c63c728478110ad1f60
	* src/engine-gpgsm.c (struct engine_gpgsm): Add fields diag_cb and
	diagnostics.
	(close_notify_handler): Close the diag fd on status fd close.
	Handle diag close.
	(gpgsm_cancel): Handle diag.
	(gpgsm_release): Free DIAGNOSTICS.
	(gpgsm_new): Support the diag feature.
	(start): Set a handler for the diag fd.
	(gpgsm_getauditlog): Support GPGME_AUDITLOG_DIAG.

2019-03-13  Andre Heinecke  <aheinecke@gnupg.org>

	cpp: Fix Error::hasSystemError.
	+ commit c4cc47ee8f0bedc58e58ab416689d7014b0df2e7
	* lang/cpp/src/context.cpp (Error::hasSystemError): Invert logic to
	do what it says.

2019-02-28  Werner Koch  <wk@gnupg.org>

	json: Fix cosmetic error in the repl.
	+ commit 1bdab961c51fc038c33ae8116595aa0213ab1dd5
	* src/gpgme-json.c (native_messaging_repl): Use correct var with sizeof.

	tests: Let run-verify print the de-vs flag.
	+ commit b159b2eddd9df5df6cc8f29bd999cf1603c56991
	* tests/run-verify.c (print_result): Chack is_de_vs.
	* tests/run-import.c (main): Fix bad parameter for format string.

2019-02-27  Andre Heinecke  <aheinecke@gnupg.org>

	json: Limit recursion depth.
	+ commit 4a117859e7a512458ab78cfedfae0372805196b1
	* src/cJSON.c (MAX_DEPTH): New. Maximum recursion depth.
	(parse_value, parse_array, parse_object): Carry and check
	depth argument.
	(cJSON_ParseWithOpts): Initialize depth.

2019-02-21  Andre Heinecke  <aheinecke@gnupg.org>

	cpp: Add ostream operators for import result.
	+ commit 73b2f40ae5e6881991dea609b0781373b28d7d30
	* lang/cpp/src/importresult.cpp: Add ostream operators.
	* lang/cpp/src/importresult.h: Update accordingly.

	cpp: Make GpgME::Data::toKeys really const.
	+ commit 6175025c822678102c3f089e37952aa84b19a3ec
	* lang/cpp/src/data.cpp (GpgME::Data::toKeys): Rewind afterards.

2019-02-19  Werner Koch  <wk@gnupg.org>

	core,w32: Fix missing sentinel in dir name builder.
	+ commit 4c49417cc0dbd7f34269aff00fccafba150af744
	* src/w32-util.c (_gpgme_get_gpgconf_path): Add NULL top strconcat.

2019-02-11  Andre Heinecke  <aheinecke@gnupg.org>

	tests: Fix memleak in run-threaded.
	+ commit f8312d7c333193582dcb5816198219b9564023f0
	* tests/run-threaded.c (verify): Free msg.

2019-02-10  Ben McGinnes  <ben@adversary.org>

	python: examples.
	+ commit 302d5ef52e095378231efd54677b5c315354ad78
	* A rather obvious variant of the existing key import examples, except
	  directed at Mailvelope's keyserver.
	* Yeah, Werner, I know ... but it exists because I used it and there's
	  no harm in sharing.

2019-01-30  Ben McGinnes  <ben@adversary.org>

	python: docs.
	+ commit e005052f4d5b29beda2252f8042dbf5728f5e2aa
	* Version bump in preparation for whenever GPGME 1.13.0 happens.
	* Ran the post_installer.py for docs preparation again.

2019-01-27  Ben McGinnes  <ben@adversary.org>

	python: post installer script.
	+ commit 2de1e599770cdb129b84302d963f65fdd3ddd2a4
	* Removed auto-generated .texi files from doc/src/ so only the
	  corrected versions are left.
	* Which means now it is complete, but with the initial work to expand
	  it with info file generation later.

	python: post installer docs fix script.
	+ commit 1e265723653042bc1010b457537b69a2011b43b7
	* Moved post_installer.py into the examples/howto/ directory.
	* Added instructions for its use to the Python Bindings HOWTO.
	* Ran it as intended from the lang/python/ directory in order to both
	  prove it works and quickly and easily get the updated howto
	  replicated.  Also to fix all those .texi files.

2019-01-25  Werner Koch  <wk@gnupg.org>

	json: Better use gpgme_free.
	+ commit ed81892917f47dddc23aa99d88733e3f8f344256
	* src/gpgme-json.c (subkey_to_json): here

	json: Fix minor memory leaks.
	+ commit 7f2423371964263784252cf839269023b6573bd2
	* src/gpgme-json.c (interactive_repl): Fix memleak.
	(subkey_to_json): Ditto
	(op_config): Delay init of j_comps to avoid a leak on error.

2019-01-16  NIIBE Yutaka  <gniibe@fsij.org>

	build: With LD_LIBRARY_PATH defined, use --disable-new-dtags.
	+ commit 66bcb8acb2452cf19318023ed0ff1ea7d7bb8439
	* configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags.
	* tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE.
	* lang/cpp/tests/Makefile.am, lang/qt/tests/Makefile.am: Likewise.
	* tests/gpg/Makefile.am, tests/gpgsm/Makefile.am: Likewise.
	* tests/json/Makefile.am, tests/opassuan/Makefile.am: Likewise.

2019-01-15  Andre Heinecke  <aheinecke@gnupg.org>

	tests: Add diagnostic example to run-import.c.
	+ commit ce327f994a2888b807b63cf202ddcecc3fb9c685
	* tests/run-import.c (main): Show diagnostics in verbose mode.

2019-01-09  Andre Heinecke  <aheinecke@gnupg.org>

	qt: Use tofu conflict test keys without expiry.
	+ commit 66376f3e206a1aa791d712fb8577bb3490268f60
	* lang/qt/tests/t-tofuinfo.cpp: Use new test keys without
	expiry.

2019-01-02  Ben McGinnes  <ben@adversary.org>

	python docs: post installer.
	+ commit a0dbdfebbb60f0d34dd16894803e95221d8be668
	* Merging post installer script.
	* Included ammended Sphinx config file to try to reduce the
	  auto-generated EPUB validation failures it produces.

	python: post installer doc fix script.
	+ commit a2e7c863c821ca035f1e3f8077bdae3b0f81f5eb
	* Got rid of the bash bit in the comments.
	* Made the final printed instructions far more obvious.

	python: examples.
	+ commit 207d4289d84971d11ec1824fbe7d4a2be63b56e4
	* Fixed inter-edit.py so it will actually work now.
	* made 3 others executable.
	* Fixed the semantics of assuan.py's instructions.

2018-12-26  Ben McGinnes  <ben@adversary.org>

	python: examples.
	+ commit d406471d4bf9c79140e4bc91de7d316ec7465892
	* Fixed inter-edit.py so it will actually work now.
	* made 3 others executable.
	* Fixed the semantics of assuan.py's instructions.

2018-12-24  Ben McGinnes  <ben@adversary.org>

	python: docs processing.
	+ commit ef9355c2fe8f81ccd73e0ed45ce33e925928f8e1
	* Added some EPUB specific config options to the Sphinx config file
	  which might help reduce some of Sphinx's more stupid default errors
	  with EPUB validation.
	* Added lang/python/post_installer.py script for automating the
	  generation of .texi and .rst "source" files from the real source
	  files written in Org mode.  Includes recreating the Sphinx Makefile
	  which is excluded due to the m4 toolchain in parent directories, it
	  also handles the rewriting of the reST index file properly and
	  rewrites the .texi files so they don't impale themselves on Unicode.

2018-12-21  Ben McGinnes  <ben@adversary.org>

	python: docs.
	+ commit 06bca0eaa8de8405fafc892ab7864990f8853bcf
	* Found a bug in org-mode's export to texinfo function which will
	  require either manual modification of each file or a customs sed run
	  over the generated files for all updates.
	* Manually updated the current files for now, but will need to add
	  some post-install processing scripts for future use (I already have
	  some of these for my specific setup, they just need to be made a
	  little more generic and platform independent for here).

	python: groups example.
	+ commit dc5f416351e47bfafb46a53f8fd8435dd6c231ba
	* Tightened code a little more.

2018-12-17  Ben McGinnes  <ben@adversary.org>

	python docs: house keeping.
	+ commit daded4925489d306f6a65271c2f55101b331187c
	* Dropped the ASCII copyright line, since even MS have conceded their
	  battle against Unicode enough to load UTF-8.
	* Fixed the drafts section since there will be less need of multiple
	  output format testing from next year.

2018-12-17  Werner Koch  <wk@gnupg.org>

	core: Silence newer compiler warnings.
	+ commit 8b41fb08f00f01fe0dd8b2b5455d3422d97ddc60
	* configure.ac: Add -Wno-format-truncation and
	  -Wno-sizeof-pointer-div.
	* src/b64dec.c (_gpgme_b64dec_proc): Add fallthrough annotation.
	* src/cJSON.c (parse_string): Ditto.
	* src/gpgme-json.c (main): Ditto.

2018-12-16  Ben McGinnes  <ben@adversary.org>

	python: howto and examples.
	+ commit fbc298dc1b0fbb51ebc92a9d56c45b78c5e9989d
	* Tightening up both the documentation and some of the example code.

2018-12-13  Ben McGinnes  <ben@adversary.org>

	python: examples bugfix.
	+ commit 4308d172816f3172454fac1dc0771014056764a1
	* Fixed a bug in the ProtonMail importers (pmkey-*.py) where multiple
	  keys found for a username would always result in the last email
	  address checked being returned in the printed output for all located
	  keys.

2018-12-12  Ben McGinnes  <ben@adversary.org>

	python: new example script.
	+ commit 3849b60e22432ef33f0d1d39b88e07922ad7779e
	* Though Keybase really should not be encouraged due to
	  disengenuosness and FUD emanating from that souce, this new script
	  will obtain a key hosted on that site and import it when supplied
	  with the keybase username.

	python: what's new summary.
	+ commit 3ca7cf07f5d3ec4af89e69ed13ea7ab701e33c03
	* Added a little more detail to the what's new section.

	python: advanced howto example.
	+ commit 64758a0dac4c7c3b312dccbc1661813e2c3e2888
	* Added Cython requirement to this advanced use case.

	python: howto examples equirements.
	+ commit 4c324ac1beb710714262af0040dea21232ba87d9
	* Added small requirements.txt file for additional modules not in the
	  standard python library and not including the bindings themselves
	  and not including Cython, which is for more advanced examples.

2018-12-10  Ben McGinnes  <ben@adversary.org>

	python: hkp key importer.
	+ commit 772b5aae24a2a3a996f399024845de612192fc2f
	* Tweaked it slightly to avoid repetition of key searches when there
	  is only one search pattern to check (i.e. usually a single key ID or
	  fingerprint).

	python: HKP search and import updates.
	+ commit 2e7a14c9b369096775a035091c197f2d438142a0
	* Tweaked the code again so that it can also handle the cases where
	  someone has included a hexadecimal string in their user ID.
	* Updated the HOWTO to match.
	* Exported to .rst and .texi.

	python: key import via HKP example.
	+ commit fe7e01d164b64ad5e7f65cb80e4bf13f06d8d3ef
	* Fixed the logic used to search for any given pattern.
	* Added a sensible method of checking whether a pattern is a key ID or
	  fingerprint.

	python: docs updates.
	+ commit 7c63bfe4ab434b61a871aec4bc1d0a05b4c068e6
	* Multiple updates, expanding on the Windows installation issues.
	* Also adding to the new maintenance mode reference document.
	* Includes content relating to the resolution of T4271 and T4191.

2018-12-07  Andre Heinecke  <aheinecke@intevation.de>

	core: Fix ERR_INV_ARG check in genkey_start.
	+ commit 78f6291a3bf56769f53af66fe39718ddd2d74bf2
	* src/genkey.c (gpgme_op_genkey_start): Fix check for
	parms.

2018-12-05  Ben McGinnes  <ben@adversary.org>

	python: examples.
	+ commit dc5600d306f808767068bad5117232fc3d35ac43
	* cut some of then poor len usage.

2018-12-05  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	python: overhaul logic of Context.decrypt()
	+ commit 65c28da4e49a8778607fdcf6f51a840166616d9f
	* lang/python/src/core.py (Context.decrypt): simplify and clarify the
	logic behind handling verify=False.
	* lang/python/tests/t-decrypt.py: ensure that we test verify=False

	python: ctx.decrypt() has problematic error handling.
	+ commit 878a0ad01265dba5b06429276bdcc5c21fedb6f5
	* lang/python/src/core.py (Context.decrypt): document odd
	error-handling behavior as a potential problem to be addressed.
