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