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