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