Initial commit
[yaffs-website] / node_modules / tweetnacl / CHANGELOG.md
1 TweetNaCl.js Changelog
2 ======================
3
4
5 v0.14.5
6 -------
7
8 * Fixed incomplete return types in TypeScript typings.
9 * Replaced COPYING.txt with LICENSE file, which now has public domain dedication
10   text from The Unlicense. License fields in package.json and bower.json have
11   been set to "Unlicense". The project was and will be in the public domain --
12   this change just makes it easier for automated tools to know about this fact by
13   using the widely recognized and SPDX-compatible template for public domain
14   dedication.
15
16
17 v0.14.4
18 -------
19
20 * Added TypeScript type definitions (contributed by @AndSDev).
21 * Improved benchmarking code.
22
23
24 v0.14.3
25 -------
26
27 Fixed a bug in the fast version of Poly1305 and brought it back.
28
29 Thanks to @floodyberry for promptly responding and fixing the original C code:
30
31 > "The issue was not properly detecting if st->h was >= 2^130 - 5, coupled with
32 > [testing mistake] not catching the failure. The chance of the bug affecting
33 > anything in the real world is essentially zero luckily, but it's good to have
34 > it fixed."
35
36 https://github.com/floodyberry/poly1305-donna/issues/2#issuecomment-202698577
37
38
39 v0.14.2
40 -------
41
42 Switched Poly1305 fast version back to original (slow) version due to a bug.
43
44
45 v0.14.1
46 -------
47
48 No code changes, just tweaked packaging and added COPYING.txt.
49
50
51 v0.14.0
52 -------
53
54 * **Breaking change!** All functions from `nacl.util` have been removed. These
55   functions are no longer available:
56
57       nacl.util.decodeUTF8
58       nacl.util.encodeUTF8
59       nacl.util.decodeBase64
60       nacl.util.encodeBase64
61
62   If want to continue using them, you can include
63   <https://github.com/dchest/tweetnacl-util-js> package:
64
65       <script src="nacl.min.js"></script>
66       <script src="nacl-util.min.js"></script>
67
68   or
69
70       var nacl = require('tweetnacl');
71       nacl.util = require('tweetnacl-util');
72
73   However it is recommended to use better packages that have wider
74   compatibility and better performance. Functions from `nacl.util` were never
75   intended to be robust solution for string conversion and were included for
76   convenience: cryptography library is not the right place for them.
77
78   Currently calling these functions will throw error pointing to
79   `tweetnacl-util-js` (in the next version this error message will be removed).
80
81 * Improved detection of available random number generators, making it possible
82   to use `nacl.randomBytes` and related functions in Web Workers without
83   changes.
84
85 * Changes to testing (see README).
86
87
88 v0.13.3
89 -------
90
91 No code changes.
92
93 * Reverted license field in package.json to "Public domain".
94
95 * Fixed typo in README.
96
97
98 v0.13.2
99 -------
100
101 * Fixed undefined variable bug in fast version of Poly1305. No worries, this
102   bug was *never* triggered.
103
104 * Specified CC0 public domain dedication.
105
106 * Updated development dependencies.
107
108
109 v0.13.1
110 -------
111
112 * Exclude `crypto` and `buffer` modules from browserify builds.
113
114
115 v0.13.0
116 -------
117
118 * Made `nacl-fast` the default version in NPM package. Now
119   `require("tweetnacl")` will use fast version; to get the original version,
120   use `require("tweetnacl/nacl.js")`.
121
122 * Cleanup temporary array after generating random bytes.
123
124
125 v0.12.2
126 -------
127
128 * Improved performance of curve operations, making `nacl.scalarMult`, `nacl.box`,
129   `nacl.sign` and related functions up to 3x faster in `nacl-fast` version.
130
131
132 v0.12.1
133 -------
134
135 * Significantly improved performance of Salsa20 (~1.5x faster) and
136   Poly1305 (~3.5x faster) in `nacl-fast` version.
137
138
139 v0.12.0
140 -------
141
142 * Instead of using the given secret key directly, TweetNaCl.js now copies it to
143   a new array in `nacl.box.keyPair.fromSecretKey` and
144   `nacl.sign.keyPair.fromSecretKey`.
145
146
147 v0.11.2
148 -------
149
150 * Added new constant: `nacl.sign.seedLength`.
151
152
153 v0.11.1
154 -------
155
156 * Even faster hash for both short and long inputs (in `nacl-fast`).
157
158
159 v0.11.0
160 -------
161
162 * Implement `nacl.sign.keyPair.fromSeed` to enable creation of sign key pairs
163   deterministically from a 32-byte seed. (It behaves like
164   [libsodium's](http://doc.libsodium.org/public-key_cryptography/public-key_signatures.html)
165   `crypto_sign_seed_keypair`: the seed becomes a secret part of the secret key.)
166
167 * Fast version now has an improved hash implementation that is 2x-5x faster.
168
169 * Fixed benchmarks, which may have produced incorrect measurements.
170
171
172 v0.10.1
173 -------
174
175 * Exported undocumented `nacl.lowlevel.crypto_core_hsalsa20`.
176
177
178 v0.10.0
179 -------
180
181 * **Signature API breaking change!** `nacl.sign` and `nacl.sign.open` now deal
182  with signed messages, and new `nacl.sign.detached` and
183  `nacl.sign.detached.verify` are available.
184  
185  Previously, `nacl.sign` returned a signature, and `nacl.sign.open` accepted a
186  message and "detached" signature. This was unlike NaCl's API, which dealt with
187  signed messages (concatenation of signature and message).
188  
189  The new API is:
190
191       nacl.sign(message, secretKey) -> signedMessage
192       nacl.sign.open(signedMessage, publicKey) -> message | null
193
194  Since detached signatures are common, two new API functions were introduced:
195  
196       nacl.sign.detached(message, secretKey) -> signature
197       nacl.sign.detached.verify(message, signature, publicKey) -> true | false
198
199  (Note that it's `verify`, not `open`, and it returns a boolean value, unlike
200  `open`, which returns an "unsigned" message.)
201
202 * NPM package now comes without `test` directory to keep it small.
203
204
205 v0.9.2
206 ------
207
208 * Improved documentation.
209 * Fast version: increased theoretical message size limit from 2^32-1 to 2^52
210   bytes in Poly1305 (and thus, secretbox and box). However this has no impact
211   in practice since JavaScript arrays or ArrayBuffers are limited to 32-bit
212   indexes, and most implementations won't allocate more than a gigabyte or so.
213   (Obviously, there are no tests for the correctness of implementation.) Also,
214   it's not recommended to use messages that large without splitting them into
215   smaller packets anyway.
216
217
218 v0.9.1
219 ------
220
221 * Initial release