post release version bump.
[libgcrypt.git] / NEWS
1 Noteworthy changes in version 1.1.93
2 -------------------------------------------------
3
4
5 Noteworthy changes in version 1.1.92 (2004-02-20)
6 -------------------------------------------------
7
8  * Minor bug fixes.
9
10  * Included a limited implementation of RFC2268.
11
12  * Changed API of the gcry_ac_ functions.  Only a very few programs
13    should be affected by this.
14
15  * Interface changes relative to the 1.1.91 release:
16 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 GCRY_CIPHER_RFC2268_40          NEW.
18 gcry_ac_data_set                CHANGED: New argument FLAGS.
19 gcry_ac_data_get_name           CHANGED: New argument FLAGS.
20 gcry_ac_data_get_index          CHANGED: New argument FLAGS.
21 cry_ac_key_pair_generate        CHANGED: New and reordered arguments.
22 gcry_ac_key_test                CHANGED: New argument HANDLE.
23 gcry_ac_key_get_nbits           CHANGED: New argument HANDLE.
24 gcry_ac_key_get_grip            CHANGED: New argument HANDLE.
25 gcry_ac_data_search             REMOVED.
26 gcry_ac_data_add                REMOVED.
27 GCRY_AC_DATA_FLAG_NO_BLINDING   REMOVED.
28 GCRY_AC_FLAG_NO_BLINDING        NEW: Replaces above.
29
30
31 Noteworthy changes in version 1.1.91 (2003-12-19)
32 -------------------------------------------------
33
34  * Code cleanups and minor bug fixes.
35
36
37 Noteworthy changes in version 1.1.90 (2003-11-14)
38 -------------------------------------------------
39
40  * The use of the GCRY_WEAK_RANDOM level is now deprecated in favor of
41    the new gcry_create_nonce function.
42
43  * gcry_sexp_build now supports a "%b" format to include a memory buffer.
44
45  * Minor configuration fixes.
46  
47  * Interface changes relative to the 1.1.44 release:
48 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 gcry_create_nonce               NEW
50 gcry_sexp_build                 ENHANCED
51
52
53 Noteworthy changes in version 1.1.44 (2003-10-31)
54 -------------------------------------------------
55
56  * Bug fixes and more code cleanups.
57
58  * Enhanced the prime API.
59
60  * Interface changes relative to the 1.1.43 release:
61 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 gcry_prime_group_generator      NEW
63 gcry_prime_release_factors      NEW
64
65
66 Noteworthy changes in version 1.1.43 (2003-09-04)
67 -------------------------------------------------
68
69  * Bug fixes and internal code cleanups.
70
71  * Support for the Serpent cipher algorithm.
72
73  * Interface changes relative to the 1.1.42 release:
74 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 gcry_prime_generate             NEW
76 gcry_prime_check                NEW
77
78
79 Noteworthy changes in version 1.1.42 (2003-07-31)
80 -------------------------------------------------
81
82  * Major API cleanup.  Applications need to be converted to the new
83    API.  See README.apichanges for hints on how to do that.  Backward
84    compatibility is provided where it was possible without too much
85    effort and did not collide with the overall sanitization effort.
86    However, this is only for ease of transition.  NO DEPRECATED
87    FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND
88    WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE
89    LIBRARY. 
90
91  * If gcrypt.h is included in sources compiled by GCC 3.1 or later,
92    deprecated attributes will warn about use of obsolete functions and
93    type definitions.  You can suppress these warnings by passing
94    -Wno-deprecated-declarations to the gcc command.
95
96  * gcry_check_version must be called from now on to initialize the
97    library, it is not longer optional.
98
99  * Removed `libgcrypt errno' concept.
100
101  * Libgcrypt depends on libgpg-error, a library that provides error
102    codes and according functions for all GnuPG components.  Functions
103    that used to return error codes asa `int' have been changed to
104    return a code of type `gcry_error_t'.  All GCRYERR_* error symbols
105    have been removed, since they are now contained in libgpg-error
106    (GPG_ERR_*). All functions and types in libgpg-error have also been
107    wrapped in Libgcrypt. The new types are gcry_err_code_t and
108    gcry_err_source_t.  The new functions are gcry_err_code,
109    gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno,
110    gcry_err_make_from_errno, gcry_err_code_from_errno,
111    gcry_err_code_to_errno, gcry_strsource.
112
113  * New function gcry_mpi_dump to help in debugging. 
114
115  * Added alternative interface for asymmetric cryptography.
116
117  * CRC-32, CRC-32 a'la RFC 1510, CRC-24 a'la RFC 2440 are now
118    supported.
119
120  * SHA-256, SHA-384 and SHA-512 are now supported.
121
122  * 128 bit Twofish is now supported.
123
124  * The random module won't print the "not enough random bytes
125    available" anymore.  A new progress status is issued instead.
126
127  * CBC-MAC for block ciphers is now supported, by using a
128    GCRY_CIPHER_CBC_MAC cipher flag.
129
130  * CTR mode for block ciphers is now supported.
131
132  * The public RSA exponent can now be specified in key generation. 
133
134  * RSA blinding is now supported and is used automatically for RSA
135    decryption.  It can be explicitely disabled by using the
136    `no-blinding' symbol in the `flags' S-Expression or by using the
137    GCRY_AC_FLAG_DATA_NO_BLINDING flag when using the ac interface.
138
139  * gcry_sexp_canon_len does not use a `historically encoded' error
140    code anymore.
141
142
143  * Interface changes relative to the 1.1.12 release:
144 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145 GCRY_MPI                        DEPRECATED; Use: gcry_mpi_t
146 GcryMPI                         DEPRECATED; Use: gcry_mpi_t
147 GCRY_SEXP                       DEPRECATED; Use: gcry_sexp_t
148 GcrySexp                        DEPRECATED; Use: gcry_sexp_t
149 GCRY_CIPHER_HD                  DEPRECATED; Use: gcry_cipher_hd_t
150 GcryCipherHd                    DEPRECATED; Use: gcry_cipher_hd_t
151 GCRY_MD_HD                      DEPRECATED; Use: gcry_md_hd_t
152 GcryMDHd                        DEPRECATED; Use: gcry_md_hd_t
153 gcry_error_t                    NEW
154 gcry_err_code_t                 NEW
155 gcry_err_source_t               NEW
156 gcry_err_make                   NEW
157 gcry_error                      NEW
158 gcry_err_code                   NEW
159 gcry_err_source                 NEW
160 gcry_err_code_from_errno        NEW
161 gcry_err_code_to_errno          NEW
162 gcry_err_make_from_errno        NEW
163 gcry_error_from_errno           NEW
164 gcry_strsource                  NEW
165 GCRYERR_{some error code}       REMOVED; Use GPG_ERR_*
166                                          from libgpg-error instead.
167 gcry_errno                      REMOVED
168 gcry_sexp_canon_len             CHANGED
169 gcry_sexp_build_array           NEW
170 gcry_mpi_scan                   CHANGED: New argument to separate in/out args.
171 gcry_mpi_print                  CHANGED: Ditto.
172 gcry_mpi_dump                   NEW
173 gcry_cipher_open                CHANGED
174 gcry_cipher_reset               NEW
175 gcry_cipher_register            NEW
176 gcry_cipher_unregister          NEW
177 gcry_cipher_list                NEW
178 gcry_cipher_algo_keylen         REPLACED macro with function.
179 gcry_cipher_algo_blklen         REPLACED macro with function.
180 gcry_pk_register                NEW
181 gcry_pk_unregister              NEW
182 gcry_pk_list                    NEW
183 gcry_pk_decrypt                 ENHANCED: Allows flag to return
184                                           complete S-expression.
185 gcry_md_open                    CHANGED
186 gcry_md_copy                    CHANGED
187 gcry_md_is_enabled              NEW
188 gcry_md_is_secure               NEW
189 gcry_md_register                NEW
190 gcry_md_unregister              NEW
191 gcry_md_list                    NEW
192 gcry_ac_data_t                  NEW
193 gcry_ac_key_t                   NEW
194 gcry_ac_key_pair_t              NEW
195 gcry_ac_handle_t                NEW
196 gcry_ac_key_spec_rsa_t          NEW
197 gcry_ac_data_new                NEW
198 gcry_ac_data_destroy            NEW
199 gcry_ac_data_set                NEW
200 gcry_ac_data_copy               NEW
201 gcry_ac_data_length             NEW
202 gcry_ac_data_get_name           NEW
203 gcry_ac_data_get_index          NEW
204 gcry_ac_data_clear              NEW
205 gcry_ac_open                    NEW
206 gcry_ac_close                   NEW
207 gcry_ac_key_init                NEW
208 gcry_ac_key_pair_generate       NEW
209 gcry_ac_key_pair_extract        NEW
210 gcry_ac_key_data_get            NEW
211 gcry_ac_key_test                NEW
212 gcry_ac_key_get_nbits           NEW
213 gcry_ac_key_get_grip            NEW
214 gcry_ac_key_destroy             NEW
215 gcry_ac_key_pair_destroy        NEW
216 gcry_ac_data_encrypt            NEW
217 gcry_ac_data_decrypt            NEW
218 gcry_ac_data_sign               NEW
219 gcry_ac_data_verify             NEW
220 gcry_ac_id_to_name              NEW
221 gcry_ac_name_to_id              NEW
222 gcry_handler_progress_t         NEW
223 gcry_handler_alloc_t            NEW
224 gcry_handler_secure_check_t     NEW
225 gcry_handle_realloc_t           NEW
226 gcry_handler_free_t             NEW
227 gcry_handler_no_mem_t           NEW
228 gcry_handler_error_t            NEW
229 gcry_handler_log_t              NEW
230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231
232 Noteworthy changes in version 1.1.12 (2003-01-20)
233 -------------------------------------------------
234
235  * gcry_pk_sign, gcry_pk_verify and gcry_pk_encrypt can now handle an
236    optional pkcs1 flags parameter in the S-expression.  A similar flag
237    may be passed to gcry_pk_decrypt but it is only syntactically
238    implemented.
239
240  * New convenience macro gcry_md_get_asnoid.
241
242  * There is now some real stuff in the manual.
243
244
245 Noteworthy changes in version 1.1.11 (2002-12-21)
246 -------------------------------------------------
247
248  * Don't export internal symbols anymore (currently only for GNU systems)
249
250  * New algorithm: MD4
251
252  * Implemented ciphertext stealing.
253
254  * Smaller bugs fixes and a few new OIDs.
255
256  * Interface changes relative to the 1.1.8 release:
257 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
258 gcry_cipher_cts                   NEW
259 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
260
261
262 Noteworthy changes in version 1.1.10 (2002-09-20)
263 -------------------------------------------------
264
265  * Fixed shared library builds for i386, PPC and Sparc.
266
267  * Added simple benchmark tool.
268
269  * Replaced the internal mutexes by code which automatically adapts to
270    the used threading library.  Currently Pth and Pthread are
271    supported.  For non-ELF systems the GNU toolchain is now required..
272
273  * Added untested support to build Windows DLLs.
274
275 Noteworthy changes in version 1.1.9 (2002-08-23)
276 ------------------------------------------------
277
278  * Support for plain old DES.
279
280
281 Noteworthy changes in version 1.1.8 (2002-06-25)
282 ------------------------------------------------
283
284  * Minor cleanups and exported a few new functions.
285
286  * Interface changes relative to the 1.1.7 release:
287 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
288 gcry_mpi_div                      NEW
289 gcry_mpi_mod                      NEW
290 gcry_mpi_invm                     NEW
291 gcry_mpi_swap                     NEW
292 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
293
294 Noteworthy changes in version 1.1.7 (2002-05-21)
295 ------------------------------------------------
296
297 * Libgcrypt is now distributed under the terms of the GNU Lesser
298   General Public License; see the README file for details.    
299   
300 * It is possible to use libgcrypt w/o intialized secure memory.
301
302 * Libgcrypt should now be thread safe after the initialization.
303   gcry_control (GCRYCRL_INITIALIZATION_FINISHED,NULL,0) should have
304   been called before creating additional threads.
305
306  * Interface changes relative to the 1.1.6 release:
307 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308 GCRYCTL_DISABLE_INTERNAL_LOCKING  NEW
309 GCRYCTL_DISABLE_SECMEM            NEW
310 GCRYCTL_INITIALIZATION_FINISHED   NEW
311 GCRYCTL_INITIALIZATION_FINISHED_P NEW
312 GCRYCTL_ANY_INITIALIZATION_P      NEW
313 gcry_strdup                       NEW
314 gcry_sexp_create                  NEW
315 gcry_sexp_new                     NEW
316 gcry_set_progress_handler         NEW
317 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
318
319 Noteworthy changes in version 1.1.6 (2002-02-07)
320 ------------------------------------------------
321
322   * Enhanced the S-expression conversion functions.
323         
324 Noteworthy changes in version 1.1.5 (2001-12-18)
325 ------------------------------------------------
326
327   * gcry_{cipher,md}_map_name are now able to map stringified object IDs.
328
329   * New functions gcry_sexp_canon_len and gcry_cipher_mode_from_oid.
330
331   * Closed some memory leaks.
332
333
334 Noteworthy changes in version 1.1.4 (2001-08-03)
335 ------------------------------------------------
336
337   * Arcfour does now work.                   
338
339   * Some minor fixes.
340
341   * Added a first test program
342
343   * Migrated to autoconf 2.52.
344
345
346 Noteworthy changes in version 1.1.3 (2001-05-31)
347 ------------------------------------------------
348
349   * First release of Libgcrypt which is a result of splitting GnuPG
350     into into libgcrypt and GnuPG.
351
352
353 Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
354
355 This file is free software; as a special exception the author gives
356 unlimited permission to copy and/or distribute it, with or without
357 modifications, as long as this notice is preserved.
358
359 This file is distributed in the hope that it will be useful, but
360 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
361 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.