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