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