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