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