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