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