gpg: Add option --exit-on-status-write-error
[gpgme.git] / NEWS
diff --git a/NEWS b/NEWS
index b4b3086..b13c3a6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,310 @@
-Noteworthy changes in version 1.3.3 (unreleased)
+Noteworthy changes in version 1.7.1 (unreleased) [C26/A15/R_]
 ------------------------------------------------
 
+Noteworthy changes in version 1.7.0 (2016-09-21) [C26/A15/R0]
+------------------------------------------------
+
+ * New language bindings for Python 2 and 3.
+
+ * New language Bindings for C++ and the Qt-Framework API.
+
+ * New functions gpgme_op_createkey and gpgme_op_createsubkey to make
+   key creation easier (requires GnuPG 2.1).
+
+ * New functions gpgme_op_adduid and gpgme_op_revuid to make user id
+   management easier (requires GnuPG 2.1).
+
+ * New function gpgme_op_keysign to make key signing easier (requires
+   GnuPG 2.1).
+
+ * New function gpgme_op_interact to replace the now deprecated
+   functions gpgme_op_edit and gpgme_op_card_edit.
+
+ * New function gpgme_pubkey_algo_string to convert a public key
+   algorithm into a GnuPG 2.1 style string.
+
+ * Support for GnuPG 2.1's TOFU trust model.
+
+ * Notation flags are now correctly set on verify.
+
+ * New global flag "require-gnupg" to set a minimal gnupg version.
+
+ * More supported items in gpgme_get_dirinfo.
+
+ * New function gpgme_data_set_flag and flag "size-hint".
+
+ * New function gpgme_set_ctx_flag and flags "full-status" and
+   "raw-description".
+
+ * Improved gpgme_data_identify to distinguish more file types.
+
+ * New flag GPGME_ENCRYPT_SYMMETRIC for gpgme_op_encrypt to allow
+   mixed public key and symmetric encryption.
+
+ * New field KEYGRIP in gpgme_subkey_t.  New fields FPR in gpgme_key_t.
+
+ * New flag GPGME_DATA_ENCODING_MIME to declare that the encrypted or
+   signed data is a valid MIME part.  This is to support future GnuPG
+   versions.
+
+ * Interface changes relative to the 1.6.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_pubkey_algo_string       NEW.
+ GPGME_PK_EDDSA                 NEW.
+ gpgme_set_ctx_flag             NEW.
+ gpgme_data_set_flag            NEW.
+ gpgme_op_createkey             NEW.
+ gpgme_op_createkey_start       NEW.
+ gpgme_op_createsubkey          NEW.
+ gpgme_op_createsubkey_start    NEW.
+ gpgme_op_adduid_start          NEW.
+ gpgme_op_adduid                NEW.
+ gpgme_op_revuid_start          NEW.
+ gpgme_op_revuid                NEW.
+ gpgme_op_keysign_start         NEW.
+ gpgme_op_keysign               NEW.
+ gpgme_op_tofu_policy_start     NEW.
+ gpgme_op_tofu_policy           NEW.
+ gpgme_op_interact_start        NEW.
+ gpgme_op_interact              NEW.
+ gpgme_interact_cb_t            NEW.
+ gpgme_op_edit_start            DEPRECATED.
+ gpgme_op_edit                  DEPRECATED.
+ gpgme_op_card_edit_start       DEPRECATED.
+ gpgme_op_card_edit             DEPRECATED.
+ gpgme_edit_cb_t                DEPRECATED.
+ gpgme_status_code_t            DEPRECATED.
+ gpgme_genkey_result_t          EXTENDED: New fields pubkey and seckey.
+ gpgme_signature_t              EXTENDED: New field key.
+ gpgme_key_t                    EXTENDED: New field fpr.
+ gpgme_subkey_t                 EXTENDED: New field keygrip.
+ gpgme_user_id_t                EXTENDED: New field tofu.
+ gpgme_tofu_policy_t            NEW.
+ gpgme_tofu_info_t              NEW.
+ GPGME_STATUS_KEY_CONSIDERED    NEW.
+ GPGME_STATUS_TOFU_USER         NEW.
+ GPGME_STATUS_TOFU_STATS        NEW.
+ GPGME_STATUS_TOFU_STATS_LONG   NEW.
+ GPGME_STATUS_NOTATION_FLAGS    NEW.
+ GPGME_KEYLIST_MODE_WITH_TOFU   NEW.
+ GPGME_DATA_TYPE_PGP_ENCRYPTED  NEW.
+ GPGME_DATA_TYPE_PGP_SIGNATURE  NEW.
+ GPGME_DATA_ENCODING_MIME       NEW.
+ GPGME_ENCRYPT_SYMMETRIC        NEW.
+ GPGME_CREATE_SIGN              NEW.
+ GPGME_CREATE_ENCR              NEW.
+ GPGME_CREATE_CERT              NEW.
+ GPGME_CREATE_AUTH              NEW.
+ GPGME_CREATE_NOPASSWD          NEW.
+ GPGME_CREATE_SELFSIGNED        NEW.
+ GPGME_CREATE_NOSTORE           NEW.
+ GPGME_CREATE_WANTPUB           NEW.
+ GPGME_CREATE_WANTSEC           NEW.
+ GPGME_CREATE_FORCE             NEW.
+ GPGME_KEYSIGN_LOCAL            NEW.
+ GPGME_KEYSIGN_LFSEP            NEW.
+ GPGME_INTERACT_CARD            NEW.
+
+
+Noteworthy changes in version 1.6.0 (2015-08-26) [C25/A14/R0]
+------------------------------------------------
+
+ * Added gpgme_set_offline to do a key listinging w/o requiring CRL.
+
+ * Added gpgme_set_status_cb to allow a user to see some status
+   messages.
+
+ * Added an export mode for secret keys.
+
+ * More precise error codes are returned if GnuPG >= 2.1.8 is used.
+
+ * The passphrase handler for the loopback mode has been improved and may
+   also be used with genkey.
+
+ * [w32] The standard GnuPG 2.1 install directory is now seached for
+   gpgconf.exe before a registry specified directory and the Gpg4win
+   install directory.
+
+ * [w32] gpgme-w32spawn.exe will now only be searched in the gpgme DLL
+   directory.
+
+ * Interface changes relative to the 1.5.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_set_offline              NEW.
+ gpgme_get_offline              NEW.
+ gpgme_set_status_cb            NEW.
+ gpgme_get_status_cb            NEW.
+ GPGME_EXPORT_MODE_SECRET       NEW
+ GPGME_EXPORT_MODE_RAW          NEW.
+ GPGME_EXPORT_MODE_PKCS12       NEW.
+
+
+Noteworthy changes in version 1.5.5 (2015-06-08) [C24/A13/R4]
+------------------------------------------------
+
+ * Fixed crash in key listings for user ids with a backslash.
+
+ * Fixed regression for GPGSM use with GnuPG < 2.1.
+
+ * Properly set signature summary for revoked OpenPGP keys.
+
+
+Noteworthy changes in version 1.5.4 (2015-04-13) [C24/A13/R3]
+------------------------------------------------
+
+ * Fixed a possible crash in the debug code.
+
+ * Fixed building for Windows with newer versions of Mingw.
+
+
+Noteworthy changes in version 1.5.3 (2014-12-11) [C24/A13/R2]
+-------------------------------------------------------------
+
+ * The export key functions do now return an error if used with the
+   latest GnuPG version.
+
+
+Noteworthy changes in version 1.5.2 (2014-11-21) [C24/A13/R1]
+-------------------------------------------------------------
+
+ * gpgme-tool is now installed.
+
+ * Fix external listing for modern keyservers.
+
+ * Minor other fixes.
+
+
+Noteworthy changes in version 1.5.1 (2014-07-30) [C24/A13/R0]
+-------------------------------------------------------------
+
+ * Fixed possible overflow in gpgsm and uiserver engines.
+   [CVE-2014-3564]
+
+ * Added support for GnuPG 2.1's --with-secret option.
+
+ * Interface changes relative to the 1.5.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ GPGME_KEYLIST_MODE_WITH_SECRET NEW.
+
+
+Noteworthy changes in version 1.5.0 (2014-05-21) [C23/A12/R0]
+-------------------------------------------------------------
+
+ * On Unices the engine file names are not not anymore hardwired but
+   located via the envvar PATH.  All options to set the name of the
+   engines for the configure run are removed.
+
+ * If GPGME finds the gpgconf binary it defaults to using gpg2 or
+   whatever gpgconf tells as name for the OpenPGP engine.  If gpgconf
+   is not found, GPGME looks for an engine named "gpg".
+
+ * New feature to use the gpgme I/O subsystem to run arbitrary
+   commands.
+
+ * New flag to use encryption without the default compression step.
+
+ * New function to access "gpg-conf --list-dirs"
+
+ * New configure option --enable-fixed-path for use by Android.
+
+ * Support ECC algorithms.
+
+ * Interface changes relative to the 1.4.3 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_get_dirinfo              NEW.
+ gpgme_op_spawn_start           NEW.
+ gpgme_op_spawn                 NEW.
+ GPGME_PROTOCOL_SPAWN           NEW.
+ GPGME_SPAWN_DETACHED           NEW.
+ GPGME_SPAWN_ALLOW_SET_FG       NEW.
+ GPGME_ENCRYPT_NO_COMPRESS      NEW.
+ GPGME_PK_ECC                   NEW.
+ GPGME_MD_SHA224                NEW.
+ gpgme_subkey_t                 EXTENDED: New field curve.
+ GPGME_STATUS_PLAINTEXT_LENGTH  NEW.
+ GPGME_STATUS_MOUNTPOINT        NEW.
+ GPGME_STATUS_PINENTRY_LAUNCHED NEW.
+ GPGME_STATUS_ATTRIBUTE         NEW.
+ GPGME_STATUS_BEGIN_SIGNING     NEW.
+ GPGME_STATUS_KEY_NOT_CREATED   NEW.
+
+
+Noteworthy changes in version 1.4.3 (2013-08-12) [C22/A11/R0]
+-------------------------------------------------------------
+
+ * The default engine names are now taken from the output of gpgconf.
+   If gpgconf is not found the use of gpg 1 is assumed.
+
+ * Under Windows the default engines names are first searched in the
+   installation directory of the gpgme DLL.
+
+ * New function gpgme_data_identify to detect the type of a message.
+
+ * Interface changes relative to the 1.4.2 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_signers_count            NEW.
+ gpgme_data_type_t              NEW.
+ gpgme_data_identify            NEW.
+
+
+Noteworthy changes in version 1.4.2 (2013-05-28) [C21/A10/R0]
+-------------------------------------------------------------
+
+ * Allow symmetric encryption with gpgme_op_encrypt_sign.
+
+ * Fixed mismatching off_t definitions on Windows.
+
+ * Interface changes relative to the 1.4.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ gpgme_off_t                    NEW.
+ gpgme_size_t                   NEW.
+ GPGME_PROTOCOL_OPENPGP         NEW alias.
+
+
+Noteworthy changes in version 1.4.1 (2013-05-01) [C20/A9/R1]
+------------------------------------------------------------
+
+ * Fixed reading of gpg.conf files with excessive use of the group
+   option.
+
+ * Fixed building with the i686-w64-mingw32 toolchain.
+
+ * Disabled FD passing by default for Apple.
+
+
+Noteworthy changes in version 1.4.0 (2013-02-26) [C20/A9/R0]
+------------------------------------------------------------
+
+ * New function gpgme_set_global_flag to help debugging on Android.
+
+ * New function gpgme_io_writen as a convenience wrapper around
+   gpgme_io_write.
+
+ * New functions to support the pinentry mode feature of GnuPG 2.1.
+
+ * New macro GPGME_VERSION_NUMBER to allow supporting different API
+   versions without the need for a configure test.
+
+ * Several improvements for gpgme-tool.
+
+ * Better logging of the common "invalid engine" error code.
+
+ * Support for FD passing is now enabled by default.  The configure
+   option --disable-fd-passing may be used to disable this.
+
  * Interface changes relative to the 1.3.1 release:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ GPGME_VERSION_NUMBER           NEW.
+ gpgme_io_writen                NEW.
  gpgme_set_global_flag          NEW.
+ gpgme_set_pinentry_mode        NEW.
+ gpgme_get_pinentry_mode        NEW.
+ gpgme_pinentry_mode_t          NEW.
+ GPGME_PINENTRY_MODE_DEFAULT    NEW.
+ GPGME_PINENTRY_MODE_ASK        NEW.
+ GPGME_PINENTRY_MODE_CANCEL     NEW.
+ GPGME_PINENTRY_MODE_ERROR      NEW.
+ GPGME_PINENTRY_MODE_LOOPBACK   NEW.
 
 
 Noteworthy changes in version 1.3.2 (2012-05-02)
@@ -977,7 +1278,7 @@ gpgme_trust_item_release   DEPRECATED: Use gpgme_trust_item_unref.
 gpgme_trust_item_get_string_attr DEPRECATED
 gpgme_trust_item_get_ulong_attr        DEPRECATED
 gpgme_get_key                  CHANGED: Removed force_update argument.
-gpgme_sub_key_t                        NEW
+gpgme_subkey_t                 NEW
 gpgme_key_sig_t                        NEW
 gpgme_user_id_t                        NEW
 gpgme_key_t                    CHANGED: Now has user accessible data members.