[Announce] GPGME 0.4.3 released

Marcus Brinkmann Marcus.Brinkmann at ruhr-uni-bochum.de
Fri Oct 10 12:05:00 CEST 2003

We are pleased to announce version 0.4.3 of GnuPG Made Easy,
a library designed to make access to GnuPG easier for applications.
It may be found in the file (about 776 KB compressed)

It should soon appear on the mirrors listed at

Bug reports and requests for assistance should be sent to
gnupg-devel at gnupg.org.

The md5sum checksums for this distibution are
882f7d6c885b89e9aa83906e1989829f  gpgme-0.4.2-0.4.3.diff.gz
a4cb2a2ba1689f0376bc1affc987f183  gpgme-0.4.3.tar.gz
c4a8959c8268f1b4303c0099a7d3dfce  gpgme-0.4.3.tar.gz.sig

PLEASE NOTE: This is an unstable development version for testing.
The latest stable release is 0.3.15 and available from

Noteworthy changes in version 0.4.3 (2003-10-06)
 * libgpgme should not be used for threaded programs anymore.  This
   never worked reliably in all cases, because you had to
   be careful about the linking order and libtool wouldn't do that for
   you automatically.  Instead, now you have to link against
   libgpgme-pthread for applications using pthread and libgpgme-pth for
   applications using GNU Pth.
   The old code for automagically detecting the thread library is
   still part of libgpgme, but it is DEPRECATED.
 * There are new automake macros AM_PATH_GPGME_PTH and
   AM_PATH_GPGME_PTHREAD, which support checking for thread-enabled
   versions of GPGME.  They define GPGME_PTH_CFLAGS, GPGME_PTH_LIBS,
   variables of course also include the configuration for the thread
   package itself.  Alternatively, use libtool.
 * gpgme_strerror_r as a thread safe variant of gpgme_strerror was
 * gpgme-config doesn't support setting the prefix or exec prefix
   anymore.  I don't think it ever worked correctly, and it seems to
   be pointless.
 * gpgme_get_key fails with GPG_ERR_AMBIGUOUS_NAME if the key ID
   provided was not unique, instead returning the first matching key.
 * gpgme_key_t and gpgme_subkey_t have a new field, can_authenticate,
   that indicates if the key can be used for authentication.
 * gpgme_signature_t's status field is now correctly set to an error
   with error code GPG_ERR_NO_PUBKEY if public key is not found.
 * gpgme_new_signature_t's class field is now an unsigned int, rather
   than an unsigned long (the old class field is preserved for
   backwards compatibility).
 * A new function gpgme_set_locale() is provided to allow configuring
   the locale for the crypto backend.  This is necessary for text
   terminals so that programs like the pinentry can be started with
   the right locale settings for the terminal the application is running
   on, in case the terminal has different settings than the system
   default (for example, if it is a remote terminal).  You are highly
   recommended to call the following functions directly after
   #include <locale.h>
   setlocale (LC_ALL, "");
   gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
   gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
   GPGME can not do this for you, as setlocale is not thread safe, and
   there is no alternative.
 * The signal action for SIGPIPE is now set to SIG_IGN by
   gpgme_check_version, instead the first time a crypto engine is
   started (which is not well defined).
 * In the output of gpgme_hash_algo_name, change RMD160 to RIPEMD160,
   TIGER to TIGER192, CRC32-RFC1510 to CRC32RFC1510, and CRC24-RFC2440
   to CRC24RFC2440.  For now, these strings can be used as the MIC
   parameter for PGP/MIME (if appropriately modified).
 * Interface changes relative to the 0.4.2 release:
gpgme_strerror_t                NEW
gpgme_get_key                   CHANGED: Fails correctly if key ID not
gpgme_key_t                     EXTENDED: New field can_authenticate.
gpgme_subkey_t                  EXTENDED: New field can_authenticate.
gpgme_new_signature_t           CHANGED: New type for class field.
gpgme_set_locale                NEW
gpgme_hash_algo_name            CHANGED: Slight adjustment of algo names.

Marcus Brinkmann
mb at g10code.de

More information about the Gnupg-devel mailing list