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