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