Released 0.3.5
[gpgme.git] / NEWS
1 Noteworthy changes in version 0.3.5 (2002-04-01)
2 ------------------------------------------------
3
4  * gpgme_op_encrypt can be called with RECIPIENTS being 0.  In this
5    case, symmetric encryption is performed.  Note that this requires a
6    passphrase from the user.
7
8  * More information is returned for X.509 certificates.
9
10  * Interface changes relative to the 0.3.4 release:
11 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 gpgme_op_encrypt                EXTENDED: Symmetric encryption possible
13 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14
15 Noteworthy changes in version 0.3.4 (2002-03-04)
16 ------------------------------------------------
17
18  * gpgme_op_encrypt does now fail with GPGME_Invalid_Recipients if
19    some recipients have been invalid, whereas earlier versions
20    succeeded in this case.  The plaintext is still encrypted for all valid
21    recipients, so the application might take this error as a hint that
22    the ciphertext is not usable for all requested recipients.
23    Information about invalid recipients is available with gpgme_get_op_info.
24
25  * gpgme_op_verify now allows to pass an uninitialized data object as
26    its plaintext argument to check for normal and cleartext
27    signatures.  The plaintext is then returned in the data object.
28
29  * New interfaces gpgme_set_include_certs and gpgme_get_include_certs
30    to set and get the number of certifications to include in S/MIME
31    signed messages.
32
33  * New interfaces gpgme_op_encrypt_sign and gpgme_op_encrypt_sign_start
34    to encrypt and sign a message in a combined operation.
35
36  * New interface gpgme_op_keylist_ext_start to search for multiple patterns.
37
38  * gpgme_key_get_ulong_attr supports the GPGME_ATTR_EXPIRE attribute.
39
40  * Interface changes relative to the 0.3.3 release:
41 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 gpgme_op_encrypt                CHANGED: Can fail with GPGME_Invalid_Recipients
43 gpgme_op_verify                 EXTENDED: Accepts uninitialized text argument
44 gpgme_key_get_ulong_attr        EXTENDED: Supports GPGME_ATTR_EXPIRE
45 gpgme_set_include_certs         NEW
46 gpgme_get_include_certs         NEW
47 gpgme_op_encrypt_sign           NEW
48 gpgme_op_encrypt_sign_start     NEW
49 gpgme_op_keylist_ext_start      NEW
50 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51
52 Noteworthy changes in version 0.3.3 (2002-02-12)
53 ------------------------------------------------
54
55  * Fix the Makefile in jnlib.
56
57  * Fix the test suite (hopefully).  It should clean up all its state
58    with `make check' now.
59
60
61 Noteworthy changes in version 0.3.2 (2002-02-10)
62 ------------------------------------------------
63
64  * Remove erroneous dependency on libgcrypt in jnlib.
65
66
67 Noteworthy changes in version 0.3.1 (2002-02-09)
68 ------------------------------------------------
69
70  * There is a Texinfo manual documenting the API.
71
72  * The gpgme_set_keylist_mode function returns an error, and changed
73    its meaning.  It is no longer usable to select between normal and
74    fast mode (newer versions of GnuPG will always be fast), but
75    selects between local keyring, remote keyserver, or both.
76    For this, two new macros are defined, GPGME_KEYLIST_MODE_LOCAL
77    and GPGME_KEYLIST_MODE_EXTERN.  To make it possible to modify the
78    current setting, a fucntion gpgme_get_keylist_mode was added to
79    retrieve the current mode.
80
81  * gpgme_wait accepts a new argument STATUS to return the error status
82    of the operation on the context.  Its definition is closer to
83    waitpid() now than before.
84
85  * The LENGTH argument to gpgme_data_new_from_filepart changed its
86    type from off_t to the unsigned size_t.
87
88  * The R_HD argument to the GpgmePassphraseCb type changed its type
89    from void* to void**.
90
91  * New interface gpgme_op_trustlist_end() to match
92    gpgme_op_keylist_end().
93
94  * The CryptPlug modules have been renamed to gpgme-openpgp and
95    gpgme-smime, and they are installed in pkglibdir by `make install'.
96
97  * An idle function can be registered with gpgme_register_idle().
98
99  * The GpgSM backend supports key generation with gpgme_op_genkey().
100
101  * Interface changes relative to the 0.3.0 release:
102 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
103 gpgme_data_new_from_filepart    CHANGED: Type of LENGTH is size_t.
104 GpgmePassphraseCb               CHANGED: Type of R_HD is void **.
105 gpgme_wait                      CHANGED: New argument STATUS.
106 gpgme_set_keylist_mode          CHANGED: Type of return value is GpgmeError.
107                                 The function has a new meaning!
108 gpgme_get_keylist_mode          NEW
109 GPGME_KEYLIST_MODE_LOCAL        NEW
110 GPGME_KEYLIST_MODE_EXTERN       NEW
111 gpgme_op_trustlist_next         NEW
112 GpgmeIdleFunc                   NEW
113 gpgme_register_idle             NEW
114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
115
116 Noteworthy changes in version 0.3.0 (2001-12-19)
117 ------------------------------------------------
118  
119  * New interface gpgme_set_protocol() to set the protocol and thus the
120    crypto engine to be used by the context.  Currently, the OpenPGP
121    and the CMS protocols are supported.  They are specified by the new
122    preprocessor symbols GPGME_PROTOCOL_OpenPGP and GPGME_PROTOCOL_CMS.
123    A new context uses the OpenPGP engine by default.
124
125  * gpgme_get_engine_info() returns information for all crypto engines
126    compiled into the library.  The XML format has changed.  To
127    reliably get the version of a crypto engine, the <version> tag
128    after the appropriate <protocol> tag has to be looked for.
129
130  * New interface gpgme_engine_check_version(), obsoleting
131    gpgme_check_engine().  Check the version of all engines you are
132    supporting in your software.
133
134  * GpgmeKey lists the user ids in the order as they are returned by
135    GnuPG, first the primary key with index 0, then the sub-user ids.
136
137  * New operation gpgme_op_decrypt_verify() to decrypt and verify
138    signatures simultaneously.
139
140  * The new interface gpgme_op_keylist_end() terminates a pending
141    keylist operation.  A keylist operation is also terminated when
142    gpgme_op_keylist_next() returns GPGME_EOF.
143
144  * GPGME can be compiled without GnuPG being installed (`--with-gpg=PATH'),
145    cross-compiled, or even compiled without support for GnuPG
146    (`--without-gpg').
147
148  * GPGME can be compiled with support for GpgSM (GnuPG for S/MIME,
149    `--with-gpgsm=PATH').  It is enabled by default if the `gpgsm' is found
150    in the path, but it can also be compiled without support for GpgSM
151    (`--without-gpgsm').
152
153  * CryptPlug modules for GPGME are included and can be enabled at
154    configure time (`--enable-gpgmeplug').  There is one module which
155    uses the GnuPG engine (`gpgmeplug') and one module which uses the
156    GpgSM engine (`gpgsmplug').
157
158  * Interface changes relative to the latest 0.2.x release:
159 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
160 gpgme_key_get_as_xml            CHANGED: Sub-user ids reversed in order.
161 gpgme_key_get_string_attr       CHANGED: User ids reversed in order.
162 gpgme_key_get_ulong_attr        CHANGED: User ids reversed in order.
163 gpgme_get_engine_info           CHANGED: New format, extended content.
164 gpgme_engine_check_version      NEW
165 gpgme_decrypt_verify_start      NEW
166 gpgme_decrypt_verify            NEW
167 gpgme_op_keylist_next           NEW
168 gpgme_set_protocol              NEW
169 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
170
171
172 Noteworthy changes in version 0.2.3 (2001-09-17)
173 ------------------------------------------------
174
175  * New function gpgme_get_op_info which can be used to get the micalg
176    parameter needed for MOSS.
177
178  * New functions gpgme_get_armor and gpgme_get_textmode.
179
180  * The usual bug fixes and some minor functionality improvements.
181
182  * Added a simple encryption component for MS-Windows; however the
183    build procedure might have some problems.
184
185
186 Noteworthy changes in version 0.2.2 (2001-06-12)
187 ------------------------------------------------
188  
189  * Implemented a key cache.
190
191  * Fixed a race condition under W32 and some other bug fixes.
192
193
194 Noteworthy changes in version 0.2.1 (2001-04-02)
195 ------------------------------------------------
196
197  * Changed debug output and GPGME_DEBUG variable (gpgme/debug.c)
198
199  * Handle GnuPG's new key capabilities output and support revocation
200    et al. attributes
201
202  * Made the W32 support more robust.
203
204
205  Copyright 2001, 2002 g10 Code GmbH
206
207  This file is free software; as a special exception the author gives
208  unlimited permission to copy and/or distribute it, with or without
209  modifications, as long as this notice is preserved.
210
211  This file is distributed in the hope that it will be useful, but
212  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
213  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.