Add ChaCha20 stream cipher
[libgcrypt.git] / doc / announce-1.4.txt
1 To: gnupg-announce@gnupg.org, info-gnu@gnu.org
2 Cc: gcrypt-devel@gnupg.org
3
4
5 Hello! 
6
7 We are pleased to announce the availability of Libgcrypt 1.4.0.  This
8 is the new stable version of Libgcrypt and upward compatible with the
9 1.2 series.
10
11 The 1.2 series will enter end of life state in 2 years on 2009-12-31.
12
13 Libgcrypt is a general purpose library of cryptographic building
14 blocks.  It is originally based on code used by GnuPG.  It does not
15 provide any implementation of OpenPGP or other protocols.  Thorough
16 understanding of applied cryptography is required to use Libgcrypt.
17
18
19 Noteworthy changes between 1.2.x and 1.4.0 are:
20
21  * Support for SHA-224 and HMAC using SHA-384 and SHA-512.
22
23  * Support for the SEED cipher.
24
25  * Support for the Camellia cipher. 
26
27  * Support for OFB encryption mode.
28
29  * Support for DSA2.
30
31  * Support for Microsoft Windows.
32
33  * The entire library is now under the LGPLv2+. The helper programs
34    and the manual are under the GPLv2+.  Kudos to Peter Gutmann for
35    giving permissions to relicense the rndw32 and rndunix modules.
36
37  * The visibility attribute is now used if supported by the toolchain.
38
39  * The ACE engine of VIA processors is now used for AES-128.
40
41  * Changed the way the RNG gets initialized.  This allows to keep it
42    uninitialized as long as no random numbers are used.
43
44  * Updated the entropy gatherer for W32.
45
46  * Made the RNG immune against fork without exec.
47
48  * Reading and writing the random seed file is now protected by a
49    fcntl style file lock on systems that provide this function.
50
51  * gcry_mpi_rshift does not anymore truncate the shift count.
52
53  * Reserved algorithm ranges for use by applications.
54
55  * The new function gcry_md_debug should be used instead of the
56    gcry_md_start_debug and gcry_md_stop_debug macros.
57
58  * Non executable stack support is now used by default on systems
59    supporting it.
60
61  * Assembler support for the AMD64 architecture.
62
63  * New configure option --enable-mpi-path for optimized builds.
64
65  * Fixed a bug in the detection of symbol prefixes which inhibited the
66    build of optimized assembler code on certain systems.
67
68  * New control code GCRYCTL_PRINT_CONFIG to print the build
69    configuration.
70
71  * Experimental support for ECDSA; should only be used for testing.
72
73  * New configure option --enable-random-daemon to support a system
74    wide random daemon.  The daemon code is experimental and not yet
75    very well working.  It will eventually allow to keep a global
76    random pool for the sake of short living processes.
77
78  * Minor changes to some function declarations.  Buffer arguments are
79    now typed as void pointer.  This should not affect any compilation.
80    Fixed two bugs in return values and clarified documentation.
81
82  * Interface changes relative to the 1.2.0 release:
83    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84    gcry_fast_random_pol       NEW.
85    gcry_md_debug              NEW.
86    gcry_sexp_nth_string       NEW.
87    GCRY_MD_SHA224             NEW.
88    GCRY_PK_USAGE_CERT         NEW.
89    GCRY_PK_USAGE_AUTH         NEW.
90    GCRY_PK_USAGE_UNKN         NEW.
91    GCRY_PK_ECDSA              NEW.
92    GCRY_CIPHER_SEED           NEW.
93    GCRY_CIPHER_CAMELLIA128    NEW.
94    GCRY_CIPHER_CAMELLIA192    NEW.
95    GCRY_CIPHER_CAMELLIA256    NEW.
96    GCRYCTL_FAKED_RANDOM_P     NEW. 
97    GCRYCTL_PRINT_CONFIG       NEW.
98    GCRYCTL_SET_RNDEGD_SOCKET  NEW.
99    gcry_mpi_scan           CHANGED: Argument BUFFER is now void*.
100    gcry_pk_algo_name       CHANGED: Returns "?" instead of NULL.
101    gcry_cipher_algo_name   CHANGED: Returns "?" instead of "".
102    gcry_pk_spec_t          CHANGED: Element ALIASES is now const ptr.
103    gcry_md_write_t         CHANGED: Argument BUF is now a const void*.
104    gcry_md_ctl             CHANGED: Argument BUFFER is now void*.
105    gcry_cipher_encrypt     CHANGED: Arguments IN and OUT are now void*.
106    gcry_cipher_decrypt     CHANGED: Arguments IN and OUT are now void*.
107    gcry_sexp_sprint        CHANGED: Argument BUFFER is now void*.
108    gcry_create_nonce       CHANGED: Argument BUFFER is now void*.
109    gcry_randomize          CHANGED: Argument BUFFER is now void*.
110    gcry_cipher_register    CHANGED: Argument ALGORITHM_ID is now int*.
111    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
112   
113
114 Source code is hosted at the GnuPG FTP server and its mirrors as
115 listed at http://www.gnupg.org/download/mirrors.html .  On the primary
116 server the source file and its digital signatures is:
117
118  ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.bz2 (942k)
119  ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.bz2.sig
120
121 This file is bzip2 compressed.  A gzip compressed version is also
122 available:
123
124  ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.gz (1176k)
125  ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.0.tar.gz.sig
126
127 The SHA-1 checksums are:
128
129 cd1b52e8ecfa361737c6f130ed2f1d850e312c16  libgcrypt-1.4.0.tar.bz2
130 69183b7100b60da8eb1648f49836a611454541bb  libgcrypt-1.4.0.tar.gz
131
132 For help on developing with Libgcrypt you should read the included
133 manual and optional ask on the gcrypt-devel mailing list [1].
134
135 Improving Libgcrypt is costly, but you can help!  We are looking for
136 organizations that find Libgcrypt useful and wish to contribute back.
137 You can contribute by reporting bugs, improve the software [2], or by
138 donating money.
139
140 Commercial support contracts for Libgcrypt are available [3], and they
141 help finance continued maintenance.  g10 Code GmbH, a Duesseldorf
142 based company, is currently funding Libgcrypt development.  We are
143 always looking for interesting development projects.
144
145 Many thanks to all who contributed to Libgcrypt development, be it bug
146 fixes, code, documentation, testing or helping users.
147
148 Happy hacking,
149
150   Werner
151
152
153 [1] See http://www.gnupg.org/documentation/mailing-lists.html .
154 [2] Note that copyright assignments to the FSF are required.
155 [3] See the service directory at http://www.gnupg.org/service.html .