Cleaned up the cipher encrypy/decrypt constraints checks.
[libgcrypt.git] / NEWS
1 Noteworthy changes in version 1.5.x (unreleased)
2 ------------------------------------------------
3
4  * New cipher algorithm mode for AES-WRAP.
5
6  * Fix minor memory leak in DSA key generation.
7
8  * No switch into FIPS mode if /proc/version is not readable.
9
10  * Fix sigill during Padlock detection on old CPUs.
11
12  * Fix a hang on some W2000 machines.
13
14  * Interface changes relative to the 1.4.2 release:
15  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16  GCRY_CIPHER_MODE_AESWRAP   NEW.
17
18
19 Noteworthy changes in version 1.4.4 (2009-01-22)
20 ------------------------------------------------
21
22  * Publish GCRY_MODULE_ID_USER and GCRY_MODULE_ID_USER_LAST constants.
23    This functionality has been in Libgcrypt since 1.3.0. 
24
25  * MD5 may now be used in non-enforced fips mode.
26
27  * Fixed HMAC for SHA-384 and SHA-512 with keys longer than 64 bytes.
28
29  * In fips mode, RSA keys are now generated using the X9.31 algorithm
30    and DSA keys using the FIPS 186-2 algorithm.
31
32  * The transient-key flag is now also supported for DSA key
33    generation.  DSA domain parameters may be given as well.
34
35
36 Noteworthy changes in version 1.4.3 (2008-09-18)
37 ------------------------------------------------
38
39  * Try to auto-initialize Libgcrypt to minimize the effect of
40    applications not doing that correctly.  This is not a perfect
41    solution but given that many applicationion would totally fail
42    without such a hack, we try to help at least with the most common
43    cases.  Folks, please read the manual to learn how to properly
44    initialize Libgcrypt!
45
46  * Auto-initialize the secure memory to 32k instead of aborting the
47    process.
48
49  * Log fatal errors via syslog.
50
51  * Changed the name and the semantics of the fips mode config file.
52
53  * Add convenience macro gcry_fips_mode_active.
54
55  * More self-tests.
56
57  * Documentation cleanups.
58
59
60 Noteworthy changes in version 1.4.2 (2008-09-08)
61 ------------------------------------------------
62
63  * The long missing gcry_mpi_lshift function has been added.
64
65  * RSA key generation now supports a "transient-key" flag.
66
67  * The keygrip computation for ECDSA has been implemented thus ECDSA
68    is now fully supported.
69
70  * A few macros have been replaced by functions for better type
71    checking.
72
73  * The thread initialization structure now carries version
74    information.
75
76  * The manual describes more clearly how to initialize Libgcrypt.
77
78  * The library may now be switched into a FIPS mode.
79
80  * Interface changes relative to the 1.3.0 release:
81  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82  GCRYCTL_OPERATIONAL_P   NEW.
83  GCRYCTL_FIPS_MODE_P     NEW.
84  GCRYCTL_FORCE_FIPS_MODE NEW.
85  gcry_cipher_setkey      NEW: Replaces macro.
86  gcry_cipher_setiv       NEW: Replaces macro.
87  gcry_cipher_setctr      NEW: Replaces macro.
88  gcry_mpi_lshift         NEW.
89  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90
91
92 Noteworthy changes in version 1.4.1 (2008-04-25)
93 ------------------------------------------------
94
95  * Fixed a bug introduced by 1.3.1 which led to the comsumption of far
96    too much entropy for the intial seeding.
97
98  * Improved AES performance for CFB and CBC modes.
99
100  * Removed build problems for the Padlock support.
101
102
103 Noteworthy changes in version 1.4.0 (2007-12-10)
104 ------------------------------------------------
105
106  * New configure option --disable-padlock-support which is mostly
107    useful in case of build problems.
108
109
110 Noteworthy changes in version 1.3.2 (2007-12-03)
111 ------------------------------------------------
112
113  * The visibility attribute is now used if supported by the toolchain.
114
115  * The ACE engine of VIA processors is now used for AES-128.
116
117  * The ASN.1 DER template for SHA-224 has been fixed.
118
119
120 Noteworthy changes in version 1.3.1 (2007-10-26)
121 ------------------------------------------------
122
123  * The entire library is now under the LGPL. The helper programs and
124    the manual are under the GPL.  Kudos to Peter Gutmann for giving
125    permissions to relicense the rndw32 and rndunix modules.
126
127  * The Camellia cipher is now under the LGPL and included by default.
128
129  * Fixed a bug in the detection of symbol prefixes which inhibited the
130    build of optimzied assembler code on certain systems.
131
132  * Updated the entropy gatherer for W32.
133
134
135 Noteworthy changes in version 1.3.0 (2007-05-04)
136 ------------------------------------------------
137
138  * Changed the way the RNG gets initialized. This allows to keep it
139    uninitialized as long as no random numbers are used.  To override
140    this, the new macro gcry_fast_random_poll may be used.  It is in
141    general a good idea to spread this macro into the application code
142    to make sure that these polls happen often enough.
143
144  * Made the RNG immune against fork without exec.
145
146  * Reading and writing the random seed file is now protected by a
147    fcntl style file lock on systems that provide this function.
148
149  * Support for SHA-224 and HMAC using SHA-384 and SHA-512.
150
151  * Support for the SEED cipher.
152
153  * Support for the Camellia cipher.  Note that Camellia is disabled by
154    default, and that enabling it changes the license of libgcrypt from
155    LGPL to GPL.
156
157  * Support for OFB encryption mode.
158
159  * gcry_mpi_rshift does not anymore truncate the shift count.
160
161  * Reserved algorithm ranges for use by applications.
162
163  * Support for DSA2.
164
165  * The new function gcry_md_debug should be used instead of the
166    gcry_md_start_debug and gcry_md_stop_debug macros.
167
168  * New configure option --enable-random-daemon to support a system
169    wide random daemon.  The daemon code is experimental and not yet
170    very well working.  It will eventually allow to keep a global
171    random pool for the sake of short living processes.
172
173  * Non executable stack support is now used by default on systems
174    supporting it.
175
176  * Support for Microsoft Windows.
177
178  * Assembler support for the AMD64 architecture.
179
180  * New configure option --enable-mpi-path for optimized builds.
181
182  * Experimental support for ECDSA; should only be used for testing.
183
184  * New control code GCRYCTL_PRINT_CONFIG to print the build
185    configuration.
186
187  * Minor changes to some function declarations.  Buffer arguments are
188    now typed as void pointer.  This should not affect any compilation.
189    Fixed two bugs in return values and clarified documentation.
190
191  * Interface changes relative to the 1.2.0 release:
192  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193  gcry_fast_random_poll   NEW
194  gcry_md_debug           NEW
195  gcry_sexp_nth_string    NEW
196  GCRY_MD_SHA224          NEW
197  GCRY_PK_USAGE_CERT      NEW
198  GCRY_PK_USAGE_AUTH      NEW
199  GCRY_PK_USAGE_UNKN      NEW
200  GCRY_PK_ECDSA           NEW
201  GCRY_CIPHER_SEED        NEW
202  GCRY_CIPHER_CAMELLIA128 NEW
203  GCRY_CIPHER_CAMELLIA192 NEW
204  GCRY_CIPHER_CAMELLIA256 NEW
205  GCRYCTL_FAKED_RANDOM_P  NEW 
206  GCRYCTL_PRINT_CONFIG    NEW
207  GCRYCTL_SET_RNDEGD_SOCKET  NEW.
208  gcry_mpi_scan           CHANGED: Argument BUFFER is now void*.
209  gcry_pk_algo_name       CHANGED: Returns "?" instead of NULL.
210  gcry_cipher_algo_name   CHANGED: Returns "?" instead of "".
211  gcry_pk_spec_t          CHANGED: Element ALIASES is now const ptr.
212  gcry_md_write_t         CHANGED: Argument BUF is now a const void*.
213  gcry_md_ctl             CHANGED: Argument BUFFER is now void*.
214  gcry_cipher_encrypt     CHANGED: Arguments IN and OUT are now void*.
215  gcry_cipher_decrypt     CHANGED: Arguments IN and OUT are now void*.
216  gcry_sexp_sprint        CHANGED: Argument BUFFER is now void*.
217  gcry_create_nonce       CHANGED: Argument BUFFER is now void*.
218  gcry_randomize          CHANGED: Argument BUFFER is now void*.
219  gcry_cipher_register    CHANGED: Argument ALGORITHM_ID is now int*.
220  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
221
222
223 Noteworthy changes in version 1.2.0 (2004-04-15)
224 ------------------------------------------------
225
226  * First stable release.
227
228
229 Noteworthy changes in version 1.1.94 (2004-03-29)
230 -------------------------------------------------
231
232  * The support for multi-threaded users goes into its third
233    incarnation.  We removed compile time support for thread libraries.
234    To support the thread library of your choice, you have to set up
235    callback handlers at initialization time.  New data structures, a
236    new control command, and default initializers are provided for this
237    purpose.
238
239  * Interface changes relative to the 1.1.93 release:
240 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
241 libgcrypt-config --thread       OBSOLETE
242 libgcrypt-pth.la                REMOVED
243 libgcrypt-pthread.la            REMOVED
244 GCRYCTL_SET_THREAD_CBS          NEW
245 struct gcrypt_thread_cbs        NEW
246 enum gcry_thread_option         NEW
247 GCRY_THREAD_OPTION_PTH_IMPL     NEW
248 GCRY_THREAD_OPTION_PTHREAD_IMPL NEW
249 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
250
251 Noteworthy changes in version 1.1.93 (2004-03-06)
252 -------------------------------------------------
253
254  * The automatic thread library detection has finally been removed.
255    From now on, only linking explicitely to libgcrypt, libgcrypt-pth
256    or libgcrypt-pthread is supported.
257
258 Noteworthy changes in version 1.1.92 (2004-02-20)
259 -------------------------------------------------
260
261  * Minor bug fixes.
262
263  * Included a limited implementation of RFC2268.
264
265  * Changed API of the gcry_ac_ functions.  Only a very few programs
266    should be affected by this.
267
268  * Interface changes relative to the 1.1.91 release:
269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270 GCRY_CIPHER_RFC2268_40          NEW.
271 gcry_ac_data_set                CHANGED: New argument FLAGS.
272 gcry_ac_data_get_name           CHANGED: New argument FLAGS.
273 gcry_ac_data_get_index          CHANGED: New argument FLAGS.
274 gcry_ac_key_pair_generate       CHANGED: New and reordered arguments.
275 gcry_ac_key_test                CHANGED: New argument HANDLE.
276 gcry_ac_key_get_nbits           CHANGED: New argument HANDLE.
277 gcry_ac_key_get_grip            CHANGED: New argument HANDLE.
278 gcry_ac_data_search             REMOVED.
279 gcry_ac_data_add                REMOVED.
280 GCRY_AC_DATA_FLAG_NO_BLINDING   REMOVED.
281 GCRY_AC_FLAG_NO_BLINDING        NEW: Replaces above.
282
283
284 Noteworthy changes in version 1.1.91 (2003-12-19)
285 -------------------------------------------------
286
287  * Code cleanups and minor bug fixes.
288
289
290 Noteworthy changes in version 1.1.90 (2003-11-14)
291 -------------------------------------------------
292
293  * The use of the GCRY_WEAK_RANDOM level is now deprecated in favor of
294    the new gcry_create_nonce function.
295
296  * gcry_sexp_build now supports a "%b" format to include a memory buffer.
297
298  * Minor configuration fixes.
299  
300  * Interface changes relative to the 1.1.44 release:
301 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
302 gcry_create_nonce               NEW
303 gcry_sexp_build                 ENHANCED
304
305
306 Noteworthy changes in version 1.1.44 (2003-10-31)
307 -------------------------------------------------
308
309  * Bug fixes and more code cleanups.
310
311  * Enhanced the prime API.
312
313  * Interface changes relative to the 1.1.43 release:
314 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
315 gcry_prime_group_generator      NEW
316 gcry_prime_release_factors      NEW
317
318
319 Noteworthy changes in version 1.1.43 (2003-09-04)
320 -------------------------------------------------
321
322  * Bug fixes and internal code cleanups.
323
324  * Support for the Serpent cipher algorithm.
325
326  * Interface changes relative to the 1.1.42 release:
327 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
328 gcry_prime_generate             NEW
329 gcry_prime_check                NEW
330
331
332 Noteworthy changes in version 1.1.42 (2003-07-31)
333 -------------------------------------------------
334
335  * Major API cleanup.  Applications need to be converted to the new
336    API.  See README.apichanges for hints on how to do that.  Backward
337    compatibility is provided where it was possible without too much
338    effort and did not collide with the overall sanitization effort.
339    However, this is only for ease of transition.  NO DEPRECATED
340    FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND
341    WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE
342    LIBRARY. 
343
344  * If gcrypt.h is included in sources compiled by GCC 3.1 or later,
345    deprecated attributes will warn about use of obsolete functions and
346    type definitions.  You can suppress these warnings by passing
347    -Wno-deprecated-declarations to the gcc command.
348
349  * gcry_check_version must be called from now on to initialize the
350    library, it is not longer optional.
351
352  * Removed `libgcrypt errno' concept.
353
354  * Libgcrypt depends on libgpg-error, a library that provides error
355    codes and according functions for all GnuPG components.  Functions
356    that used to return error codes asa `int' have been changed to
357    return a code of type `gcry_error_t'.  All GCRYERR_* error symbols
358    have been removed, since they are now contained in libgpg-error
359    (GPG_ERR_*). All functions and types in libgpg-error have also been
360    wrapped in Libgcrypt. The new types are gcry_err_code_t and
361    gcry_err_source_t.  The new functions are gcry_err_code,
362    gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno,
363    gcry_err_make_from_errno, gcry_err_code_from_errno,
364    gcry_err_code_to_errno, gcry_strsource.
365
366  * New function gcry_mpi_dump to help in debugging. 
367
368  * Added alternative interface for asymmetric cryptography.
369
370  * CRC-32, CRC-32 a'la RFC 1510, CRC-24 a'la RFC 2440 are now
371    supported.
372
373  * SHA-256, SHA-384 and SHA-512 are now supported.
374
375  * 128 bit Twofish is now supported.
376
377  * The random module won't print the "not enough random bytes
378    available" anymore.  A new progress status is issued instead.
379
380  * CBC-MAC for block ciphers is now supported, by using a
381    GCRY_CIPHER_CBC_MAC cipher flag.
382
383  * CTR mode for block ciphers is now supported.
384
385  * The public RSA exponent can now be specified in key generation. 
386
387  * RSA blinding is now supported and is used automatically for RSA
388    decryption.  It can be explicitely disabled by using the
389    `no-blinding' symbol in the `flags' S-Expression or by using the
390    GCRY_AC_FLAG_DATA_NO_BLINDING flag when using the ac interface.
391
392  * gcry_sexp_canon_len does not use a `historically encoded' error
393    code anymore.
394
395
396  * Interface changes relative to the 1.1.12 release:
397 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
398 GCRY_MPI                        DEPRECATED; Use: gcry_mpi_t
399 GcryMPI                         DEPRECATED; Use: gcry_mpi_t
400 GCRY_SEXP                       DEPRECATED; Use: gcry_sexp_t
401 GcrySexp                        DEPRECATED; Use: gcry_sexp_t
402 GCRY_CIPHER_HD                  DEPRECATED; Use: gcry_cipher_hd_t
403 GcryCipherHd                    DEPRECATED; Use: gcry_cipher_hd_t
404 GCRY_MD_HD                      DEPRECATED; Use: gcry_md_hd_t
405 GcryMDHd                        DEPRECATED; Use: gcry_md_hd_t
406 gcry_error_t                    NEW
407 gcry_err_code_t                 NEW
408 gcry_err_source_t               NEW
409 gcry_err_make                   NEW
410 gcry_error                      NEW
411 gcry_err_code                   NEW
412 gcry_err_source                 NEW
413 gcry_err_code_from_errno        NEW
414 gcry_err_code_to_errno          NEW
415 gcry_err_make_from_errno        NEW
416 gcry_error_from_errno           NEW
417 gcry_strsource                  NEW
418 GCRYERR_{some error code}       REMOVED; Use GPG_ERR_*
419                                          from libgpg-error instead.
420 gcry_errno                      REMOVED
421 gcry_sexp_canon_len             CHANGED
422 gcry_sexp_build_array           NEW
423 gcry_mpi_scan                   CHANGED: New argument to separate in/out args.
424 gcry_mpi_print                  CHANGED: Ditto.
425 gcry_mpi_dump                   NEW
426 gcry_cipher_open                CHANGED
427 gcry_cipher_reset               NEW
428 gcry_cipher_register            NEW
429 gcry_cipher_unregister          NEW
430 gcry_cipher_list                NEW
431 gcry_cipher_algo_keylen         REPLACED macro with function.
432 gcry_cipher_algo_blklen         REPLACED macro with function.
433 gcry_pk_register                NEW
434 gcry_pk_unregister              NEW
435 gcry_pk_list                    NEW
436 gcry_pk_decrypt                 ENHANCED: Allows flag to return
437                                           complete S-expression.
438 gcry_md_open                    CHANGED
439 gcry_md_copy                    CHANGED
440 gcry_md_is_enabled              NEW
441 gcry_md_is_secure               NEW
442 gcry_md_register                NEW
443 gcry_md_unregister              NEW
444 gcry_md_list                    NEW
445 gcry_ac_data_t                  NEW
446 gcry_ac_key_t                   NEW
447 gcry_ac_key_pair_t              NEW
448 gcry_ac_handle_t                NEW
449 gcry_ac_key_spec_rsa_t          NEW
450 gcry_ac_data_new                NEW
451 gcry_ac_data_destroy            NEW
452 gcry_ac_data_set                NEW
453 gcry_ac_data_copy               NEW
454 gcry_ac_data_length             NEW
455 gcry_ac_data_get_name           NEW
456 gcry_ac_data_get_index          NEW
457 gcry_ac_data_clear              NEW
458 gcry_ac_open                    NEW
459 gcry_ac_close                   NEW
460 gcry_ac_key_init                NEW
461 gcry_ac_key_pair_generate       NEW
462 gcry_ac_key_pair_extract        NEW
463 gcry_ac_key_data_get            NEW
464 gcry_ac_key_test                NEW
465 gcry_ac_key_get_nbits           NEW
466 gcry_ac_key_get_grip            NEW
467 gcry_ac_key_destroy             NEW
468 gcry_ac_key_pair_destroy        NEW
469 gcry_ac_data_encrypt            NEW
470 gcry_ac_data_decrypt            NEW
471 gcry_ac_data_sign               NEW
472 gcry_ac_data_verify             NEW
473 gcry_ac_id_to_name              NEW
474 gcry_ac_name_to_id              NEW
475 gcry_handler_progress_t         NEW
476 gcry_handler_alloc_t            NEW
477 gcry_handler_secure_check_t     NEW
478 gcry_handle_realloc_t           NEW
479 gcry_handler_free_t             NEW
480 gcry_handler_no_mem_t           NEW
481 gcry_handler_error_t            NEW
482 gcry_handler_log_t              NEW
483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
484
485 Noteworthy changes in version 1.1.12 (2003-01-20)
486 -------------------------------------------------
487
488  * gcry_pk_sign, gcry_pk_verify and gcry_pk_encrypt can now handle an
489    optional pkcs1 flags parameter in the S-expression.  A similar flag
490    may be passed to gcry_pk_decrypt but it is only syntactically
491    implemented.
492
493  * New convenience macro gcry_md_get_asnoid.
494
495  * There is now some real stuff in the manual.
496
497
498 Noteworthy changes in version 1.1.11 (2002-12-21)
499 -------------------------------------------------
500
501  * Don't export internal symbols anymore (currently only for GNU systems)
502
503  * New algorithm: MD4
504
505  * Implemented ciphertext stealing.
506
507  * Smaller bugs fixes and a few new OIDs.
508
509  * Interface changes relative to the 1.1.8 release:
510 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
511 gcry_cipher_cts                   NEW
512 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
513
514
515 Noteworthy changes in version 1.1.10 (2002-09-20)
516 -------------------------------------------------
517
518  * Fixed shared library builds for i386, PPC and Sparc.
519
520  * Added simple benchmark tool.
521
522  * Replaced the internal mutexes by code which automatically adapts to
523    the used threading library.  Currently Pth and Pthread are
524    supported.  For non-ELF systems the GNU toolchain is now required..
525
526  * Added untested support to build Windows DLLs.
527
528 Noteworthy changes in version 1.1.9 (2002-08-23)
529 ------------------------------------------------
530
531  * Support for plain old DES.
532
533
534 Noteworthy changes in version 1.1.8 (2002-06-25)
535 ------------------------------------------------
536
537  * Minor cleanups and exported a few new functions.
538
539  * Interface changes relative to the 1.1.7 release:
540 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
541 gcry_mpi_div                      NEW
542 gcry_mpi_mod                      NEW
543 gcry_mpi_invm                     NEW
544 gcry_mpi_swap                     NEW
545 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
546
547 Noteworthy changes in version 1.1.7 (2002-05-21)
548 ------------------------------------------------
549
550 * Libgcrypt is now distributed under the terms of the GNU Lesser
551   General Public License; see the README file for details.    
552   
553 * It is possible to use libgcrypt w/o intialized secure memory.
554
555 * Libgcrypt should now be thread safe after the initialization.
556   gcry_control (GCRYCRL_INITIALIZATION_FINISHED,NULL,0) should have
557   been called before creating additional threads.
558
559  * Interface changes relative to the 1.1.6 release:
560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
561 GCRYCTL_DISABLE_INTERNAL_LOCKING  NEW
562 GCRYCTL_DISABLE_SECMEM            NEW
563 GCRYCTL_INITIALIZATION_FINISHED   NEW
564 GCRYCTL_INITIALIZATION_FINISHED_P NEW
565 GCRYCTL_ANY_INITIALIZATION_P      NEW
566 gcry_strdup                       NEW
567 gcry_sexp_create                  NEW
568 gcry_sexp_new                     NEW
569 gcry_set_progress_handler         NEW
570 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
571
572 Noteworthy changes in version 1.1.6 (2002-02-07)
573 ------------------------------------------------
574
575   * Enhanced the S-expression conversion functions.
576         
577 Noteworthy changes in version 1.1.5 (2001-12-18)
578 ------------------------------------------------
579
580   * gcry_{cipher,md}_map_name are now able to map stringified object IDs.
581
582   * New functions gcry_sexp_canon_len and gcry_cipher_mode_from_oid.
583
584   * Closed some memory leaks.
585
586
587 Noteworthy changes in version 1.1.4 (2001-08-03)
588 ------------------------------------------------
589
590   * Arcfour does now work.                   
591
592   * Some minor fixes.
593
594   * Added a first test program
595
596   * Migrated to autoconf 2.52.
597
598
599 Noteworthy changes in version 1.1.3 (2001-05-31)
600 ------------------------------------------------
601
602   * First release of Libgcrypt which is a result of splitting GnuPG
603     into into libgcrypt and GnuPG.
604
605
606 Copyright 2001, 2002, 2003, 2004, 2007, 2008,
607           2009 Free Software Foundation, Inc.
608
609 This file is free software; as a special exception the author gives
610 unlimited permission to copy and/or distribute it, with or without
611 modifications, as long as this notice is preserved.
612
613 This file is distributed in the hope that it will be useful, but
614 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
615 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.