• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1TweetNaCl.js Changelog
2======================
3
4
5v0.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
17v0.14.4
18-------
19
20* Added TypeScript type definitions (contributed by @AndSDev).
21* Improved benchmarking code.
22
23
24v0.14.3
25-------
26
27Fixed a bug in the fast version of Poly1305 and brought it back.
28
29Thanks 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
36https://github.com/floodyberry/poly1305-donna/issues/2#issuecomment-202698577
37
38
39v0.14.2
40-------
41
42Switched Poly1305 fast version back to original (slow) version due to a bug.
43
44
45v0.14.1
46-------
47
48No code changes, just tweaked packaging and added COPYING.txt.
49
50
51v0.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
88v0.13.3
89-------
90
91No code changes.
92
93* Reverted license field in package.json to "Public domain".
94
95* Fixed typo in README.
96
97
98v0.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
109v0.13.1
110-------
111
112* Exclude `crypto` and `buffer` modules from browserify builds.
113
114
115v0.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
125v0.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
132v0.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
139v0.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
147v0.11.2
148-------
149
150* Added new constant: `nacl.sign.seedLength`.
151
152
153v0.11.1
154-------
155
156* Even faster hash for both short and long inputs (in `nacl-fast`).
157
158
159v0.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
172v0.10.1
173-------
174
175* Exported undocumented `nacl.lowlevel.crypto_core_hsalsa20`.
176
177
178v0.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
205v0.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
218v0.9.1
219------
220
221* Initial release
222