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